Translate
Appearance
Text
This page always uses small font size
Width
AllKDE Frameworks/Getting Started
Translate to Picard
Translation of the wiki page KDE Frameworks/Getting Started from English (en).
This tool does not work without JavaScript. JavaScript is disabled, failed to work, or this browser is unsupported.
Translations:KDE Frameworks/Getting Started/Page display title/pcd
KDE Frameworks/Getting Started
You need translation rights to translate messages.Get permission
Loading...
Latest updatesAll changes
Suggestions
In other languages
Need more help?Ask for more information
Translations:KDE Frameworks/Getting Started/1/pcd
==Introduction==
You need translation rights to translate messages.Get permission
Loading...
Latest updatesAll changes
Suggestions
In other languages
Need more help?Ask for more information
There are many different ways to become [http://community.kde.org/Get_Involved involved in the KDE Community], starting with simply using our software. This guide is to help you get started on the technical side of developing the software itself.
{{Note|1=If you just want to use stable KDE Software for your everyday computing needs, then you do not usually need to build KDE Software for yourself. See [https://www.kde.org/download/ Getting KDE Software] for information about how to get hold of the software for your system.}}
It is important to note that the version of KDE Software that is provided by your distribution or downloaded via an installer is ''not'' the same as the version that is being worked on by software developers. If you are using KDE CoolApp 1.2, the developers are working on the "development" version, usually called "KDE CoolApp ''master''". This is the version that will become KDE CoolApp 1.3, or maybe 2.0. If you want to get involved in developing KDE Software, you will need to get hold of and build the development versions.
This guide will aim to show you how to build, run and help improve the development versions of KDE Software. We will primarily be looking at submitting a ''patch'' to change the software, but the information here is also useful if you want to [https://techbase.kde.org/Contribute/Bugsquad test whether a bug still exists in the software], for example.
If you just want to get started building the code then you can skip to the [[Special:myLanguage/KF5/Getting_Started/Build|build instructions]], but it is recommended you first understand the background material presented here.
If you are looking for help in using KDE Plasma or KDE Applications then please visit the [http://userbase.kde.org/ KDE UserBase].
Before you continue with this guide, it is a good idea to get on <abbr title="Internet Relay Chat">IRC</abbr>. This is a realtime text communication system, and the primary "casual" communication tool for KDE developers.
You will need a way to connect to the [http://freenode.net/ freenode IRC network]. We suggest [https://konversation.kde.org/ Konversation] (see the [https://docs.kde.org/trunk5/en/extragear-network/konversation/index.html handbook] for help in setting it up), although a convenient alternative if you want to get going quickly is freenode's [http://webchat.freenode.net/ online webchat]. You will need to choose a ''nick'' (the name you appear on the network as), [http://freenode.net/using_the_network.shtml connect to freenode] and join [irc://irc.kde.org/kde-devel #kde-devel].
The other main channel for communication is the KDE mailing lists. To start with, you should subscribe to [https://mail.kde.org/mailman/listinfo/kde-devel the kde-devel list] (you will need to subscribe before you can send emails to the list).
For more information about getting help, see the main [[Special:myLanguage/Development/Getting_Help|Getting Help]] page, and remember that applications often have their own IRC channels and mailing lists that can be better places to ask for help.
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.
KDE Software is a very large, diverse and complex code base and the KDE Community has developed many policies and processes to make the KDE Software development process manageable, which are documented [[Special:myLanguage/Policies|elsewhere in TechBase]]. As you become more involved in KDE Development, you will need to become familiar with them, as well as any policies specific to the projects you are contributing to, but for your first few patches you will not need to worry about most of them.
At this point, the main thing you need to read is the [https://www.kde.org/code-of-conduct/ KDE Community Code of Conduct], because this is the basis for interacting with the KDE Community in general. You will also need to be willing for your code to be licensed under the one of the licenses listed in the [[Special:myLanguage/Policies/Licensing_Policy|licensing policy]].
If you want to make changes to library code, especially the KDE Frameworks, reading the [[Special:myLanguage/Policies/Library_Code_Policy|library code policy]] can help you write code that will satisfy the requirements of those projects.
As mentioned above, there is a lot of KDE Software. You may already have a project in mind that you want to help with, in which case it is helpful to know where it fits in the overall structure of KDE Software. If you haven't chosen a specific project, knowing this structure will help you start your search for where to begin contributing.
KDE Software is divided into three main Products:
* [http://api.kde.org/frameworks-api/frameworks5-apidocs/ KDE Frameworks]
* [https://www.kde.org/workspaces/ KDE Plasma]
* [https://www.kde.org/applications/ KDE Applications]
The Frameworks are the libraries that underpin all the other KDE Software. Almost all KDE Software is built on [http://www.qt.io/ Qt], a C++ framework and GUI toolkit. The Frameworks provide additional functionality on top of Qt, and are used both within and outside KDE.
KDE Plasma is KDE's desktop environment. Applications built on top of Qt and KDE Frameworks will integrate well with KDE Plasma, but they will also integrate with other desktops. Plasma will also attempt to help other applications (such as GTK-based ones) integrate with it.
Most other KDE projects are applications that come under the KDE Applications umbrella. This contains several coherent groups, such as [https://edu.kde.org/applications/ KDE Education], [https://games.kde.org/ KDE Games], the [https://www.calligra.org/ Calligra Suite] and the [https://userbase.kde.org/Kontact Kontact Suite].
Each of these Products has its own release cycle. For example, a new version of the Frameworks is released every month. KDE also has other projects that are not part of the above Products. These can be divided into the following groups:
* Extragear contains stable software (often applications) that have their own release cycles, separate from the above major Products.
* Playground contains software that is not yet stable.
* Review projects are waiting to move into one of the three main Products, or from Playground to Extragear.
* Unmaintained projects are no longer worked on.
* Sysadmin and Website projects are used to help manage KDE infrastructure.
If you are generally familiar with getting and building open source software projects, you can follow a similar strategy for KDE Software: find the repository on [https://quickgit.kde.org/ KDE QuickGit], clone it and [[Special:myLanguage/Development/CMake#Building_a_project_with_CMake|build it like any other CMake project]]. However, KDE has a lot of interdependent projects, and you can end up spending a lot of time building the dependencies and dependencies-of-dependencies of the project you actually want to contribute to.
The approach we will present here is to use a tool that will manage building all the dependencies for you.
First, we recommend you read about [[Special:myLanguage/KF5/Getting_Started/Source_Code|how to access the KDE source code]]. The tool we will use to build the software will fetch the source code that it needs itself, so reading this is not strictly necessary, but it will give you an overview that will help you understand what the tool is doing, as well as potentially being useful later.
After that, you are ready to [[Special:myLanguage/KF5/Getting_Started/Build|build and install KDE Software]].
Relevant: [[Special:myLanguage/Development/Tools|Development Tools useful in developing KDE Software]].
Maybe link to:
* [[Special:myLanguage/Contribute|Contribute]]
* [[Special:myLanguage/Contribute/Bugsquad|Bugsquad]]
Loading messages...
0% translated, 0% reviewed
Retrieved from "https://techbase.kde.org/Special:Translate"