posted by Eugenia Loli on Thu 13th Mar 2003 17:43 UTC
IconA 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.

It is well known to the readers of this site that I am for interoperability when it comes to the two main X11 desktop environments, KDE and Gnome. In my opinion, this is the only way forward for the Linux desktop's massive adoption. Most Linux graphical apps are written in either Qt or GTK+. And every new platform needs as many quality apps as it can get (BeOS taught me as much at least...) to stay viable. Therefore, it is important for any Linux-based operating system company to be able to support both. Red Hat was the first distro to make the big step on trying to unify the look of the two toolkits with the use of the BlueCurve theme. Freedesktop.org goes a step closer to a more real integration that would bring an end to the problems we get today between the two environments (major app behavior differences, no full DnD support for all apps, different dialogs, UI HIGs, menu system, notification area etc etc).

All these differences are a huge pain for the average user. Expert users, or users with a 'religious' background (against the one or the other DE) will assert loudly that they don't mind having a different breed of apps running under the same desktop while others will assert that they either run GTK+ apps or only Qt apps and that they don't bother with the "competitor's" offerings... Sorry, but the big Linux companies I know ALL want to have full interoperability and same app behavior and looks for both their Gnome and KDE and the same goes for the average user. Why? Because it makes sense! The userbase these companies are trying to capture are Windows users who are used to seeing apps that work and look the same, no matter the toolkit or language they were written on or compiled with.

The Linux platform today is not necessarily the 1996-era 2-hour afternoon hacking project by Joe Developer from his bedroom somewhere on the planet. There are still some elements of this, and Linux is still a great OS for hacker projects, but all in all it has become more corporate. Not acknowledging that fact would be a mistake. The largest pieces of code for the main OSS projects today are written by companies who have adopted OSS as their business, not Joe Developer. Joe is still there, but more and more code is coming from these companies.

These companies do not necessarily have the same needs as the hobby hacker team might have. Joe might not care about Gnome, and Joanne might not care about KDE, but Red Hat, Mandrake and SuSE care for both of them, because the Linux applications their users want to load happen to run on both of them. So interoperability is a must for them. They either do whatever is necessary to build the user experience in a way that will please their users or, both themselves and the Linux platform in general are going nowhere in the desktop. Plain and simple.

Take Apple as the example. They have support for 3 different toolkits, Carbon, Cocoa and Java. And applications written in each will look and behave pretty much the same way when they're run. And that alone is a reason for someone to switch to MacOSX. Same goes for Windows' three supported main APIs. All look and feel the same. Even Qt and Tcl/Tk and wxWindows are careful to offer support for the Windows look and feel for their Windows versions, simply because it is important to do so.

And this is what Red Hat, Mandrake (with their new Galaxy theme), Freedesktop.org and even SuSE want to have. There is nothing weird about it. It is business as usual and in fact, it is business that would help the whole Linux platform in the long run, not just the individual distro in question.

I believe that the real problem in co-operation between Gnome and KDE (as I see it in the mailing list discussion) are the people who don't work for these companies. These people (thankfully not all of them :) don't view the world with the eyes of someone who wants to make a better (commercial) product. They view the OSS world with their own political agendas, which sometimes go back to 1996 for issues that are completely resolved now. They view the "competitor's" project with skepticism and distrust and they are the ones who separate this OSS project from the other OSS project. These hackers are doing a lot of work for free, and the community is grateful for it, and I am too. But what I don't like is allowing these independent hackers get in the way of evolution because of their own political/religious agendas. That would be a major mistake for the further adoption of the Linux platform as a viable desktop alternative. In fact, some think that KDE (or Gnome) is already an almost perfect alternative to Windows or Mac -- while this is just not true. And very thankfully, most usability engineers that happen to work on Mandrake/SuSE/Red Hat (the big three), agree with me. There is a lot to be done yet, and this road goes through the unification of the specs and sharing of code between apps that are depending on Qt and GTK+.

Some said that trying to do all this "sharing" work could put a break on the two DE's effort on adding more features. However, do you rather have Linux never get adopted by the desktop market just because our hackers were enthusiastic to add more features (and more pref panels ;) instead of doing the tedious work of modifying things under the hood (that the users can't see with a "naked eye") but which will enable them to go forward as a whole? Point is, there is work to be done and by postponing this work at this critical point that the Linux platform stands today, would be a mistake. Both camps will need to make sacrifices and might even change libraries or code that a dev really likes a lot but for the good of the interoperability, it is something that has to be done.

Back in the '80s Unix lost its unity and the leading Unix companies could not agree on specs, standards or on fair competition between each other. That was one of the reasons why Unix became weak in the early '90s and Windows started to take off. Don't let the same happen today, as the Unix philosophy has a second chance with they sustained hype around Linux. Unity will make the whole platform strong, fragmentation will destroy both of you. Let history give you a lesson and don't redo the same mistakes over and over again over religious matters...

And make no mistake: "the common standards that were defined up to now didn't make KDE nor Gnome lose their individuality". Choice is good and choice will remain. Nobody is saying to make Gnome and KDE the same project! What is needed are just some common standards that will make the life easier for the user and the application developer. Each project will retain its individuality, but instead of having, for example, a Gnome item working via the notification area in the gnome taskbar just fine and then you run the same app under KDE and you get the notification little app as a real window and not on KDE's notification area, that is very bothersome for the user. Or when DnD doesn't work. Or when copy/paste doesn't work correctly for some apps still (despite the X standard). All of these issues need to go away. It is the only way for users to stop criticizing how "clunky" XFree is, while XFree has nothing to do with this whole issue...

The second biggest problem in the cooperation of the two projects is poor communication. I would advocate that the core developers and usability engineers of BOTH projects should join a kde-gnome mailing list, or simply subscribe to freedesktop.org's mailing list, and start writing the code required.

However, it is not all "hacker's fault." Don't get the wrong idea please. Companies need to communicate better with the hacker community as to what they have in mind on doing next. And also communicate with both projects! Red Hat should be more active in the KDE list and SuSE/Mandrake should be more active in the Gnome list. They include these projects in their products so it only makes sense to be the driving forces on both camps regarding peaceful co-existence and co-operation. And they should give equal chance and support and respect to both projects. They should be the bright example. (However that doesn't mean that the KDE 'About Box' should be present on each and every Qt app. That's duplication of information and as KDE is free software, modifications are allowed as long they don't violate their license. This is to say that companies will modify things sometimes that might be disturbing to the project's line, but might make absolute sense in the company's line. I am personally ok with this because I understand the needs and HIGs involved - as long they are legal.)

However, if no middle ground is to be found between Gnome and KDE (I pray that this won't happen though) we might see forks from the really big distros. And that won't be good for anyone. If a company is forced to take such actions (simply because their customers are asking for it) that can only be a bad thing for the forked project. And if that company which might do a fork has become in the meantime a 800pound gorilla, then after a few years the original project would be forced to comply with that company's modifications/standards anyway, as it will be seeing its userbase fleeing and they will be the ones who will suddenly become "non standard" funnily enough. What I described here is a long shot, but it could happen. Just pray that it won't.

I can only suggest that Gnome and KDE developers keep open minds, think outside of the box and most importantly: think about the long run, not just the "today." The Linux platform today has different needs that it had 5-6 years ago. People expect a lot from it, expect it to live up the the years of hype. The big three are trying to deliver the goods with the help of many "enlightened" individual hackers, but others are just stuck in their own agendas and "traditional/romantic" way of seeing things. These "backwards" people can become the culprits for holding back wider adoption of the Linux desktop. People overall will have to think more broadly, trust, work together and communicate better.

At the end of the day, there is no Linux distribution company which would like to see its Linux-based products get hurt (except SCO maybe ;), so by helping out the "bigger, more important plan" can only help everyone, not just those few that you might like or dislike.

Table of contents
  1. "The Commentary"
  2. "Thread Summary"
e p (0)    201 Comment(s)

Technology White Papers

See More