KDE Developers Discuss Merging Libraries With Qt

Posted by Michael Larabel on October 31, 2010

Well, here's some interesting weekend news: there's a polarized discussion taking place right now among core KDE developers about merging the KDE libraries into upstream Qt. Cornelius Schumacher, a long-time German KDE developer and currently the KDE e.V. president, has come out yesterday saying, "Let's merge Qt and the KDE development platform. Let's put all KDE libraries, support libraries, platform modules into Qt, remove the redundancies in Qt, and polish it into one nice consistent set of APIs, providing both, the wonderful KDE integration, consistency and convenience, as well as the simplicity and portability of the Qt platform."

Cornelius had written a mailing list message summarizing this proposal of merging the KDE libraries with Nokia's Qt libraries. Here's some of his other quotes from this message:
We all love Qt, without it KDE wouldn't exist. We also love the KDE development platform, it provides all that what Qt doesn't have or didn't have at some point in time. But is there still a real reason to keep them separate? Wouldn't it be much more elegant, if you wouldn't have to decide, if to use some KDE classes or write a "qt-only" application, if you would get all the wonders of KDE from Qt in one consistent way?

Sure, this would be a massive effort, and require huge changes, it would probably mean Qt 5 and KDE 5, it would take quite some time, it would need further changes to the Qt governance model, it would mean investments from Qt Development Frameworks, it would mean a long transition phase for applications to adapt. But wouldn't it be worth this effort? What's the future of the KDE development platform long-term, independent of Qt?

There are probably a hundred times as many Qt developers out there than KDE developers, and if Nokia is only half-way successful with their plans for Qt, this ratio will continue to change rapidly in favor of Qt. By merging the platforms we could turn all these Qt developers into KDE developers. We could benefit from and contribute to the success of Qt without restrictions. We would reach way more users. We could much more easily acquire contributors.
...
On the other hand Qt has broadened a lot, and recently with the ambition to provide a full API for MeeGo this has accelerated. That's a bit similar to what KDE did quite some time ago. There is more and more redundancy and overlap between Qt and KDE libraires, and we still don't really have a good answer to that. A merge would be an answer, a big answer.

The KDE desktop and Plasma would effectively stay the same, along with the KDE applications, but all of the KDE libraries would end up becoming Qt libraries. Some developers agree with Schumacher's proposal and view it as a good vision for the future of KDE, but there are some mixed feelings such as those expressed by Alexander Neundorf. "KDE 4 is still young, and I know many people who still prefer KDE 3.x. Announcing the next big breakage and 5 years of development for KDE 5 in the next two years or so might also be the death of the KDE desktop."

KDE's Mark Kretschmann, the founder of the KDE Amarok project, had this to say about the proposed idea of merging the KDE libraries into Nokia's upstream Qt:
Cornelius,

I must say: Kudos to you. You made my day.

What you have proposed is one of the smartest and most groundbreaking ideas I've seen in a long time. Admittedly, it sounds crazy at first sight. And I talked to some fellow KDE developers who were very skeptical about it.

However, there was a time when a certain Matthias Ettrich invented KDE. You know what people said when he published his idea?

"It cannot be done."
"No way."
"Impossible."

Look at what has become of his "little idea" now. And think about it: Most really great ideas start like that, with people being skeptical, just because it's new and needs getting used to. Cornelius's idea might be daring, but it is worth giving it some really deep thought.


PS:
Chani, thanks for bringing up this topic. A much needed discussion, and very useful too.

Other developers such as Albert Astals Cid, who maintains several KDE applications, feels though that Qt is not doing what they promised and are being naive. Albert even compares some of the shortcomings with the Qt project itself to what led OpenOffice.org developers to fork into LibreOffice. "Once this happens we can start speaking, anything we do now is wasting our time." Albert also does not agree with the Qt licensing requirements.

The original thread has already become quite lengthy, but this morning another thread pertaining to this discussion has been started and is entitled Cornelius's grand plan. In this second thread started by Mark Kretschmann, he said, "It's a very controversial idea. However, I think it is so refreshing that it deserves some more thought. Personally, I think the idea is great, if we can overcome some of the obvious road blocks. I would love to read some honest and direct thoughts from you guys."

There's many more posts in this second thread already and this discussion will likely continue to expand once the weekend is over. Some think this change could not even happen until KDE 6.0 if first the KDE libraries (kdelibs + kdesupport + kdepimlibs) are reorganized, which would lead to a binary compatibility break and thus KDE 5.0. Following the KDE5 library reorganization they could begin work on moving the needed code into Qt, which would break compatibility again and then create KDE 6.0 based atop a hypothetical Qt 5.0 release with these KDE library goodies.

We're still reading the flow of messages coming into both threads about this proposal and will add more interesting bits of information from both sides accordingly. Tell us what you think about this proposal by clicking on the comments button below.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  5. New NVIDIA Linux Driver Supports The GeForce GTX 780
  6. Chrome 28 To Offer More Speed Improvements
  7. Digia Announces "Boot To Qt" Project
  8. X.Org Libraries Hit By Round Of Security Issues
  9. Wayland's Weston Gets Output Scaling Support
  10. Raspberry Pi Gets New Wayland Weston Renderer
  11. Debian GNU/Hurd 2013 Release Brings New Packages
Latest Forum Talk
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. Microsoft's zombie attacks Android (again)
  5. Raspberry Pi Gets New Wayland Weston Renderer
  6. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite