
A KDE developer tipped me off to a
recent thread discussed in the kde-core-devel mailing list regarding
interoperability between KDE and Gnome. OSNews featured an
interview with the usability experts from Gnome and KDE a few days ago and we expected that the spirit of co-operation would continue to get stronger every day. Luckily this is true regarding most of these developers, but not for all of them are sharing it. Here is a commentary on the issue followed by a summary of the long thread.
To quote the KDE people:
But it is for the user benefit. Right now, KDE is pleasing its users. Some people wish us to throw away things that are working and pleasing people in order to court people who by definition aren't using KDE so much.
I ask you: What does replacing KDE tech with plain C tech do to benefit
people who use KDE? Not users of GNOME apps, but users who actually use
the apps we ship?
I think he is absolutely right. Gnome has very little to offer KDE, it is the inferior product by most reasonable measures. Unix has had window managers that allowed applications to communicate with each other for many years before KDE came along. But a GUI is more than a window manager and KDE was the first full featured Unix gui. Introducing more than just surface support for Gnome into KDE would render KDE as little more than a window manager for KDE apps.
Lets assume "the worst case" and that the GUIs continue to develop along a natural path to the point that Gnome apps are virtually unusable in the KDE gui and that KDE apps are virtually unusable outside the KDE gui. OK what is so horrible with that? Some distributions become KDE based (like Mandrake was in the early days) and others are more flexible. "Linux" is a kernel not a product and it doesn't need to worry about branding. Distributions like RedHat, Suse and Mandrake should be branded. I would hope that in the future that IBM relases an AIX-Linux and IBM's AIX-Linux looks and acts just like AIX, which means all sorts of "Linux standards" are violeted but all sorts of AIX standards are maintained.
I'm going to respond Rich's example to show how destructive this unity push is:
- Why don't they create a general HTML library out of KHTML that could be used by KDE (std widgets), Gnome (std widgets) and Apple (Safari)?
Good reason. KHTML uses QT which is a GPL app which means KHTML must be GPL. Gnome as a matter of philosophy does not bundle libraries under the GPL because they want to leave the floor open to commercial development (something KDE is opposed to). If you think the HTML library in kdelibs is better than the one in Mozilla then you are KDE user.
- Why don't they (KDE/Gnome) use one big library for STL-like stuff? (lists, queues, hash tables, string support, etc)
Many of the data structures for KDE are provided by their standard widget set, QT. Gnome was designed to not use QT; Gnome has no permission to take Trolltech's code and relicense it under the LGPL.
- Why am I replying to this article while I know the previous stuff will never happen?
(altough I would really like that, just take the good stuff of both environments and create _general_ desktop libraries out of them)
Because you didn't know why they wouldn't happen. You probably thought it was people being stubborn not that it would be essentially illegal.
____________
Finally on the issue of commercial developers.
1) Companies should have no problem GPLing their internal code. Banks were given as an example. Banks should be trilled to work together on designing better internal systems. I think it would be great if Bank of America, Wells Fargo, First Union, Chemical Bank... could work together on their internal systems. Writing the same system 200 times over doesn't benefit any of them.
2) If you want to write for KDE and don't want to pay the trolltech tax then write a pure X app. There are still tons of good libraries that just bind at the X level and would work fine with either KDE or Gnome. By picking GTK or QT you are and should be selecting a GUI.