* A kde4 based translation client (lokalize) is being developed in kdesdk/.

+

* A kde4 based translation client ([http://userbase.kde.org/Lokalize Lokalize]) is being developed in kdesdk/.

* Krazy includes sanity checks/plurals checking for translation.

* Krazy includes sanity checks/plurals checking for translation.

| altTools=

| altTools=

Revision as of 10:11, 30 December 2008

This page is intended to be a summary of the tools and processes used by the KDE
project for Software Engineering tasks, i.e. everything around coding
work. This includes bugfixing, review, testing, documentation,
requirements etc.

The current tool used by KDE should be listed along with the extent of
its use, known alternatives, and advantages/disadvantages.

Development Tools

Source Control

Subversion 1.4 is currently used for source control management in KDE on
a server hosted in Frankfurt. A separate server is used for access to
the read-only mirror anonsvn.kde.org.

There is interest in migrating to a distributed source control
management tool, such as GIT. Discussion of this is taking place on the
kde-scm-interest
mailing list. It is likely git will be used along with a tool such as repo.

In general KDE does not have a formal patch review policy for individual
patches. Some patches do get reviewed prior to committing to svn by the
relevant mailing lists. This is the case for particularly large patches
or patches by new developers.

As an official policy kdereview is used to review new applications and
new classes for kdelibs prior to inclusion in KDE trunk. A drawback of
this system is that not all reviewers report that they have reviewed the
new content. It may make sense to have a checklist for reviewers to use,
eg,

All new classes documented [x]

Private classes and d-pointers used where appropriate [x]

Passes all krazy checks [ ]

No obvious security concerns [ ]

Designed well/maintainable [ ]

etc...

This was discussed to some extent here, but has not yet been refined into a techbase page.

Technical documentation

techbase.kde.org is a MediaWiki powered site used for collaborating on technical tasks such as tutorials, schedules, and project information. wiki.kde.org is a tiki-wiki site with the same function. Both are actively used. It might make sense to merge the two sites.

API documentation

API documentation

Current State

People

Doxygen is used to generate api documentation from documentation strings in code.

Bug tracking in KDE currently is managed using Bugzilla 3.0. Work was recently merged on a transition to Bugzilla 3.0 from Bugzilla 2.16. There is still cleanup work going on but most features of the previous Bugzilla installation already work.

There is interest in more build testing for KDE especially on non-linux platforms. Improvements include some standard ctest scripts that can be used to build and submit a dashboard result for kdelibs to CDash. This would be run on a cronjob for simplicity.

Builds are planned for the following platforms:

Windows

MacOS

FreeBSD 6 (gcc)

FreeBSD 7 (gcc)

Solaris (S10, S11) on SPARC and amd64

Unit testing

Unit testing

Current State

People

Unit tests may be written with the QTest framework. Tests can be run with the command 'make test'.

launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations. This is considered not to be useful as fly-by translators often do not follow guidelines or consistency rules when translating.

Legal And Support

KDE e.v. - Representative Legal Entity

KDE e.v. - Representative Legal Entity

Current State

People

KDE e.v is a registered non-profit organization that represents the KDE Project in legal and financial matters.

Resolving licencing issues.

Resolving licencing issues.

Current State

People

A Fiduicary Licence Agreement is available, which will allow KDE developers to optionally assign copyright of their contributions to KDE e.v. This would allow easier relicencing of contributors content in the event that KDE needs to move to another licence. It also allows the e.v. to more easily represent the work in the unlikely event of a court dispute involving KDE code.

KDE licencing policy allows commercial and non-commercial development and proprietry and non-proprietry development.

Projects/KDE_Relicensing Effort to relicence KDE code to use version 3 of GNU GPL and LGPL. This work is unfinished but not still being performed. Many contributors are no longer contactable.