Policies

From KDE TechBase
Revision as of 13:52, 8 September 2006 by Danimo (talk | contribs) (Establishing policy page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

There are a couple of written and unwritten rules KDE developers ususally adhere to. The following documents summarize some of these policies. The list is still incomplete. If you are interested in helping out with formulating the KDE policies or would like to discuss them please use the kde-policies mailing list which was created for this purpose.

Policies for Developers

These policies apply to KDE developers and it is expected that all persons with a KDE SVN account follow these policies. The SVN commit policy is the most important one. Persons working on libraries (kdelibs mostly, but central libraries in other SVN modules fall under this as well) should read the library documentation policy (and the apidox howto as well).

  • SVN Commit Policy
    Rules for commits to the KDE SVN repository. The three golden rules (make sure it compiles, follow existing coding style, use descriptive log messages) and 18 more rules to follow to make sure that your SVN commits are the best they can be.
  • Licensing Policy
    Files in KDE SVN cannot be arbitrarily licensed. This policy explains what licenses are allowed where in the repository. In short: use LGPL for libraries, GPL or BSD for everything else.

Libraries for (re)use should be completely documented. This policy explains why they should be documented as well as how to document things, and what style to follow. The apidox howto contains more technical information on writing documentaton for libraries.

  • Library Code Policy
    KDE Library API and Code should follow some conventions that are explained in this policy
  • URI & XML Namespaces Policy
    Sometimes KDE technologies and applications needs URIs, such as for XML formats. This policy describes practices for that, and how to allocate URIs.

Procedures

Whereas policies are normative for individual developers -- that is, they describe how developers must behave -- procedures describe how 'the KDE project' as a whole has chosen to behave. We describe what we will do under certain circumstances and why.

  • Packaging Policy
    This describes KDE's viewpoint on binary packages and elaborates the statement 'KDE provides source.'