ISV/Why use KDE: Difference between revisions

From KDE TechBase
mNo edit summary
No edit summary
(20 intermediate revisions by 10 users not shown)
Line 2: Line 2:


== The KDE Community ==
== 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''' [http://akademy.kde.org/ akademy] to discuss KDE related topics and shape the ''roadmap'' for future development.
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 '''annual KDE Conference [http://akademy.kde.org/ aKademy]''' to discuss KDE related topics and shape the ''roadmap'' for future development.


== KDE e.V. ==
== KDE e.V. ==
The non-profit organization [http://ev.kde.org 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
The non-profit organization [http://ev.kde.org 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''' like the [http://www.spreadkde.org/handbook/mwg/charter Marketing Working Group (MWG)] and the [http://ev.kde.org/workinggroups/hci.php Human-Computer Interaction (HCI) Working Group] to help realize KDE's vision.
* Technical Working Group
* Marketing Working Group
* HCI Working Group
 
=== Technical Working Group ===
The [http://ev.kde.org/corporate/twg_charter.php 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 [http://www.spreadkde.org/handbook/mwg/charter 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 [http://www.spreadkde.org/handbook/mwg/charter 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 [http://accessibility.kde.org/ accessibility] and [http://usability.kde.org/ usability] related issues as well as [http://artist.kde.org/ artists], [http://l10n.kde.org/ translators] and [http://docs.kde.org/ documentation] writers.


== Adoption of KDE ==
== Adoption of KDE ==
Line 23: Line 11:


== Development ==
== Development ==
The KDE development process takes place in steady release cycles. '''[http://developer.kde.org/development-versions/release.html 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 [[Portal:Development|development portal]].
The KDE development process takes place in steady release cycles. '''[http://developer.kde.org/development-versions/release.html 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|development pages]].


=== Documentation ===
=== 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 [[Portal:Documentation|documentation portal]].
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|development pages]].


=== Technologies ===
=== Technologies ===
KDE provides a wide range of '''powerful technologies''' such as [http://khtml.info 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 provides a wide range of '''powerful technologies''' such as [http://khtml.info 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 [http://hal.freedesktop.org HAL (Hardware Abstraction Layer)] and [http://dbus.freedesktop.org D-Bus] (interprocess communication) in upcoming KDE 4.
KDE uses '''well-known standards''' like [http://en.wikipedia.org/wiki/Udev UDev]) and [http://dbus.freedesktop.org D-Bus] (interprocess communication).


=== Compatibility & Integration ===
=== 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 [http://todo-link-to-howto .desktop files].
The last major KDE release was KDE 4.0. All KDE 4.x versions are '''binary compatible''', i.e. software written for KDE 4.0 will be compatible with KDE 4.5 years later. As KDE is based on standards it is, for instance, easy to integrate applications with plain [http://todo-link-to-howto .desktop files].


==== Freedesktop.org & Portland ====
==== 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 [http://freedesktop.org freedesktop.org] which defines standards and software that helps integrating applications in all standard conform desktop environments.
As an ISV, your target is probably not only KDE but all Linux/UNIX desktops. This is made possible due to '''strong collaboration between KDE and other projects''' like [http://freedesktop.org freedesktop.org] which defines standards and software that helps integrating applications in all standard conform desktop environments.


One of those projects is the [http://developer.kde.org/portland/ 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.
One of those projects is the [http://developer.kde.org/portland/ 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 ===
=== Sub-Projects ===
KDE has a lot of sub-projects with different aims. Here are some examples:
KDE has many sub-projects to more specifically coordinate unique project goals of major supporting applications. Several of these significant projects are noted below:
 
; KDE Pim
; KDE Pim
: The goal of [http://pim.kde.org 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.
: The goal of [http://pim.kde.org 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
; Calligra
: [http://koffice.kde.org 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.
: [http://calligra.org KOffice] is an '''integrated office suite''' using KDE-technology and features a full set of applications which work together seamlessly to provide the best user experience possible. The office suite contains applications like Words, Tables, Stage, Krita, Kexi and many more.


; KDevelop
; KDevelop
: [http://kdevelop.kde.org KDevelop] is an '''Integrated Development Environment''' (IDE) for KDE. It supports language like C/C++ and Java and helps with rapid application development.
: [http://kdevelop.kde.org 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 <code>kdelibs</code> and <code>kdepimlibs</code> are licensed under the <code>LGPL</code>, which means you can link closed source applications against those libraries. You additionally need a valid Qt License though.


== Roadmap ==
== 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.
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:
Further details can be found in the [[../Roadmap|roadmap page]].
* [http://multimedia.kde.org/roadmap.php Multimedia sub-project]


[[Category:ISV]]
[[Category:ISV]]

Revision as of 18:53, 12 July 2012

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 annual 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 like the Marketing Working Group (MWG) and the Human-Computer Interaction (HCI) Working Group to help realize KDE's vision.

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 UDev) and D-Bus (interprocess communication).

Compatibility & Integration

The last major KDE release was KDE 4.0. All KDE 4.x versions are binary compatible, i.e. software written for KDE 4.0 will be compatible with KDE 4.5 years later. As 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. This is made 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 many sub-projects to more specifically coordinate unique project goals of major supporting applications. Several of these significant projects are noted below:

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.
Calligra
KOffice is an integrated office suite using KDE-technology and features a full set of applications which work together seamlessly to provide the best user experience possible. The office suite contains applications like Words, Tables, Stage, Krita, Kexi 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.

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.

Further details can be found in the roadmap page.