ISV/Why use KDE

From KDE TechBase
Revision as of 16:53, 16 November 2006 by Dhaumann (talk | contribs) (typo)

This page intends to help Independent Software Vendors (ISVs) getting into KDE related topics. This includes companies developing commercial applications as well as other Open Source Projects.

The KDE Community

The KDE project attracts many people with different backgrounds. As such, the day-by-day growing KDE community includes many developers, translators, artists as well as usability and accessibility experts and - of course - lots of users. For several years now all those people are welcome to meet at the yearly KDE Conference akademy to discuss KDE related topics and shape the roadmap for future development.

KDE e.V.

The non-profit organization KDE e.V. helps in creating and distributing KDE by securing cash, hardware, and other donations, then using donations to aid KDE development and promotion. All its members are part of the KDE community which means the KDE e.V. plays an important role in the KDE project: Members of the KDE e.V. form several working groups, in detail the

  • Technical Working Group
  • Marketing Working Group
  • HCI Working Group

Technical Working Group

The Technical Working Group (TWG) defines and executes the official software releases of KDE. It supports and guides the processes of taking technical decisions within the KDE project. It helps to make sure that the open source development process is kept intact and that the KDE community is involved in all important decisions.

Marketing Working Group

The Marketing Working Group (MWG) helps to improve KDE's promotion process. That includes tasks like maintaining KDE's web pages, running events staff for conferences, announcing KDE releases and much more. Further details can be found int the MWG's charter.

HCI Working Group

The Human-Computer Interaction (HCI) Working Group aids the KDE project in defining guidelines with regards to usability and accessibility. It consists of people with good knowledge in accessibility and usability related issues as well as artists, translators and documentation writers.

Adoption of KDE

KDE is one of the biggest Open Source projects making the Linux/UNIX desktop's experience much more user friendly. As such, distributions strongly support KDE by actively taking part in its development process and ship KDE as their default desktop environment. Many companies use KDE for production use.

Development

The KDE development process takes place in steady release cycles. Release schedules and feature plans help the KDE project coordinating a KDE release by introducing several phases like feature freeze and message freeze. This phases make sure that developers concentrate on polishing the release and the translation teams have time enough to translate all the KDE software into many different languages. Further information about KDE development tools can be found on the development pages.

Documentation

The KDE project provides excellent documentation about its API and its technologies, such as KParts or KXmlGui. There are many Tutorials and HOWTOs which help getting into KDE development. An overview can be found at the development pages.

Technologies

KDE provides a wide range of powerful technologies such as KHTML and KJS which are adopted by other companies like Apple (Safari browsers) and Nokia. Additionally there are several development frameworks like KParts (KDE's component technology), KIO (network/protocol architecture) or KXmlGui (build GUIs based on XML definitions).

KDE uses well-known standards like DCOP in KDE 3 or HAL (Hardware Abstraction Layer) and D-Bus (interprocess communication) in upcoming KDE 4.

Compatibility & Integration

The last major KDE release was KDE 3. All KDE 3.x versions are binary compatible, i.e. software written five years ago is compatible to the latest stable release KDE 3.5. As the KDE is based on standards it is for instance easy to integrate applications with plain .desktop files.

Freedesktop.org & Portland

As an ISV, your target is probably not only KDE but all Linux/UNIX desktops, that includes for example Gnome. Of course this is possible due to strong collaboration between KDE and other projects like freedesktop.org which defines standards and software that helps integrating applications in all standard conform desktop environments.

One of those projects is the Portland project, which intends to develop a common set of Linux Desktop Programming Interfaces and Tools to allow applications to easily integrate with the free desktop configuration an end user has chosen to work with.

Sub-Projects

KDE has a lot of sub-projects with different aims. Here are some examples:

KDE Pim
The goal of KDE Pim (Personal information management) is to provide an application suite to manage personal information. This includes applications like an email client, a calender etc. The main result is KDE Kontact, our personal information manager.
KOffice
KOffice is an integrated office suite for KDE and features a full set of applications which work together seamlessly to provide the best user experience possible. The office suite contains applications like KWord, KSpread, KPresenter and many more.
KDevelop
KDevelop is an Integrated Development Environment (IDE) for KDE. It supports language like C/C++ and Java and helps with rapid application development.

Licensing

An often arising question is: Can I use KDE to develop commercial applications? - Yes, you can develop commercial applications for KDE. KDE's foundation libraries kdelibs and kdepimlibs are licensed under the LGPL, which means you can link closed source applications against those libraries. You additionally need a valid Qt License though.

Roadmap

KDE development follows a release schedule in order to coordinate releases. These usually cover for minor releases the last 10 weeks and for major releases the last 20 weeks before the official release. The features planned for a release are usually published at the same time as the schedule.

Some KDE sub-projects have their own roadmaps: