We just launched KDE Sutra, a KDE magazine by Muktware, to celebrate our 3rd anniversary. Aaron Seigo, the Plasma project leader, has written the introductory column for the magazine launch. Here I present to you Aaron Seigo! — Swapnil Bhartiya (editor KDE Sutra).
KDE is a community with over fifteen years of history during which time it has consistently produced one of the premiere Free software desktops. It is one thing to make a new software project sound and look exciting; it is another to maintain interest and excitement across fifteen years. It is one thing to gather a group of developers to scratch a collective itch; it is another to evolve that into a thriving community encompassing thousands of participants and dozens of companies with a healthy and vibrant culture while managing generational turnover.
Yet all of those efforts pale in comparison to keeping the technology itself relevant for that long. Who uses computers, how they use them, what computers look like and their capabilities shift from year to year, let alone decade to decade.
KDE’s secret to success and survival over the past fifteen years is simple: momentum. The KDE community has striven to never stop creating for today, never stop anticipating tomorrow, never stop having fun and never stop being welcoming to new people and new challenges. This pace has kept KDE moving and sustainable, but it begs the obvious question: where is this momentum taking KDE right now?
As a long-term user of and contributor to KDE software, a past-president of KDE’s global non-profit and a KDE entrepreneur, I would like to invite you on a tour of this dynamic community.
The User Experience
KDE was started to produce a “desktop environment”, which is all the essential pieces of software needed to have a useful graphical interface on a desktop computer. We still make a desktop environment, but it has evolved over the years into a modern technology we call Plasma. This framework is used to build featureful, beautiful and elegant user experiences.
Besides providing all the expected “mundane” features of launchers and file managers, Plasma also provides the bells and whistles people have come to expect such as being able to tether a smartphone for 3G Internet access and universal file searching and tagging (essentially a mini-Google on your computer).
Today we produce Plasma Desktop for your laptops, desktops and workstations. This is complemented by Plasma Netbook which is optimized for systems with smaller screens used primarily in an on-the-go pattern but which still have a keyboard and pointing device. There is Plasma Media Center which provides a media discovery, browsing and playing experience. Finally, but certainly not least, there is Plasma Active which is tailored for mobile devices with an interface tailored for touch screen interaction.
The truly amazing thing is that these different faces to KDE’s “desktop environment” use the exact same technology under the hood. Plasma is a shapeshifter, able to morph into whatever user experience is most appropriate for the context. Each of these faces of Plasma also work perfectly with each other since under the surface they are, after all, the same software.
Due to sharing core technology, not only can we evolve the existing interfaces at a fast pace, but it is also eases to adapt to new requirements and form factors. A vendor (or a committed user) can turn Plasma Workspaces into exactly what they need with very little effort and end up with a quality result, backed by a large community of developers and companies.
Currently we are working on integrating with the next-generation Free software graphics stack that includes things such as Wayland, the successor to the venerable X.org. These efforts will allow the entire user experience to be rendered in dedicated graphics hardware (where available) utilizing the full power of the GPU in your system. It will also bring the ability to seamlessly morph between any two faces of Plasma without even logging off. Your tablet can become your desktop can become your media center at the tip of a hat.
Developing and deploying add-ons is also becoming easier than ever with the extensive use of the Qt Quick development tools, allowing write-once-deploy-everywhere packages that have no native code but which look and feel native while performing brilliantly on even small devices. We have developed a content store (Bodega) that is Free software and which will allow creators and makers to deliver content, applications and add-ons to users, either gratis or for a fee in an open market environment. This is part of our “complete development lifecycle” thinking.
In the midst of this future-facing work, we continue to make releases of the stable KDE Plasma 4.x series. In fact, 4.11 will be the last major feature release version as we turn the development corner to Plasma Workspaces 2. The 4.11 version will, however, see stability, security and bug fix releases for at least two years after initial release this summer giving our users and partners a solid foundation to rely on while we work on the next big thing.
An Abundance of Applications
KDE has grown far beyond its original aims of providing a desktop environment. Today hundreds of applications are developed within the KDE community that are independent from KDE’s Plasma Worskpaces. These applications can be run in nearly any environment you care to, not just KDE’s Plasma but any of the other Free software environments as well as Microsoft Windows and Apple’s MacOS.
Most of these applications have their own community of developers and the aims are hugely diverse. This makes KDE more of a meta-community, or a community-of-communities, than a single monolithic entity. Still, twice a year, many of these applications make a release on the exact same day making it easy for users and packagers to take advantage of this wide scope.
How wide is this scope? Consider that KDE creates all of the following:
- educational applications for young people
- fully-featured developer tools such as KDevelop which provides advanced editing, debugging, project management and refactoring support.
- music players with rich user experiences that can tie into online social media
- video editing tools such as KDEnlive
- full groupware clients (Kontact) with an unparalleled feature set that supports multiple popular email and groupware servers
- natural media painting and drawing applications (Krita)
- an integrated office suite with word processing, spreadsheets, databases and more (Calligra)
- a huge array of utilities such as CD/DVD authoring tools (K3B) and bittorrent clients (Ktorrent)
- mapping software to explore the world with, including built-in navigation (Marble)
- document viewers, complete with advanced features such as PDF form editing (Okular)
- … and much, much more
This astounding collection of projects and people continues to power forward to this day. Many of these applications have reached states of maturity that make them appropriate for use in the home as well as the enterprise. Over the next few years most of these applications will be making the shift to a new version of our developer frameworks (Qt5 and KDE Frameworks 5). We have worked very hard to ensure that this is a simple and regression-free experience. For most of these software titles, a simple recompile with little or no adjustment of the underlying source code will be required.
This allows KDE’s application developers to continue to focus on stability, refinement and features even as the platform beneath them continues to evolve. While the technology world shifts, KDE applications are happily insulated from evolution in system services such as multimedia, hardware awareness or access and session control.
An increasing number of KDE applications have also begun to offer not only a traditional desktop experience, but also a touch-friendly mobile experience in much the same way that Plasma does. Of the applications listed above Kontact, Calligra, Marble and Okular all have mobile versions of the user interface.
Future-proof, modern applications that move deftly between device form factors is not the future for KDE, it is the present reality and we continue to move ever further in this direction.
The Developer Experience
In the process of making all of this software, it was inevitable that KDE would also create a stunning array of development support tools and application programming interfaces (APIs). Developed alongside the desktop environment and applications, these libraries and tools had a clear, if simple, focus: make KDE applications easy to create, consistent and full of features. Our libraries certainly accomplished this, but we realized that keeping this to ourselves was a shame: this work could benefit so many others if only they could use these libraries more easily.
One of the major pieces of feedback we kept receiving from developers was that while there is great functionality in our libraries, they were too difficult to package across multiple platforms and came with too broad of a feature set in each individual unit.
We listened, and have been working hard on the modularization and dependency simplification of the KDE Platform libraries to turn them into KDE Frameworks: an array of highly focused libraries that anyone developing applications with Qt can use easily across all platforms Qt supports. The libraries are all released under the LGPL v2+ (or more permissive), so they can be used in Free and proprietary software alike.
Nearing important milestones towards completion, KDE Frameworks will allow application developers to say “I want a library that just opens compressed archives” or “I need a framework implementing the asynchronous job pattern” and be able to pluck exactly that library from the Frameworks catalog. These libraries are designed in ways that feel very familiar to anyone who works with Qt.
We also provide a full set of advanced Qt Quick components for writing modern, fluid interfaces with a clear data/visualization separation along with a runtime environment for applications built with them.
To make working with this array of technologies easier, we host extensive documentation and tutorials at api.kde.org and techbase.kde.org (which is also a community editable wiki). We provide developer tools such as the Plasma-focused Plasmate which makes creating, modifying, testing and publishing Plasma addons simple and KDevelop which is a powerful and modern IDE. Numerous other tools such as Okteta for binary file analysis and editting and KCacheGrind for performance analysis round out the KDE SDK.
The People Experience
KDE has been described as one of the most open and welcoming Free software communities around. This manifests itself in many ways. We have an extensive community support program that extends beyond the usual irc channels and mailing lists most Free software projects have. There is our community working group, a consensus-derived code of conduct and multiple developer outreach programs including Google Summer of Code, KDE Season of Code and the Outreach Program for Women.
We also host vibrant user and developer gatherings around the world throughout the year and you will often see a KDE booth full of smiling supporters at technology fairs. The online userbase.kde.org (another community wiki, but this time for user documentation), forums.kde.org and bugs.kde.org are vibrant and (remarkably, for the Internet) relatively flame-free.
New contributors, be they developers or artists or translators or writers, are welcomed openly and supported in their path to becoming a valued member of the KDE community. In support of this, we also have a global non-profit that is made up of hundreds of active community members which not only coordinates finances, assets and events with the community but also provides ways for people to support KDE in creative ways such as their Join the Game membership program.
The open nature of the community has purged the “not invented here” syndrome from our ranks. Today KDE is one of the strongest adopters and supporters of exciting technologies that are created by other Free software communities. By working with an astounding array of other technology communities on a daily basis to the benefit of everyone who uses the software we create, KDE’s software has become highly interoperable and helps seed and support efforts across the Free software landscape.
KDE is also open for business. Dozens of companies, large and small, have been part of the KDE success story. Many of these companies employ or sponsor developers who dedicate their time to working on KDE technology. Nearly a hundred developers work on the Qt and KDE libraries full-time, and many more work on the applications and workspaces as part of their day job.
Other companies contribute financially to our non-profit foundation, KDE e.V., which uses those funds to ensure the community can hold in-person meetings and has the necessary infrastructure and tools to keep moving forward. Yet others provide infrastructure support, co-promotional activities, contribute design services and other vital ingredients to KDE.
Many of these companies are small to medium sized entrepreneurial outfits which makes for a vibrant and exciting atmosphere. Some are software houses, others are operating system vendors, others are involved with hardware design and manufacture, others are large institutional users of KDE with government, educational or corporate ties. They have discovered that KDE is an amazing natural resource of technology which they can participate in and build profitable businesses around.
Yet even with the business activity around KDE, non-commercial community members are not marginalized or find themselves treated as second class citizens. No individual company has overbearing influence and all participants, corporate and community alike, participate in the open meritocracy of KDE as equals according to their efforts and interests. Due to this, there is a constant inflow of people who work on KDE in their spare time or as part of research programs and do so for the enjoyment of the work and the sense of community belonging and achievement. Many of our community members have also found amazing opportunities to travel the world, meet new people and network with leading companies through their involvement with KDE.
The KDE Experience
If there is anything that 15 years of experience has instilled in our community it is this: we want 15 more amazing years. We wish to create technologies and a community that will outlive our own participation, which will be used by and be useful to unknown future generations. To do this we believe that we must plan for the future, do so in the open and work with each other in setting and achieving our goals.
KDE may create great technology, but it is this world view that will ensure our future relevance and makes KDE a community you can count on both today and in the future. It is our momentum that gives us solidity.
I invite you to explore what KDE has to offer you and, should you choose to participate in some way I hope to be among the first to welcome you aboard.