This tool was chosen as the buildsystem for the KDE4 series, and there

+

This tool was chosen as the buildsystem for the KDE SC 4 series, and there

are no plans currently to migrate away from it.

are no plans currently to migrate away from it.

−

{{SEFBox

{{SEFBox

| name=Identifier search

| name=Identifier search

| currentState=

| currentState=

−

http://lxr.kde.org

+

http://lxr.kde.org

| people=

| people=

The kde sysadmin team:

The kde sysadmin team:

−

* [http://wire.dattitu.de/authors/2-Dirk Dirk Muller]

+

* [http://wire.dattitu.de/authors/2-Dirk Dirk Müller]

* [http://www.kdab.net/~dfaure/ David Faure]

* [http://www.kdab.net/~dfaure/ David Faure]

}}

}}

[http://en.wikipedia.org/wiki/LXR_Cross_Referencer LXR] indexes classes and methods used in KDE. This can be useful for finding examples of how to use a class, and finding all uses of a class while refactoring or updating API.

[http://en.wikipedia.org/wiki/LXR_Cross_Referencer LXR] indexes classes and methods used in KDE. This can be useful for finding examples of how to use a class, and finding all uses of a class while refactoring or updating API.

* SVN <tt>BUG:</tt> feature used to close bugs, and also notifies all bug subscribers of the commit.

* SVN <tt>BUG:</tt> feature used to close bugs, and also notifies all bug subscribers of the commit.

+

* SVN <tt>CCBUG:</tt> feature used to notify closed bugs of updates. Commonly used when porting fixes between branches. Also notifies all bug subscribers of the commit.

| getInvolved=

| getInvolved=

* {{KDEML|kde-commits}}

* {{KDEML|kde-commits}}

Line 120:

Line 111:

| name=Design Review

| name=Design Review

| currentState=

| currentState=

−

Design review takes place on

+

Design review takes place on

* mailing lists

* mailing lists

* project wikis

* project wikis

Line 137:

Line 128:

| currentState=

| currentState=

* http://techbase.kde.org

* http://techbase.kde.org

−

* http://wiki.kde.org

−

* http://wiki.koffice.org

| getInvolved=

| getInvolved=

* {{KDEML|kde-www}}

* {{KDEML|kde-www}}

Line 146:

Line 135:

}}

}}

−

techbase.kde.org is a [http://www.mediawiki.org 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.

+

techbase.kde.org is a [http://www.mediawiki.org MediaWiki] powered site used for collaborating on technical tasks such as tutorials, schedules, and project information.

−

+

{{SEFBox

{{SEFBox

Line 161:

Line 149:

}}

}}

−

KDE API doucmentation is generated nightly and hosted on http://api.kde.org. It is also possible to generate the same documentation locally for use in an IDE for example.

+

KDE API documentation is generated nightly and hosted on http://api.kde.org. It is also possible to generate the same documentation locally for use in an IDE for example.

+

It is possible to create [http://www.kdedevelopers.org/node/3010 man pages] and [http://thread.gmane.org/gmane.comp.kde.devel.core/55578 qthelp documentation] from kde sources.

{{SEFBox

{{SEFBox

| name=User documentation

| name=User documentation

| currentState=

| currentState=

−

* [http://i18n.kde.org/docs/doc-primer/check-docs.html meinproc] is used to generate user documentation

Bug tracking in KDE currently is managed using Bugzilla 2.0. There is work being done on a transition to Bugzilla 3.0, which provides some additional features.

+

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.

* [http://www.coverity.com/ Coverity] is used to find possible sources of defects and suggested optimizations. Results are displayed per module as part of [http://ktown.kde.org/~dirk/dashboard/ Dirks Dashboard builds].

* [http://www.kde.org/code-of-conduct/ Code of Conduct] Based on the Ubuntu Code of Conduct, documents guidelines for acceptable behaviour within the community. Can be summarized as 'Be Excellent to Eachother'.

+

* http://community.kde.org. In development website.

+

| people=

+

* Anne Willson

+

* [http://jucato.org Juan Carlos Torres]

+

* [http://lydiapintscher.de Lydia Pintscher]

+

* Martin Fitzpatrick

+

* [http://omat.nl Tom Albers]

| getInvolved=

| getInvolved=

−

* {{KDEML|kde-core-devel}} Discuss how KDE should approach community management.

+

* Send an e-mail to community-wg@kde.org

}}

}}

−

−

As of June 2008 there is a lot of discussion around [http://www.youtube.com/watch?v=ZSFDm3UYkeE poisonous people] resulting from the KDE user base growing into more channels. Community members are consuming information from different sources (sometimes intended as developer communication), and expecting greater stability from their software (even if it is pre-release).

−

−

Future work in this area will include

−

* Moderation on some community portals.

−

* Mediation

−

* A code of conduct?

−

{{SEFBox

{{SEFBox

Line 354:

Line 345:

| currentState=

| currentState=

Developers communicate with each other through

Developers communicate with each other through

−

* [http://lists.kde.org/ mailing lists]

+

* [http://lists.kde.org/ mailing lists]

* [http://searchirc.com/irc-kde-1 IRC]

* [http://searchirc.com/irc-kde-1 IRC]

* [http://planetkde.org Blogs]

* [http://planetkde.org Blogs]

Line 360:

Line 351:

Developers communicate with users though

Developers communicate with users though

* [http://planetkde.org Blogs] to some extent (mainly early adopting users).

* [http://planetkde.org Blogs] to some extent (mainly early adopting users).

−

* [http://kde-forums.net Forums] to some extent where the developer chooses to.

+

* [http://forum.kde.org Forums] to some extent where the developer chooses to.

* [http://dot.kde.org News announcements]

* [http://dot.kde.org News announcements]

+

Users communicate with each other and developers through

+

* [http://forum.kde.org Forums]

+

* {{KDEML|kde}} mailing list

+

* #kde irc channel.

| people=

| people=

* [http://c133.org/blog/ Chris Lee] administers planetkde.org

* [http://c133.org/blog/ Chris Lee] administers planetkde.org

| getInvolved=

| getInvolved=

+

* Add your blog to planet kde if you contribute to KDE in some way, including development, testing, advocacy, translation, documentation etc.

* 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=

−

launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations.

+

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.

| getInvolved=

| getInvolved=

* {{KDEML|kde-i18n-doc}}

* {{KDEML|kde-i18n-doc}}

+

}}

+

+

== Legal And Support ==

+

{{SEFBox

+

| name=KDE e.v. - Representative Legal Entity

+

| currentState=

+

* [http://ev.kde.org KDE e.v.] is a registered non-profit organization that represents the KDE Project in legal and financial matters.

+

| getInvolved=

+

* [http://ev.kde.org/getinvolved/ KDE e.v. membership]

+

* [http://jointhegame.kde.org/ Join the Game]

+

}}

+

+

{{SEFBox

+

| name=Resolving licencing issues.

+

| currentState=

+

* A [http://ev.kde.org/announcements/2008-08-22-fsfe-welcomes-fla.php 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.

* [[Projects/KDE_Relicensing|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.

* [http://ev.kde.org/getinvolved/supporting-members.php Become a supporting member]

}}

}}

Latest revision as of 15:37, 29 October 2013

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.

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 or on the Review Board. 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. See Application Lifecycle for some more details.

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.

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.

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.

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.