Policies/Application Lifecycle

From KDE Community Wiki

KDE is a friendly community which hosts hundreds of projects. Any project which follows the KDE manifesto and KDE Vision is welcome to join us.

The term "application" is used here to mean any project hosted in KDE Git and includes programming libraries and development tools but not typically infrastructure tools or projects with other end product outputs.

source

Personal

Anyone can start a new project on KDE Invent (Gitlab). New project. See Personal Repositories.

If you're not already a KDE Developer you should start talking to us (we're friendly) on mailing lists and Matrix chat to get to know people working in similar areas to your project. Then you'll have people to back you up when you Get a Developer Account.

Playground

Playground is a project status (documented in repo-metadata) for projects starting development

Incubator

Projects which started life outside of KDE are welcome to join us if you feel our community makes a good fit through the KDE Incubator. A sponsor will guide you through the process and check your project complies with the needs of the KDE community

kdereview

Projects move into kdereview when they are ready to start making beta or stable releases. It allows for the KDE community to check over for minimum standards. If you have any translations notify the kde-i18n-doc mailing list to move the translations.

  • You can change the projectpath in repo-metadata by editing metadata.ymal for the project. See repo-metadata README or file a Sysadmin ticket asking for the move
  • See the Sanity Checklist for some of the elements people will review
  • E-mail kde-core-devel and other relevant mailing lists with details of your project and what the expected destination is for the repo
  • Make fixes to issues people bring up or provide explanation why they are not (yet) fixed
  • Wait at least two weeks in kdereview
  • After two months in kdereview the repo should be moved back to playground or moved to unmaintained

Releasing

Your project is now active and can make beta or stable releases. Find the best home for your project based on contents and release process wanted.

  • After two weeks set to kdereview you can edit projectpath in your project's metadata.yaml in repo-metadata. Change playground to kde. File a Sysadmin ticket if unsure.
  • These projects should depend only on stable released software or software known it will get a stable release before the project does. It may use unstable or unreleased software only as an optional build dependency.
  • Add your project to automated builds:
  • KDE Frameworks are programmer libraries
  • Plasma is a cross device work environment where trust is put on the users' capacity to best define her own workflow and preferences.
    • It is typically released 3 times a year
    • Projects released as part of Plasma must fit well together and be a useful part of the user's work experience.
    • They would not be useful to users of other desktops.
    • Version numbers and stable branches are made by release person
    • Ask on plasma-devel for consideration of inclusion
  • KDE Gear
    • Released 3 times a year en-masse
    • Includes a range of libraries, applications and developer tools
    • External version numbers (projects often have their own internal version numbering scheme) and stable branches are made by release person
    • Ask release-team for inclusion
  • Plasma Mobile Gear
    • Released every couple of months en-masse
    • Apps designed for Plasma Mobile environment
    • Ask #plasmamobile team for inclusion
  • Self Released - Many projects take care of their own release process
    • Also called Extragear
    • They can use whatever version number scheme they want and can release in their own timeframe
    • Use releaseme to make releases, see Releasing Software

Unmaintained

If a project is no longer useful you can move it to unmaintained. It can move here from any stage in the lifecycle.

Consider suggesting to KDE Gardening team to maintain it if there are still valid use cases.

You can move your project in repo-metadata, see repo-metadata README or file a Sysadmin ticket asking for the move

Projects can move back to playground if they are picked up for maintenance again.

Translations

All projects with user-visible strings must have translations.

Whenever moving projects between Git modules or when you make a new stable branch you must tell kde-i18n-doc mailing list to update the translation branches.

See i18n wiki pages.