Source Repositories and Revision Control
KDE uses a central online repository to store our Source Code and to track changes made to the code. Currently, KDE is in the middle of migrating our main repository from Subversion (svn) to Git, so some software modules currently live in Git while others are still only available from Subversion. This means you will need to become familiar with both systems.
Obtaining The Source Code
There are three main ways of doing this:
- Directly access the KDE Source Repository using either Git or Subversion to copy the source code as it currently is with a full history of all changes. In Git this is know as Cloning the repository, in Subversion it is Checking-Out the code. This is most commonly done if you want to actively develop the code. The git repositories are available at projects.kde.org.
- Download a tarball snapshot of the Source Repository to bootstrap a Git clone or Subversion checkout. This is a good option if you have a slow or unreliable internet connection. See the Source Snapshots page for more details.
- Download a tarball snapshot of just the code as at a given time or release. This is most commonly done if you do not want to develop the code itself but just want to use it for a stable system installation, testing a release, or developing applications outside of the KDE SC.
Note that "Checkout" has a different meaning in Git than it does in Subversion.
KDE Software Modules
Within the KDE Source Repository the code is organized in Projects and Modules. There are also a number of high-level groupings of the Modules.
The Qt KDE module is a clone of the latest Qt release with patches made by KDE to fix specific issues before they are available in a Qt release.
The Qt KDE module is available from Git:
The KDE Support group is a set of tools and libraries that have been developed by KDE and that various KDE modules depend upon but are not themselves dependent on the KDE Development Platform. These libraries can thus be used by non-KDE applications without having to rely on KDE as well.
The KDE Support group is currently split between Git and SVN:
KDE Software Compilation
The KDE Software Compilation (aka KDE SC) is an informal term covering all the KDE Software which is released together on the regular KDE Release Cycle.
The KDE SC group is currently split between Git and SVN:
KDE Development Platform
The KDE Development Platform group is defined as those KDE Modules that are required to run a KDE Application, i.e. the core libraries and runtime dependencies.
The KDE Development Platform is available from Git:
KDE Base Applications
The KDE Base Applications group is defined as those basic applications that are required by the Workspace and other Applications, such as file management, terminal emulation and text editing.
The KDE Base Applications are available from Git:
The KDE Workspace group (aka Plasma) is defined as those KDE Modules that are needed to run a workspace, such as the Desktop or Netbook. This group is not needed to run a KDE Application under another workspace such as Gnome or Windows.
The KDE Applications group is defined as those KDE modules built on the KDE Development Platform that are hosted by the KDE infrastructure and are released as part of the regular KDE Release Cycle, i.e. they are part of the KDE SC.
The KDE Applications group is currently split between Git and SVN:
- KDE Accessibility (kdeaccessibility)
- KDE Admin (kdeadmin)
- KDE Artwork (kdeartwork)
- KDE Bindings (kdebindings)
- KDE Examples (kdeexamples)
- KDE Education (kdeedu)
- KDE Games (kdegames)
- KDE Graphics (kdegraphics)
- KDE Multimedia (kdemultimedia)
- KDE Network (kdenetwork)
- Plasma Addons (kdeplasma-addons)
- KDE PIM / Kontact
- KDE SDK (kdesdk)
- KDE Toys (kdetoys)
- KDE Utilities (kdeutils)
- KDE Web Development (kdewebdev)
The KDE Extragear group is defined as those applications built on the KDE Development Platform that are hosted by the KDE infrastructure and have a stable release but are not part of a KDE Module and are not released as part of the regular KDE Release Cycle, i.e. they are not part of the KDE SC.
The KDE Extragear group is currently split between Git and SVN:
The KDE Playground group is defined as those applications built on the KDE Development Platform that are hosted by the KDE infrastructure but have not yet had a stable release and may never be released.
The KDE Playground group is currently split between Git and SVN:
The KDE Review group is defined as those applications that are being reviewed for inclusion in a KDE Module or KDE Extragear, usually moving over from KDE Playground.
The KDE Review group is available from Git:
KDE Websites (websites/www)
KOffice (koffice) git, stable in svn