(added Redmine (in addition to Trac) as an alternative bug tracking tool) |
(→Documentation) |
||
(24 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | This page is intended to be a summary of the tools used by the KDE | + | |
+ | |||
+ | 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 | project for Software Engineering tasks, i.e. everything around coding | ||
work. This includes bugfixing, review, testing, documentation, | work. This includes bugfixing, review, testing, documentation, | ||
Line 12: | Line 14: | ||
| name=Source Control | | name=Source Control | ||
| currentState= | | currentState= | ||
− | * [http://websvn.kde.org/ Subversion | + | * [http://websvn.kde.org/ Subversion] (Moving to Git) |
+ | * [https://projects.kde.org/ KDE Projects]: Git repository browser. | ||
+ | * [http://quickgit.kde.org/ KDE QuickGit]: Git source code browser. | ||
| people= | | people= | ||
The kde sysadmin team: | The kde sysadmin team: | ||
− | * [http://wire.dattitu.de/authors/2-Dirk Dirk Müller] | + | * [http://wire.dattitu.de/authors/2-Dirk Dirk Müller] |
* [http://www.kdab.net/~dfaure/ David Faure] | * [http://www.kdab.net/~dfaure/ David Faure] | ||
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-scm-interest}} | * {{KDEML|kde-scm-interest}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | Subversion | + | Subversion is currently used for source control management in KDE on |
a server hosted in Frankfurt. A separate server is used for access to | a server hosted in Frankfurt. A separate server is used for access to | ||
the read-only mirror anonsvn.kde.org. | the read-only mirror anonsvn.kde.org. | ||
− | There is | + | There is begun migrating to Git, see [[Projects/MovetoGit|Move to Git]]. A guide to KDE Git infrastructure can be found on the [http://community.kde.org/Sysadmin/GitKdeOrgManual Git.kde.org Manual]. |
− | + | ||
− | [http:// | + | |
− | + | ||
− | + | ||
{{SEFBox | {{SEFBox | ||
| name=Build System | | name=Build System | ||
| currentState= | | currentState= | ||
− | * [http://www.cmake.org/ CMake] | + | * [http://www.cmake.org/ CMake] |
* [http://api.kde.org/cmake/modules.html Custom CMake module documentation] | * [http://api.kde.org/cmake/modules.html Custom CMake module documentation] | ||
| getInvolved= | | getInvolved= | ||
Line 51: | Line 46: | ||
multiple platforms supported by KDE. | multiple platforms supported by KDE. | ||
− | This tool was chosen as the buildsystem for the | + | 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 Müller] | + | * [http://wire.dattitu.de/authors/2-Dirk Dirk Müller] |
* [http://www.kdab.net/~dfaure/ David Faure] | * [http://www.kdab.net/~dfaure/ David Faure] | ||
}} | }} | ||
Line 71: | Line 65: | ||
| name=Patch review (pre commit) | | name=Patch review (pre commit) | ||
| currentState= | | currentState= | ||
− | * [ | + | |
− | * | + | * [https://projects.kde.org/projects/kdereview KDE Review Module] |
+ | * [[Development/Review_Board|KDE Review Board]] | ||
| people= | | people= | ||
− | |||
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-core-devel}}: Discuss KDE patch review and tools | * {{KDEML|kde-core-devel}}: Discuss KDE patch review and tools | ||
− | |||
− | |||
}} | }} | ||
In general KDE does not have a formal patch review policy for individual | 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 | patches. Some patches do get reviewed prior to committing to svn by the | ||
− | relevant mailing lists. This is the case for particularly large patches | + | relevant mailing lists or on the Review Board. This is the case for particularly large patches or patches by new developers. |
− | or patches by new developers. | + | |
As an official policy kdereview is used to review new applications and | 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 | + | new classes for kdelibs prior to inclusion in KDE trunk. See [[Policies/Application_Lifecycle#Stage_2:_Stable|Application Lifecycle]] for some more details. |
− | 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, | + | 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, |
− | eg, | + | |
− | * All new classes documented [x] | + | * All new classes documented [x] |
* Private classes and d-pointers used where appropriate [x] | * Private classes and d-pointers used where appropriate [x] | ||
* Passes all krazy checks [ ] | * Passes all krazy checks [ ] | ||
Line 99: | Line 89: | ||
* etc... | * etc... | ||
+ | This was discussed to some extent [http://thread.gmane.org/gmane.comp.kde.devel.core/54213 here], but has not yet been refined into a techbase page. | ||
{{SEFBox | {{SEFBox | ||
Line 104: | Line 95: | ||
| currentState= | | currentState= | ||
* {{KDEML|kde-commits}} mailing list records all commits to KDE svn. | * {{KDEML|kde-commits}} mailing list records all commits to KDE svn. | ||
− | * The [http:// | + | * The [http://commitfilter.kde.org/ CommitFilter] is used to filter relevant commits based on path of the commit. |
* SVN <tt>CCMAIL:</tt> feature used to notify relevant mailing lists or individuals of specific commits. | * SVN <tt>CCMAIL:</tt> feature used to notify relevant mailing lists or individuals of specific commits. | ||
* 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 119: | 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 136: | Line 128: | ||
| currentState= | | currentState= | ||
* http://techbase.kde.org | * http://techbase.kde.org | ||
− | |||
− | |||
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-www}} | * {{KDEML|kde-www}} | ||
Line 145: | 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. | + | 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 160: | Line 149: | ||
}} | }} | ||
− | KDE API | + | 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 | + | * http://userbase.kde.org |
− | * {{KDEML|kde- | + | * [http://i18n.kde.org/docs/doc-primer/check-docs.html meinproc] is used to generate user documentation. |
+ | * {{KDEML|kde-doc-english}} Records all SVN commits with the <tt>GUI</tt> magic word. | ||
| getInvolved= | | getInvolved= | ||
+ | * http://userbase.kde.org Create tutorials and tips. | ||
* {{KDEML|kde-doc-english}} Used to coordinate user documentation. | * {{KDEML|kde-doc-english}} Used to coordinate user documentation. | ||
− | * {{KDEML|kde-docbook}} | + | * {{KDEML|kde-docbook}} For technical discussions about docbook. |
}} | }} | ||
Line 177: | Line 169: | ||
meinproc is a KDE tool (written by Stephen Kulow which uses libxslt to transform docbook into (bzipped) html. At runtime kio_help opens that bzipped html and displays it to the user in khelpcenter. | meinproc is a KDE tool (written by Stephen Kulow which uses libxslt to transform docbook into (bzipped) html. At runtime kio_help opens that bzipped html and displays it to the user in khelpcenter. | ||
− | + | http://userbase.kde.org is intended to be the primary source of user documentation on the web. Content will possibly be packaged for offline use in the future. | |
+ | == Testing and Quality == | ||
{{SEFBox | {{SEFBox | ||
| name=Bug tracking | | name=Bug tracking | ||
| currentState= | | currentState= | ||
− | * [http://bugs.kde.org Bugzilla | + | * [http://bugs.kde.org/ Bugzilla 3.0.x]. |
* KBugBuster | * KBugBuster | ||
| people= | | people= | ||
− | * [http://mattr.info:8080/blog/?s=bugzilla Matt Rogers] and the | + | * [http://mattr.info:8080/blog/?s=bugzilla Matt Rogers] and the KDE sysadmin team maintain the KDE bugzilla installation. |
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-core-devel}} Discuss alternative bug trackers for KDE. | * {{KDEML|kde-core-devel}} Discuss alternative bug trackers for KDE. | ||
Line 199: | Line 192: | ||
}} | }} | ||
− | Bug tracking in KDE currently is managed using Bugzilla | + | 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. |
Bugzilla can be difficult to use and daunting to newbies. | Bugzilla can be difficult to use and daunting to newbies. | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Static code analysis | | name=Static code analysis | ||
| currentState= | | currentState= | ||
− | [http://www.englishbreakfastnetwork.org/krazy/ Krazy] hosted at EnglishBreakfastNetwork (EBN). | + | * [http://www.englishbreakfastnetwork.org/krazy/ Krazy] hosted at EnglishBreakfastNetwork (EBN). |
+ | * [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]. | ||
| people= | | people= | ||
− | * [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] | + | * [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] |
− | * [http://www.kdedevelopers.org/blog/1451 Allen Winter] | + | * [http://www.kdedevelopers.org/blog/1451 Allen Winter] |
| getInvolved= | | getInvolved= | ||
− | * | + | * |
}} | }} | ||
Line 221: | Line 214: | ||
| currentState= | | currentState= | ||
* [http://developer.kde.org/~dirk/dashboard/ Continuous build server] reports broken builds on linux. | * [http://developer.kde.org/~dirk/dashboard/ Continuous build server] reports broken builds on linux. | ||
− | * [http:// | + | * [http://my.cdash.org/index.php?project=kdelibs CDash build server] stores results of Nightly builds for KDE modules. |
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-core-devel}} Find out how to submit test build results. | * {{KDEML|kde-core-devel}} Find out how to submit test build results. | ||
| people= | | people= | ||
* [http://wire.dattitu.de/authors/2-Dirk Dirk Mueller] maintains the dashboard | * [http://wire.dattitu.de/authors/2-Dirk Dirk Mueller] maintains the dashboard | ||
− | * Bill Hoffman is involved with the | + | * Bill Hoffman is involved with the CDash service provided by Kitware. |
* http://www.cdash.org/mailinglist.html | * http://www.cdash.org/mailinglist.html | ||
}} | }} | ||
Line 239: | Line 232: | ||
* FreeBSD 7 (gcc) | * FreeBSD 7 (gcc) | ||
* Solaris (S10, S11) on SPARC and amd64 | * Solaris (S10, S11) on SPARC and amd64 | ||
− | |||
{{SEFBox | {{SEFBox | ||
Line 246: | Line 238: | ||
[[Development/Tutorials/Unittests|Unit tests]] may be written with the QTest framework. Tests can be run with the command '<tt>make test</tt>'. | [[Development/Tutorials/Unittests|Unit tests]] may be written with the QTest framework. Tests can be run with the command '<tt>make test</tt>'. | ||
| getInvolved= | | getInvolved= | ||
+ | * [[Development/Tutorials/Unittests|Techbase Unit tests tutorial]] | ||
}} | }} | ||
It may be possible run run these tests automatically possibly on EBN or on Dirks dashboard. | It may be possible run run these tests automatically possibly on EBN or on Dirks dashboard. | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Quality testing | | name=Quality testing | ||
| currentState= | | currentState= | ||
− | * The early adopter/user community | + | * The early adopter/user community |
* [http://www.sqo-oss.eu/news/coverage/sqo-oss-project-launched-with-kde SQO-OSS] | * [http://www.sqo-oss.eu/news/coverage/sqo-oss-project-launched-with-kde SQO-OSS] | ||
| people= | | people= | ||
Line 261: | Line 253: | ||
| getInvolved= | | getInvolved= | ||
}} | }} | ||
− | |||
It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc. | It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc. | ||
− | |||
{{SEFBox | {{SEFBox | ||
Line 270: | Line 260: | ||
| currentState= | | currentState= | ||
* {{KDEML|kde-optimize}} mailing list coordinates optimizations in KDE. | * {{KDEML|kde-optimize}} mailing list coordinates optimizations in KDE. | ||
− | * Krazy also | + | * Krazy and Coverity tools also include some optimization checks. |
+ | * KDE macros for optimization of common algorithms. | ||
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-optimize}} | * {{KDEML|kde-optimize}} | ||
+ | * [http://ktown.kde.org/~dirk/dashboard/4.1/i386/kdelibs.html Coverity report for KDE libs]. | ||
}} | }} | ||
Tutorials may be provided in the future to help developers optimize their code. | Tutorials may be provided in the future to help developers optimize their code. | ||
− | |||
{{SEFBox | {{SEFBox | ||
Line 289: | Line 280: | ||
| getInvolved= | | getInvolved= | ||
* {{KDEML|kde-usability}} | * {{KDEML|kde-usability}} | ||
+ | * [[Projects/Usability/HIG|KDE Human interaction Guidelines]]. | ||
}} | }} | ||
− | |||
{{SEFBox | {{SEFBox | ||
Line 301: | Line 292: | ||
* [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] | * [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] | ||
* [http://www.kdedevelopers.org/blog/2904 Sebastian Trueg] leads the kde-nepomuk project. | * [http://www.kdedevelopers.org/blog/2904 Sebastian Trueg] leads the kde-nepomuk project. | ||
+ | | getInvolved= | ||
+ | * [http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde Nepomuk KDE mailing list] | ||
}} | }} | ||
== Marketing and Expectations == | == Marketing and Expectations == | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Requirements Gathering | | name=Requirements Gathering | ||
Line 314: | Line 306: | ||
* {{KDEML|kde-core-devel}} Discuss new ways for kde to gather requirements. | * {{KDEML|kde-core-devel}} Discuss new ways for kde to gather requirements. | ||
}} | }} | ||
− | |||
{{SEFBox | {{SEFBox | ||
Line 323: | Line 314: | ||
* http://www.kde.org/announcements is the official source of promotional announcements regarding KDE. | * http://www.kde.org/announcements is the official source of promotional announcements regarding KDE. | ||
* Design and maintenance of KDE websites is organised on the [https://mail.kde.org/mailman/listinfo/kde-www kde-www mailing list] | * Design and maintenance of KDE websites is organised on the [https://mail.kde.org/mailman/listinfo/kde-www kde-www mailing list] | ||
+ | * The [http://ev.kde.org/workinggroups/mwg.php Marketing working group] coordinates several marketing efforts such as promoting planning and branding. | ||
+ | * KDE e.v provides a booth box for conference booths containing posters, leaftlets and other information needed at a conference stand. | ||
| people= | | people= | ||
* [http://wadejolson.wordpress.com/ Wade Olsen] | * [http://wadejolson.wordpress.com/ Wade Olsen] | ||
Line 331: | Line 324: | ||
* [http://dot.kde.org/addPostingForm Submit dot articles] | * [http://dot.kde.org/addPostingForm Submit dot articles] | ||
}} | }} | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Community management | | name=Community management | ||
| currentState= | | currentState= | ||
− | + | * The Community Working Group helps with community advice when needed | |
+ | * [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= | | people= | ||
* Anne Willson | * Anne Willson | ||
Line 344: | Line 338: | ||
* [http://omat.nl Tom Albers] | * [http://omat.nl Tom Albers] | ||
| getInvolved= | | getInvolved= | ||
− | * | + | * Send an e-mail to community-wg@kde.org |
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{SEFBox | {{SEFBox | ||
Line 357: | 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 363: | 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 | + | * [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. | ||
}} | }} | ||
== Release == | == Release == | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Release Scheduling | | name=Release Scheduling | ||
Line 377: | Line 369: | ||
* Maintained at [[Schedules]]. | * Maintained at [[Schedules]]. | ||
| people= | | people= | ||
− | * | + | * |
* [http://cyrilleberger.blogspot.com/ Cyrill Berger] - KOffice release coordinator. | * [http://cyrilleberger.blogspot.com/ Cyrill Berger] - KOffice release coordinator. | ||
* [http://www.kdedevelopers.org/blog/1451 Allen Winter] - KDEPIM release coordinator. | * [http://www.kdedevelopers.org/blog/1451 Allen Winter] - KDEPIM release coordinator. | ||
Line 383: | Line 375: | ||
* {{KDEML|release-team}} | * {{KDEML|release-team}} | ||
}} | }} | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Feature planning | | name=Feature planning | ||
| currentState= | | currentState= | ||
− | * [[Schedules/KDE4/4. | + | * [[Schedules/KDE4/4.6_Feature_Plan]] |
− | + | ||
| people= | | people= | ||
[https://mail.kde.org/mailman/listinfo/release-team The KDE release team] | [https://mail.kde.org/mailman/listinfo/release-team The KDE release team] | ||
Line 401: | Line 391: | ||
Currently techbase is used for feature planning but there may be better alternatives. | Currently techbase is used for feature planning but there may be better alternatives. | ||
+ | {{SEFBox | ||
+ | | name=Downstream packagers and contributions | ||
+ | | currentState= | ||
+ | * Many distributions package KDE3 & KDE4. | ||
+ | | getInvolved= | ||
+ | * {{KDEML|kde-packagers}} - Private mailing list for packagers. Includes information relating to security releases. | ||
+ | }} | ||
== Theming and Translations == | == Theming and Translations == | ||
− | |||
{{SEFBox | {{SEFBox | ||
| name=Artwork | | name=Artwork | ||
| currentState= | | currentState= | ||
− | The {{KDEML|kde-artists|kde-artists team}} creates offical artwork for KDE. | + | * The {{KDEML|kde-artists|kde-artists team}} creates offical artwork for KDE. |
+ | * [http://kde-look.org kde-look.org] for non-offical artwork. | ||
| people= | | people= | ||
* [http://pinheiro-kde.blogspot.com/ Nuno Pinheiro] | * [http://pinheiro-kde.blogspot.com/ Nuno Pinheiro] | ||
Line 414: | Line 411: | ||
}} | }} | ||
− | Additional contributed artwork is available on | + | Additional contributed artwork is available on kde-look.org. |
There may be a need to create tutorials on how to create artwork for kde. | There may be a need to create tutorials on how to create artwork for kde. | ||
Line 421: | Line 418: | ||
| name=Translation | | name=Translation | ||
| currentState= | | currentState= | ||
− | * http:// | + | * http://l10n.kde.org/ is used for level of completion of translations in KDE. |
* GNU gettext is used for translation in KDE. | * GNU gettext is used for translation in KDE. | ||
* <tt>.po</tt> files are edited directly in KDE svn to update translations. | * <tt>.po</tt> files are edited directly in KDE svn to update translations. | ||
− | * A kde4 based translation client ( | + | * 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. | ||
+ | * [[Policies/Licensing_Policy|KDE licencing policy]] allows commercial and non-commercial development and proprietry and non-proprietry development. | ||
+ | * [[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. | ||
+ | }} | ||
+ | |||
+ | {{SEFBox | ||
+ | | name=Sponsorship and Patronship | ||
+ | | currentState= | ||
+ | * [http://ev.kde.org/supporting-members.php Supporters of KDE] contribute sponsorship money to KDE e.v. | ||
+ | | getInvolved= | ||
+ | * [http://ev.kde.org/getinvolved/supporting-members.php Become a supporting member] | ||
}} | }} |
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.
Current State | People |
|
The kde sysadmin team: |
Get Involved | Alternative Tools |
n/a |
Subversion 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 begun migrating to Git, see Move to Git. A guide to KDE Git infrastructure can be found on the Git.kde.org Manual.
Current State | People |
Get Involved | Alternative Tools |
n/a |
CMake is the build tool currently used by KDE. It is Free Software developed by kitware inc and available on multiple platforms supported by KDE.
This tool was chosen as the buildsystem for the KDE SC 4 series, and there are no plans currently to migrate away from it.
Current State | People |
The kde sysadmin team: | |
Get Involved | Alternative Tools |
n/a |
n/a |
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.
Current State | People |
Get Involved | Alternative Tools |
|
n/a |
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,
This was discussed to some extent here, but has not yet been refined into a techbase page.
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
|
The commit filter is used by several projects to forward all commits to the relevant mailing list.
Current State | People |
Design review takes place on
|
Unknown |
Get Involved | Alternative Tools |
|
n/a |
KDE does not have an offical design review process. Some design review takes place as part of the kdereview process. It may be possible to further formalise this or encourage design documentation.
Current State | People |
| |
Get Involved | Alternative Tools |
n/a |
techbase.kde.org is a MediaWiki powered site used for collaborating on technical tasks such as tutorials, schedules, and project information.
Current State | People |
|
|
Get Involved | Alternative Tools |
|
|
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 man pages and qthelp documentation from kde sources.
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
|
n/a |
User documentation is generated from module doc/ folders and hosted on http://docs.kde.org.
meinproc is a KDE tool (written by Stephen Kulow which uses libxslt to transform docbook into (bzipped) html. At runtime kio_help opens that bzipped html and displays it to the user in khelpcenter.
http://userbase.kde.org is intended to be the primary source of user documentation on the web. Content will possibly be packaged for offline use in the future.
Current State | People |
|
|
Get Involved | Alternative Tools |
|
|
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.
Bugzilla can be difficult to use and daunting to newbies.
Current State | People |
|
|
Get Involved | Alternative Tools |
|
n/a |
Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/.
Current State | People |
|
|
Get Involved | Alternative Tools |
|
n/a |
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:
Current State | People |
Unit tests may be written with the QTest framework. Tests can be run with the command 'make test'. |
Unknown |
Get Involved | Alternative Tools |
n/a |
It may be possible run run these tests automatically possibly on EBN or on Dirks dashboard.
Current State | People |
|
|
Get Involved | Alternative Tools |
n/a |
It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc.
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
n/a |
Tutorials may be provided in the future to help developers optimize their code.
Current State | People |
|
|
Get Involved | Alternative Tools |
n/a |
Current State | People |
|
|
Get Involved | Alternative Tools |
n/a |
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
|
n/a |
Current State | People |
|
|
Get Involved | Alternative Tools |
n/a |
Current State | People |
|
|
Get Involved | Alternative Tools |
|
n/a |
Current State | People |
Developers communicate with each other through
Developers communicate with users though
Users communicate with each other and developers through |
|
Get Involved | Alternative Tools |
|
n/a |
Current State | People |
|
|
Get Involved | Alternative Tools |
n/a |
Current State | People |
Get Involved | Alternative Tools |
|
|
Currently techbase is used for feature planning but there may be better alternatives.
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
|
n/a |
Current State | People |
|
|
Get Involved | Alternative Tools |
n/a |
Additional contributed artwork is available on kde-look.org.
There may be a need to create tutorials on how to create artwork for kde.
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
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. |
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
n/a |
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
n/a |
n/a |
Current State | People |
|
Unknown |
Get Involved | Alternative Tools |
n/a |