The "Kool" desktop is almost as old as Justin Bieber – and far more stable.

Desktop Through the Decades

Article from Issue 194/2017
Author(s):

We look at the ups and downs of the past two decades of the "Kool" desktop.

Those of us who started using Linux back in the late 1990s remember all too well that it wasn't a pretty operating system on the desktop. Sure, we had a bunch of tools like Netscape and Gimp at our disposal, and a variety of window managers, but everything felt like a bit of a kludge. Nothing was really well integrated, every app had its own look and feel, and while we still preferred it to the other operating systems of the time, we never really felt comfortable in it.

That's not to say it was all bad. FVWM users, for example, were rocking an insanely configurable window manager that wiped the floor with Windows and Mac OS. Users who did most of their work in text terminals were having an awesome time. The GNU/Linux combination with XFree86 on top was a workable desktop operating system for geeks with time to invest, but for newcomers it all looked rather clumsily bolted together.

Fortunately, one group of hackers had the foresight to do something about this. Instead of having a window manager developed by one team, and a file manager by another, and a text editor by yet another, all using different toolkits and config files and themes, wouldn't it be great if all these bits and pieces were worked on in unison? Wouldn't it make more sense for a desktop environment and all its common utilities to be developed by a single project, to encourage consistency and code reuse?

Well, in the late 1990s, two projects came to life that attempted to do just that: KDE and Gnome. The latter was started in response to licensing issues with the former, and we'll cover it another time; but, here we're going to focus on KDE [1]. There's an especially good reason to look at the past and future of KDE – the desktop environment recently celebrated its 20th birthday. 20 years! For some of us, it hardly feels like yesterday since Matthias Ettrich and company decided to tackle one of the biggest issues with Free and Open Source Software (FOSS) on the desktop.

Humble Origins

The problem of desktop inconsistency wasn't just limited to Linux, though. Other Unix-ish operating systems had the same flaws, and a few attempts were made to fix them. CDE, the Common Desktop Environment, began as a joint venture in 1993 between HP, IBM, and Sun Microsystems – all major Unix vendors – in an attempt to unify the experience across different platforms (Figure 1). And it did a reasonable job, offering a bundle of utilities built on the Motif widget set. Still, because none of the proprietary Unix variants ever achieved mainstream desktop popularity (Mac OS aside, if you count that), CDE never became a household name. (CDE was open sourced in 2012 [2].)

Figure 1: CDE was an early attempt to provide a consistent desktop on Unix and influenced initial KDE releases. (Image: http://tinyurl.com/jahbz2e)

The KDE project was born in October 1996 by German student Matthias Ettrich, who was already known in the Free Software community for his work on the LyX front end to the LaTeX typesetting system. Ettrich chose the name KDE as a reference to CDE, given that the projects had similar goals, with the K originally standing for Kool. That moniker didn't last long, however, so the official name swiftly became the K Desktop Environment – with the K meaning nothing. (At least the team didn't try to make it a doubly recursive initialism…)

Ettrich's original announcement of the project, and justification for its existence, is fascinating reading, just like Richard Stallman's original post about GNU or Linus Torvalds' "just a hobby" message about his home brew kernel [3], which, in a nutshell, says: Linux doesn't really have a GUI. It has a bunch of largely unconnected tools (window managers, widget toolsets, editors, etc.) that don't really work together. Let's fix that.

Around that time, a new graphical toolkit was starting to gain popularity: Qt. Ettrich's KDE announcement heaped praise on Qt, noting that it was a "revolution" for programming on the X Window System (the base graphical layer of most Unix-like OSes). Also, Ettrich highlighted the fact that Qt was "open source" – an issue we'll return to later – so he recommended it for building KDE. To create a viable desktop, various components would be needed: a panel (like a taskbar), file manager, mail client, terminal, window manager, help browser, and other utilities.

Building the Foundations

So mailing list discussions kicked off, plans were made, and developers started hacking on code. The journey ahead would be tough, yet enough people thought it was worth it to take on the challenge. Indeed, the team showed a lot of foresight by establishing a non-profit organization to represent the KDE community in 1997, called KDE e.V., even before the first release had made it out of the door. At the time, this was seen as an audacious and unusual move – why put all this effort in to setting up such an organization, when hardly anyone is using the software yet?

For one thing, KDE e.V. reassured existing and potential contributors that code, trademarks, and donations (cash and hardware) would belong to the community as a whole. This wasn't a fly-by-night project to grab some cash or boost the egos of a few developers. KDE e.V. was set up as an association under German law, lending extra credibility to the project and making it easier to organize events and get support from sponsors.

Interestingly enough, this model soon became much more common in the Free Software community. As soon as LibreOffice forked off from OpenOffice(.org), for instance, the team behind it established The Document Foundation, a similar non-profit entity. Then we have the Mozilla Foundation, the Gnome Foundation, the FreeBSD Foundation, and many others. In a world of patent trolling, copyright rip-offs, and GPL violations, these foundations and organizations can provide useful backbones for FOSS projects.

One issue that came up in the early days was licensing. As mentioned before, the desktop was built on the Qt toolkit, but this was a controversial move. Qt's source code was available to look at, but the Open Source Initiative wouldn't bless it as truly "open source" because modified versions could not be distributed. With Qt 2.0, the situation was improved slightly when the toolkit switched to the Q Public License – but it still wasn't compatible with the GNU GPL.

There was also concern that if Trolltech, the creator of Qt, was bought out by another company, the toolkit could end up becoming closed source, leaving KDE with no option but to use outdated versions. After a lot of discussions and flame wars in the FOSS community, a compromise was made: a "KDE Free Qt Foundation" was established that guaranteed that Qt would be re-released under the permissive BSD license if Trolltech (or a parent company) didn't release any more open source versions. So, although the QPL license wasn't ideal for everyone, this backup plan allayed many of the initial fears.

The First Release Arrives

So as we've seen, the KDE project made some major steps forward before even shipping a 1.0 release. By the time that happened on July 12, 1998, expectations were high: Some Linux users had tried prerelease versions, while others had seen screenshots in magazines and were eagerly awaiting a proper polished, integrated, and consistent desktop for Linux. At long last. Some pundits were sceptical that such an effort could even be successful, while others promised that the KDE team could rip their .fvwm2rc files from their cold, dead hands.

KDE 1.0 wasn't the prettiest desktop out there and, compared to some Enlightenment themes of the time, it looked rather retro with its chunky, Motif-esque buttons. Unusually, this first release didn't place everything in a single panel along the bottom of the screen, as we came to expect in later KDE and Gnome releases. Instead, the default layout included a taskbar along the top of the screen – which was seen as screen wastage by some users. On the other hand, it did give KDE a distinct look and helped to avoid accusations that it was just ripping off the design of Windows 9x.

Initial opinions of KDE 1.0 were positive. Journalist Bill Cunningham described the release at the time as "the sharpest, coolest window display I had ever seen on any operating system." He also praised the ability to configure every aspect of the desktop's appearance with a few mouse clicks – in contrast to other window managers, which typically required lots of poking around inside text files.

However, as expected of a first release, KDE 1.0 had its bugs and limitations. Seven months later, KDE 1.1 arrived with a boatload of fixes and updates: It was more robust, had performance improvements, and looked slightly better as well thanks to a new K logo (for the main menu) and other visual tweaks. Linux distributions started including KDE, with SUSE Linux doing an especially notable job of showcasing the new desktop.

Not everyone in the Free Software community was happy, though. The Free Software Foundation was especially concerned about KDE's usage of Qt and decided to tackle the issue on two fronts: first, by creating a separate desktop environment that would "use free software exclusively." This GNU Network Object Model Environment (Gnome) was initially pieced together from various existing components. Early Gnome releases paled in comparison with KDE in regards to consistency and spit-shine – but they provided an alternative for those who wanted to avoid Qt.

But the Free Software Foundation was pragmatic as well and encouraged the community to create a fully free Qt-compatible toolkit called Harmony. This was "designed to make it possible to run KDE software without using Qt," but never reached any kind of advanced stage as Qt was relicensed under the GNU GPL in 2000, thereby settling the issue once and for all. (See the "KDE 1.x Classic" box for more details.)

KDE 1.x Classic

Whenever we advocate FOSS, one of the benefits we talk about is having access to the software forever. You don't need to worry about your programs not working with the next operating system release – just recompile the code! Of course, in practice it's not that simple. Libraries change, compilers change, init systems change, and getting an old FOSS app from the 1990s to build on a modern Linux distro can be a pretty major exercise in frustration.

Still, it's technically possible, and the KDE Restoration Project [11] is a great example of this (Figure 4). 20 years after KDE 1 was released, you can now run it on a modern Linux distro – thanks to a bunch of patches and build system improvements from the project. To get it running, you may have to download the source and build it yourself; hopefully binary packages for mainstream distros will be available by the time you read this.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News