Development/Software Engineering Framework

Jump to: navigation, search

This page is intended to be a summary of the tools 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.


Contents

Development Tools

Source Control

Source Control
Current State   People  

Subversion 1.4 is used for source control management in KDE.

Dirk Muller and the kde sysadmin team maintain the KDE SVN servers.

Get Involved   Alternative Tools  

n/a



Build System

Build System
Current State   People  
  • CMake is the current KDE build tool.
Get Involved   Alternative Tools  

n/a

n/a



Identifier search

Identifier search
Current State   People  

http://lxr.kde.org is used for searching for existing use of classes in KDE.

  • sysadmin@kde.org
Get Involved   Alternative Tools  

n/a

n/a



Review

Patch review (pre commit)

Patch review (pre commit)
Current State   People  
  • Review-board used by plasma project. In KDE in general this process does not take place, except for some specific patches which may be sent to the relevant mailing list.
  • trunk/kdereview is used to review major new features and new applications prior to inclusion in KDE trunk.

David Solbach and the kde sysadmin team maintain the Plasma review-board installation.

Get Involved   Alternative Tools  

n/a

  • Launchpad.net offers bug tracking via bugs.launchpad.net



Commit review (after commit)

Commit review (after commit)
Current State   People  
  • kde-commits mailing list records all commits to KDE svn.
  • The commit filter is used to filter relevant commits based on path of the commit. This is used by several projects to forward commits to the relevant mailing list.

Unknown

Get Involved   Alternative Tools  

n/a

  • Unknown



Design Review

Design Review
Current State   People  

Design review takes place on mailing lists/wikis and in face-to-face/BOF sessions at conferences and sprints.

Unknown

Get Involved   Alternative Tools  

n/a

n/a


Documentation

Technical documentation

Technical documentation
Current State   People  

techbase.kde.org is a MediaWiki powered web site used for collaborating on technical tasks such as tutorials, schedules, and project information.

  • Danimo is the MediaWiki admin for techbase.kde.org.
Get Involved   Alternative Tools  

n/a

n/a



API documentation

API documentation
Current State   People  

Doxygen is used to generate api documentation from documentation strings in code. It is generated nightly and hosted on http://api.kde.org.

Get Involved   Alternative Tools  

n/a

n/a



User documentation

User documentation
Current State   People  

meinproc is used to generate user documentation from module doc/ folders and is hosted on http://docs.kde.org.

Unknown

Get Involved   Alternative Tools  

n/a

n/a


Testing and Quality

Bug tracking

Bug tracking
Current State   People  

Bug tracking in KDE is managed using Bugzilla 2.x.

Matt Rogers and the kde sysadmin team maintain the KDE bugzilla installation.

Get Involved   Alternative Tools  

n/a

  • Launchpad.net offers bug tracking via bugs.launchpad.net



Static code analysis

Static code analysis
Current State   People  

Krazy hosted at EnglishBreakfastNetwork (EBN) is used for static code analysis.

Get Involved   Alternative Tools  

n/a

n/a



Build testing

Build testing
Current State   People  
Get Involved   Alternative Tools  

n/a

n/a



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'.

Unknown

Get Involved   Alternative Tools  

n/a

n/a



Quality testing

Quality testing
Current State   People  

The early adopter/user community tests beta versions of KDE. Additionally some work is done by SQO-OSS on quality in KDE.

Get Involved   Alternative Tools  

n/a

n/a



Profiling and Optimizations

Profiling and Optimizations
Current State   People  
  • kde-optimize mailing list coordinates optimizations in KDE.
  • Krazy also includes some optimization checks.

Unknown

Get Involved   Alternative Tools  

n/a

n/a



Accessibility and Usability

Accessibility and Usability
Current State   People  
Get Involved   Alternative Tools  

n/a

n/a



Research

Research
Current State   People  
Get Involved   Alternative Tools  

n/a

n/a



Marketing and Expectations

Requirements Gathering

Requirements Gathering
Current State   People  
  • Requirements come from user feedback on http://bugs.kde.org and from commercial interests.
  • Developers may do some research into requirements for applications based on User Research Profiles.

Unknown

Get Involved   Alternative Tools  

n/a

n/a



Promotion

Promotion
Current State   People  
Get Involved   Alternative Tools  

n/a

n/a



Community management

Community management
Current State   People  

A community management group is being worked on.

Unknown

Get Involved   Alternative Tools  

n/a

n/a



Release

Release Scheduling

Release Scheduling
Current State   People  

The release team mailing list is used for release planning, and release plans maintained on techbase at Schedules.

The KDE release team

Get Involved   Alternative Tools  

n/a

n/a



Feature planning

Feature planning
Current State   People  

techbase.kde.org is currently used for feature planning, specifically Schedules/KDE4/4.1_Feature_Plan etc.

The KDE release team

Get Involved   Alternative Tools  

n/a

  • Launchpad.net offers a blueprints system.



Theming and Translations

Artwork

Artwork
Current State   People  

The kde-artists team creates offical artwork for KDE. Additional contributed artwork is available on http://kde-look.org.

Get Involved   Alternative Tools  

n/a

n/a



Translation

Translation
Current State   People  
  • http://i18n.kde.org/ is used for level of completion of translations in KDE.
  • GNU gettext is used for translation in KDE.
  • .po files are edited directly in KDE svn to update translations.
  • A kde4 based translation client (lokalize) is being developed in kdesdk/.
  • Krazy includes sanity checks/plurals checking for translation.

Unknown

Get Involved   Alternative Tools  

n/a

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



KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal