Getting Started: Difference between revisions

    From KDE TechBase
    (Explain "Development and Release Model")
    (41 intermediate revisions by 14 users not shown)
    Line 1: Line 1:
    {{warning|These pages are currently being completely re-written to reflect the new KDE infrastructure and may not be in a consistent state.  Information and commands on some page may no longer be valid and should be used with care.}}
    <languages />
    <translate>


    {{Template:I18n/Language Navigation Bar|Getting_Started}}  
    <!--T:1-->
    {{Warning|These build instructions are outdated as of 2012. Please visit irc://chat.freenode.net/kde-devel for assistance building. Then please come back here to help update these files.}}


    == Introduction ==
    == Introduction == <!--T:3-->
    This section of KDE TechBase is designed to help get you started in participating in the technical side of the KDE community.  It will explain to you how KDE Software is structured and built.


    There are many other ways you can [[Contribute|Contribute to KDE]] both technical and non-technical without having to build your own copy of KDE Software.
    <!--T:4-->
    There are many different ways to become [http://community.kde.org/Getinvolved involved in the KDE Community], ranging all the way from a simply using our software through to being a core platform developer.


    There are several possible ways to build and install KDE software and the method you choose depends on what you want to do with the software once it is built.
    <!--T:6-->
    This section of KDE TechBase is designed to help get you started in participating in the technical side of the KDE community.  It will explain to you how KDE Software is structured and built, and how you can participate by building KDE for yourself.


    You may want to:
    == Using KDE Software == <!--T:8-->
    * Develop a standalone application using the KDE Platform
    * Develop one of the KDE Applications
    * Develop the KDE Workspace or the KDE Platform
    * Test the latest KDE Software or an earlier stable version


    In particular, for application development you may only need to build some parts of the KDE SC while relying on the KDE Development Platform stable packages from your distribution.
    <!--T:9-->
    If you just want to use stable KDE software for your everyday computing needs, then you do not need to build KDE Software for yourself.  You should instead use the software installer provided by your Linux distribution to install KDE package.


    The table below provides some guidance in making this decision, but before you start building please read the rest of the pages for more detailed information on Getting Started.
    <!--T:10-->
    The best place to learn how to do this is through your distributions normal support channels, although you may find some useful information on the following pages:
    * [http://www.kde.org/download/distributions.php Distributions shipping KDE]
    * [[Special:myLanguage/Getting_Started/Build/Distributions|Install KDE Software on Linux and BSD Distributions]]
    * [[Special:myLanguage/Projects/KDE_on_Windows/Installation|Install KDE Software on Windows]]
    * Mac OS X does not currently have an installer available for KDE Software, but you can simplify building it by using [http://community.kde.org/Mac#Installing_KDE_on_Mac_OSX MacPorts, Fink or Homebrew]


    <table border="1" width="100%" cellpadding="5">
    == Getting Help == <!--T:11-->
      <tr>
        <td width="75%">'''Usage'''</td>
        <td width="25%">'''Method'''</td>
      </tr>
      <tr>
        <td width="75%">Everyday use of the KDE Workspace or Applications</td>
        <td width="25%" style="background: #FFEFD3">'''Packaged Stable Release'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application outside of the KDE development infrastructure using the stable KDE Development Platform.</td>
        <td width="25%" style="background: #FFEFD3">'''Packaged Stable Release'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application outside of the KDE development infrastructure using features from the unstable KDE Development Platform.</td>
        <td width="25%" style="background: #FFFEE4">'''Snapshot Build'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application in the KDE SC using the stable KDE Development Platform.</td>
        <td width="25%" style="background: #D0ECEA">'''Stable Source Build'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application in the KDE SC using features in the unstable KDE Development Platform.</td>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
      </tr>
      <tr>
        <td width="75%">Developing the unstable KDE Development Platform.</td>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
      </tr>
    </table>


    <!--T:12-->
    If you are looking for help in using the KDE Workspace or KDE Applications then please visit the [http://userbase.kde.org/ KDE UserBase].
    <!--T:13-->
    If you have any questions or problems with building or developing KDE Software please feel free to [[Special:myLanguage/Development/Getting_Help|ask for help]].  However, be patient while waiting for a response, and try to work through the problem yourself, we aren't going to do it ''all'' for you.  Working your way through and understanding why something doesn't work is a good way to learn how to do things the right way.
    == Browsing the code == <!--T:28-->
    The KDE project is all free and open source. You can view its source code and make changes.


    <table border="1" width="100%" cellpadding="5">
    <!--T:29-->
      <tr>
    http://projects.kde.org hosts the source for many KDE-related initiatives, including [https://projects.kde.org/projects/kde KDE itself]. Choose a piece of KDE such as KDE Libraries, then click Repository to browse its source. [[Getting_Started/Sources]] explains the organization of KDE source code.
        <td width="25%">'''Method'''</td>
        <td width="75%">'''Description'''</td>
      </tr>
      <tr>
        <td width="25%" style="background: #FFEFD3">'''Stable Release Packages'''</td>
        <td width="75%">Install a stable release of KDE Software from packages using your distributions standard software installer. For developers also install the development packages as required.</td>
      </tr>
      <tr>
        <td width="25%" style="background: #FFEFD3">'''Unstable Packages'''</td>
        <td width="75%">Some distributions provide packaged unstable snapshots of KDE Software.</td>
      </tr>
      <tr>
        <td width="25%" style="background: #FFFEE4">'''Snapshot Build'''</td>
        <td width="75%">Build a snapshot of the source code as at a given time or release from a tarball download. These may be stable or unstable releases or nightly snapshots</td>
      </tr>
      <tr>
        <td width="25%" style="background: #D0ECEA">'''Stable Source Build'''</td>
        <td width="75%">Build a version of the source code for an official release directly from the source repository.</td>
      </tr>
      <tr>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
        <td width="75%">Build the current unstable development code directly from the source repository.</td>
      </tr>
    </table>


    == Getting Help ==
    <!--T:30-->
    If you are looking for help in using the KDE Workspace or KDE Applications then please visit the [http://userbase.kde.org/ KDE UserBase].  
    There are other utilities to browse the source code:
     
    <!--T:31-->
    * http://lxr.kde.org/search lets you search the code ''(may be out of date?)''
    * http://api.kde.org lets you browse API documentation generated from the code. You can search for class names, but not filenames.
     
    == Building and Running KDE Software From Source == <!--T:14-->
     
    <!--T:15-->
    There are several possible ways to build and install KDE software and the method you choose depends on what you want to do with the software.  In particular if you are only wanting to build and develop a single application you may not need to build the entire KDE Development Platform to do so.  You can read more about this on the [[Special:myLanguage/Getting_Started/Build/Methods|Build Methods page]].


    If you have any questions or problems with building or developing KDE Software please feel free to [[Development/Getting_Help|ask for help]].  However, be patient while waiting for a response, and try to work through the problem yourself, we aren't going to do it ''all'' for you.  Working your way through and understanding why something doesn't work is a good way to learn how to do things the right way.
    <!--T:33-->
    If you simply want to build one application, the simple tutorial [[Development/Tutorials/Building_An_Existing_Application|Building an Existing Application]] might be enough already.


    == Installing KDE Software for daily use ==
    <!--T:7-->
    {{Note|'''Quickstart:''' If you are impatient to get started without understanding what you are doing then you can skip straight to using a [[Special:myLanguage/Getting_Started/Build#Scripted_Builds|Build Script]], but it is strongly recommended you read this documentation first.}}


    If you just want to use stable KDE software for your everyday computing needs, then you do not need to build KDE Software for yourself. You should instead use the software installer provided by your Linux distribution or for your platform.  The best place to learn how to do this is through your distributions normal support channels, although you may find some useful information on the following pages:
    <!--T:32-->
    <!-- what about https://launchpad.net/project-neon that used to be linked here in 2010, does that still apply? - User:Skierpage -->


    * [[/Build/Distributions|Install KDE Software on Linux and BSD Distributions]]
    <!--T:16-->
    * [[Projects/KDE_on_Windows/Installation|Install KDE Software on Windows]]
    The following sections explain the steps you need to understand and give the instructions you need to follow to successfully build KDE Software from source:
    * Mac OS X does not currently have an installer available for KDE Software, but you can simplify building it by using [http://mac.kde.org/?id=build MacPorts or Fink]


    This is also a good choice if you wish to develop a KDE Application outside of the main KDE Software Compilation, as it is quicker to set up and a more stable API to target.  In this case you will need to ensure you install the required development packages for the KDE Development Platform.
    <!--T:17-->
    * [[Special:myLanguage/Getting_Started/Sources|How the KDE Source Code is structured]]
    * [[Special:myLanguage/Getting_Started/Build|How to Build and Install the software]]
    * [[Special:myLanguage/Getting_Started/Run/Nested_Session|How to Run a nested session of KDE]]
    * [[Special:myLanguage/Getting_Started/Run/Full_Session|How to Run a full session of KDE]]


    == Building and Running KDE Software From Source ==
    == Development Tools == <!--T:21-->
    There are a series of steps you need to understand and follow to successfully build KDE Software from source.  The following sections will take you through the process:
    * [[/Sources|Obtain the Source Code for the software]]
    * [[/Build|Build and Install the software]]
    * [[/Run|Run the software]]


    == Development Tools ==
    <!--T:22-->
    There are a number of [[Development/Tools|Development Tools]] that are either required or helpful when building KDE Software.  For these you will usually want to use the stable packages provided by your distribution.
    There are a number of [[Special:myLanguage/Development/Tools|Development Tools]] that are either required or helpful when building KDE Software.  For these you will usually want to use the stable packages provided by your distribution.


    <!--T:23-->
    You may want to use a graphical IDE for your development work:
    You may want to use a graphical IDE for your development work:
    * [[Special:myLanguage/Development/Tutorials/Using_Qt_Creator|Qt Creator]]
    * [http://www.kdevelop.org/ KDevelop 4]
    * [http://www.kdevelop.org/ KDevelop 4]
    * [[Development/Tools/Eclipse|Eclipse]]
    * [[Special:myLanguage/Development/Tools/Eclipse|Eclipse]]
    * [[/Using_an_IDE_with_KDE4|Using an IDE with KDE4]]
    * [[Special:myLanguage/Getting_Started/Using_an_IDE_with_KDE4|Using an IDE with KDE4]]


    == Contributing To KDE ==
    == Contributing To KDE == <!--T:24-->
     
    <!--T:25-->
    Once you have a copy of KDE built you can then start contributing back to KDE.  The pages below will help you find out how you can help make KDE even better.
    Once you have a copy of KDE built you can then start contributing back to KDE.  The pages below will help you find out how you can help make KDE even better.


    <!--T:26-->
    [[Image:Action_tool.svg|right|32px]]
    [[Image:Action_tool.svg|right|32px]]
    * [[Contribute|Contribute]]
    * [[Special:myLanguage/Contribute|Contribute]]
    * [[Contribute/Send_Patches|Send Patches]]
    * [[Special:myLanguage/Contribute/Send_Patches|Send Patches]]
    * [[Contribute/Bugsquad|Bugsquad]]
    * [[Special:myLanguage/Contribute/Bugsquad|Bugsquad]]
     
     
    == Development and Release Model == <!--T:18-->
     
    <!--T:19-->
    This is information for release schedules, justification of why KDE has chosen the tools and policies that it has, and so on.  It used to be very important since KDE releases were done as big coordinated simutaneous efforts.  This is all completely outdated since the policy changed with KDE Frameworks 5.  Now, various parts of KDE have their own release cadences, ranging from regular monthly releases for Frameworks, every 3- or 4-months for Plasma, to "it happens when it happens" for applications like Krita.
     
    TODO: completely rewrite everything here.
     
    <!--T:20-->
    * [[Special:myLanguage/Schedules/Release_Schedules_Guide|The KDE Release Schedule]]
    * [[Special:myLanguage/Development/Software_Engineering_Framework|The KDE Software Engineering Framework]]
    * [[Special:myLanguage/Policies|KDE Development Policies and Procedures to follow]]
    * [[Special:myLanguage/Policies/Application_Lifecycle|The development lifecycle for a new application]]


    <!--T:27-->
    [[Category:Build_KDE]]
    [[Category:Build_KDE]]
    </translate>

    Revision as of 17:05, 26 October 2015

    Warning
    These build instructions are outdated as of 2012. Please visit irc://chat.freenode.net/kde-devel for assistance building. Then please come back here to help update these files.


    Introduction

    There are many different ways to become involved in the KDE Community, ranging all the way from a simply using our software through to being a core platform developer.

    This section of KDE TechBase is designed to help get you started in participating in the technical side of the KDE community. It will explain to you how KDE Software is structured and built, and how you can participate by building KDE for yourself.

    Using KDE Software

    If you just want to use stable KDE software for your everyday computing needs, then you do not need to build KDE Software for yourself. You should instead use the software installer provided by your Linux distribution to install KDE package.

    The best place to learn how to do this is through your distributions normal support channels, although you may find some useful information on the following pages:

    Getting Help

    If you are looking for help in using the KDE Workspace or KDE Applications then please visit the KDE UserBase.

    If you have any questions or problems with building or developing KDE Software please feel free to ask for help. However, be patient while waiting for a response, and try to work through the problem yourself, we aren't going to do it all for you. Working your way through and understanding why something doesn't work is a good way to learn how to do things the right way.

    Browsing the code

    The KDE project is all free and open source. You can view its source code and make changes.

    http://projects.kde.org hosts the source for many KDE-related initiatives, including KDE itself. Choose a piece of KDE such as KDE Libraries, then click Repository to browse its source. Getting_Started/Sources explains the organization of KDE source code.

    There are other utilities to browse the source code:

    Building and Running KDE Software From Source

    There are several possible ways to build and install KDE software and the method you choose depends on what you want to do with the software. In particular if you are only wanting to build and develop a single application you may not need to build the entire KDE Development Platform to do so. You can read more about this on the Build Methods page.

    If you simply want to build one application, the simple tutorial Building an Existing Application might be enough already.

    Note
    Quickstart: If you are impatient to get started without understanding what you are doing then you can skip straight to using a Build Script, but it is strongly recommended you read this documentation first.


    The following sections explain the steps you need to understand and give the instructions you need to follow to successfully build KDE Software from source:

    Development Tools

    There are a number of Development Tools that are either required or helpful when building KDE Software. For these you will usually want to use the stable packages provided by your distribution.

    You may want to use a graphical IDE for your development work:

    Contributing To KDE

    Once you have a copy of KDE built you can then start contributing back to KDE. The pages below will help you find out how you can help make KDE even better.


    Development and Release Model

    This is information for release schedules, justification of why KDE has chosen the tools and policies that it has, and so on. It used to be very important since KDE releases were done as big coordinated simutaneous efforts. This is all completely outdated since the policy changed with KDE Frameworks 5. Now, various parts of KDE have their own release cadences, ranging from regular monthly releases for Frameworks, every 3- or 4-months for Plasma, to "it happens when it happens" for applications like Krita.

    TODO: completely rewrite everything here.