Fifteen years ago, the graphical interface on GNU/Linux consisted mostly of
window managers and basic environments like Motif
that came from the proprietary Unix world. As one of the first
GNU/Linux-targeted GUI efforts, the development of the K Desktop Environment became a catalyst for rethinking that situation. It's a role that KDE continue to play as the project celebrates its fifteenth birthday, continuing its tradition of innovation and — from time to time — controversy.
Like the Linux kernel, KDE started with an email. "Unix popularity grows thanks to the free variants, mostly Linux. But still a consistent, nice looking free desktop-environment is missing," Matthias Ettrich posted on the Usenet group de.comp.os.linux.misc on October 14, 1996. "There are several nice either free or low-priced applications available, so that Linux/X11 would almost fit everybody needs if we could offer a real GUI."
Ettrich went on to explain that existing solutions were inadequate because
of the lack of a common framework and aesthetic. He suggested using
framework — then less than year old — and offered a to-do
list of needed tasks, concluding:
I admit the whole thing sounds a bit like fantasy. But it is very serious
from my side. Everybody I'm talking to in the net would LOVE a somewhat
cleaner desktop. So let us join our rare spare time and just do it!
At first, Ettrich called the project the Kool Desktop Environment, echoing CDE. However,
the name quickly settled down to the K Desktop Environment (KDE), with the "K" not standing for anything. The name stood until 2009, when the project rebranded itself as simply KDE, on the grounds that it was no longer just a desktop, but a community of related software projects.
Originally, Ettrich envisioned the first version being released by
Christmas 1996. However, the already ambitious project grew in scope, and
with the amount of work needed, the first version was not released until
12 July 1998. The news release was concerned mostly with justifying KDE,
and included KOffice
as part of the announcement.
Gun-metal gray with no anti-aliasing of fonts, like most interfaces of the
time, KDE 1.0 was clumsy-looking by modern standards, and not nearly as unified as Ettrich perhaps envisioned — if only because it had to accommodate many non-KDE applications. However, by the standards of the time, it was far ahead of anything else available for Unix-like systems.
The Qt controversy
With its first release out of the way, KDE settled down to a series of minor releases, moving gradually towards the 2.0 release on 23 October 2000, a re-engineering that brought KDE closer to its ideal of a modular, consistent desktop, and introduced Konqueror as its web browser and file manager — a combination that was popular at the time.
However, even before the 1.0 release, KDE was facing criticism because of its choice of the Qt framework. For KDE, using Qt was largely a matter of practicality: project members considered it the best GUI toolkit available, it was free of charge, and it might encourage commercial software developers to work with KDE.
From the start, Qt was available under different terms for commercial and community purposes. Unfortunately, Qt's first community license, the FreeQT License, was considered non-free by the Free Software Foundation and contrary to the Debian Free Software Guidelines, which was then the second major arbiter of software license's freedom.
Moreover Trolltech took several efforts to produce a new license that was generally recognized as free.
At any rate, the second license for non-commercial use, the Q Public
License, made little difference. It required that all changes to Qt be made
available as a patch so that the code base would remain the same for both
free and commercial Qt versions. Since this requirement would mix free and
proprietary software, the Q Public License was no more acceptable to the
larger community than the FreeQT License was.
In response to this dispute, Trolltech and KDE announced the FreeQt
Foundation, whose members signed an agreement that a free version of Qt
would always be available. Trolltech and its successors were also obliged
to produce a new release at least once a year. If it failed to do so, the
latest free version would be released under a BSD-style license. The intricacy of the solution failed to satisfy critics, and the GNU
project created the Harmony Project (not to be confused with several
projects that have used that name, including the
recent copyright assignment project founded by
Canonical), whose goal was to create a free Qt clone.
Meanwhile, the dispute was continually escalating into a flame war, fanned
by the dedicated beliefs of free software advocates and Trolltech's apparent reluctance to move towards a truly free license. In the Debian project, KDE was a main reason for a general resolution to eliminate all non-free software (it failed). The Free Software Foundation responded just as strongly with the creation of the GNOME project to create a desktop that was unequivocally free.
The dispute was abruptly resolved when Trolltech announced
in September 2000 that, after consultation with
critics, it now considered the GNU General Public License (GPL) a
widespread standard, and would use it for Qt's next release. When the third
version of the GPL was eventually released, Qt subsequently moved to it
without any real controversy. Since the Nokia acquisition of Trolltech, Qt
has switched to the GNU
Lesser General Public License (LGPL).
But old feuds die hard, and the animosity between GNOME and KDE still occasionally flares to this day, even though the main reason for it no longer applies. The only difference is that, in recent years, arguments usually center on GUI toolkits and design choices instead of licenses.
The "Golden Age" and beyond
No longer concerned with licensing issues, KDE released a series of
uneventful minor versions, before making a
major break with the past with KDE 3.0 on 3 April 2002. The release
featured improved display capabilities and increased customization and
internationalization. Even more importantly, it created subsystems of
specialized libraries, including ones for printing, personal information, and document and network protocol access that any KDE-compliant application could easily access. More than any previous release, KDE 3.0 fulfilled the original intention of a fully modular environment.
Some developers criticized the massive rewriting of KDE, and some users described the default icons as childish and unbusinesslike. However, for many, KDE 3.0 was the release showed that GNU/Linux was finally near to equaling proprietary desktops. It became a classic desktop, surviving six years with only incremental releases — three times as long as the previous major releases.
However, gradually the KDE 3 series began showing its age, and rewriting
became easier than patching. After two years of planning and development,
KDE released KDE 4.0 on
11 January 2008. KDE 4.0 went even further than the KDE 3 series in
producing modular subsystems for everything from multimedia (Phonon) to
personal information (Akonadi) and interfaces (Plasma). It also added a
MySQL database for Akonadi's storage of information.
Even more importantly, KDE 4.0 expanded the concept of the desktop by emphasizing virtual workspaces, easily swappable icons and desktop layouts, desktop widgets, hot spots on the screen edges, and an array of other innovations. For the first time, a free desktop could plausibly be argued to have not only caught up with its proprietary rivals, but leaped ahead of them as well.
"Personally, I naively thought that we had really proven ourselves with KDE 3," Aaron Seigo told me five months after the release. "We had taken the promise of KDE 2 and matured it to KDE 3.5.9. And then we were going to attempt to replicate the results of that previous effort and take it to a whole new level."
But that wasn't how the release turned out. Despite all the promise, the
release was something of a failure, provoking hundreds of hostile responses. KDE had failed to emphasize sufficiently that KDE 4.0 was a developer's release, and distributions — eager to offer the latest software — ignored the fact. Users were faced with a desktop that lacked many of the customization features of the KDE 3 series and introduced a sometimes bewildering set of innovations. Jokes, such as Seigo's remark that he had just removed desktop icon support in 4.1 (because icons were now part of the Plasma, and no longer confined to a single desktop) only increased the hostility and the confusion.
Three years later, some users still insist that the third release series
was the height of KDE development, and that the fourth series continues to
lack features found in the third. Still others consider KDE 4.0 as an
example of how developers are divorced from the needs of
end-users. However, as minor releases have gradually improved the user
experience, most users seem to recognize the KDE 4 series as the
accomplishment that it is.
Into the future
As KDE celebrates its fifteenth anniversary, KDE 5.0 seems some distance away. Although the KDE 4 series will be four years old in January 2012, it remains flexible enough that its possibilities are not yet exhausted. For example, the abstraction of the interface from the core code into the Plasma subsystem has allowed Plasma Netbook to be offered as an alternative interface on any KDE installation.
The just-released Plasma Active
One also shows this flexibility as an interface for touchscreen tablets.
In fact, you might say that with the KDE 4.0 series, KDE is at last fulfilling the vision of fifteen years earlier of a modular, easy to use desktop. Adjusting to circumstances and controversies, KDE has weathered four major releases, and looks ready for another fifteen years of equal accomplishment.
[Note: KDE has no shortage of histories online. For example, the KDE History Page lists
conferences and a timeline of events and releases, while The Qt Issue
and The History of KDE
on the UserBase Wiki gives KDE's side of the controversy over the
development framework. A screen shot history is available on Saeid
Zebardast's blog and from the screen shot page on the main KDE
site (which is where the screen shots for this article were obtained). Those interested in KDE 4.0 might look for my "What Went Wrong with the KDE 4 Release?" when the Linux.com archives are restored.]
to post comments)