Linux Today: Linux News On Internet Time.

GNUStep and GNOME working together: Wow! That would be COOL!

Dec 05, 1998, 11:28 (18 Talkback[s])

An Editorial by Jim Dennis

(Ed. note: Jim Dennis is "The Answer Guy" in the Linux Gazette.)

KDE is nice. It attracts many users (not only raging newbies --- but people who genuinely prefer the CDE/Windows/IBM-CUA interfaces).

Its principal advantage has been that it was started first and it's ready *now*. It has lots of lead time, lots of mindshare, and lots of working applets, accessories and applications.

Its principal disadvantage was that it chose an encumbered set of libraries. These were probably the best libraries available at the time. The KDE developers understandably wanted to get to work on the "good stuff" and weren't interested in designing and implementing the lower level GUI libraries and widgets.

The Qt libraries have always been free *for free projects*. Troll Tech's intent was clear --- they wanted the individual users and the community of freeware developers to benefit from their work while ensuring some sort of revenue from "those who can afford it" (specifically those who would be generating commercial revenue from the use of these libraries in their products).

I personally feel quite a bit of sympathy for the people at Troll Tech and those who contributed to the KDE project. The amount of flammage on this issue has been ridiculous and astounding. I certainly hope that Troll Tech doesn't feel that they've been "bullied into" this new license and I fear that this may appear the case for other ISVs who are observing the Linux press coverage from the sidelines.

GNOME is a much different project. Its goals seem to only be superficially similar to those of the KDE project.

For over a decade, we've been subjected to warm fuzzy hype about "object oriented programming" and "reusable code" and (more recently) by COM/DCOM (common object model, a.k.a. ActiveX) and SOM/DSOM (system object model and the distributed version thereof). These were supposed to provide us with integration and transparency, with the ability to put anything, anywhere and have it just sort of work, to create "active" or "dynamic" documents (a.k.a. "Good Times Virus Carriers" or "Typhoid Mail Messages").

The problem that the proprietary/commercial software world has had in realizing these fantasies has been exactly the same as the problem with Windows: .DLLs.

When MS creates a DLL (a dynamically linked library --- roughly the same thing we in the UNIX and Linux worlds call a "shared library"), they use it in their applications. They *might* publish *some* of the interfaces to access *some* of the functionality in that DLL. They will likely change the DLL and the interfaces over time. Consequently, ISVs can't trust the DLLs --- so they write their own. They can't extend or even fix the DLLs --- so they write duplicates with the extensions.

This problem is even worse when any "third party" (such as Symantec or McAfee) writes a DLL. They don't publish any of the interfaces to their "disk doctor" --- and they sue the pants and underpants off of anyone who tries to ship a product with *their* DLLs included. That's true of the whole market culture and model.

In the open-source world (and with some of the implementation sugar common in the UNIX and Linux shared library models), we don't have this problem. (Not even with Qt --- we, as *users*, never had a problem and the KDE team, as *freeware* programmers, also never had a legal problem --- through they did have a bit of a PR mess).

This problem is the same for "objects." If I can't use and distribute the "objects" royalty free or I don't know the complete interfaces to them, then I can't use them. This makes "dynamic documents" a form of coercion --- everyone receiving the document must have all of the applications and objects that are required to interpret it. That's what OLE and ActiveFOO and always been about.

The fact that GNOME provides an easy to use GUI is basically a sidelight to its real advantages. It's possible that GNOME will provide the first real advance in the promised "object oriented future" since the demise of the NeXTStep hardware platform.

NeXTStep and OpenStep were interesting, but they are "closed source" and proprietary. So they have stayed purely in their niches. GNUStep will provide an open source version eventually, but it may be too late.

GNUStep is the *real* competitor to GNOME. No offense intended to the KDE group, but KDE is "just another GUI." It's a better, slicker, more consistent GUI than the earlier attempts under UNIX. It's a nice set of applications and tools, GNOME has the opportunity to do some things that actually advance the state of the desktop *past* MS Windows, *past* CDE, and even beyond MacOS and NeXTStep/OpenStep.

GNOME isn't just a cute name. I think the developers meant it when they dubbed their project the "GNU Object Model Environment". I think that KDE has been a distraction from the real opportunity that GNOME represents. When you read the web pages at http://www.gnome.org, you can clearly see the influence (one might say "scars") of their reactions to KDE.

Personally I'm glad that Troll Tech has refined their license. Hopefully it will bring them profits and fund their future projects. I'm amazed that they didn't throw up their hands in disgust.

However, I'm especially glad that those people who were only interested in GNOME as a "free KDE clone" now have no incentive to infect the core team of GNOME developers. Hopefully GNOME can now focus on its real destiny and resist the pressure to just be a "better KDE."

The downside is that GNOME may go a bit slower, while they refocus. That righteous indignation and quasi-religious fervor that characterized the previous KDE/GNOME relationship was a powerful motivating force for some.

On the bright side, most of the newbie "buying" public does get a nice, familiar desktop to tide them over. We don't have to suffer through near as much sand being kicked in our faces about our "ugly old UNIX command prompts from the '70s." Also, if I read it correctly the KDE suite could easily be modified to recognize and incorporate key GNOME "hints" (so that the main remaining difference would be Qt vs. GTK+ --- which will only affect the programmers, since users won't even notice when both libraries are working on the X server concurrently).

I also hope that the GNUStep and GNOME teams get together. As I said, I think that GNOME and GNUStep are far more comparable than either of them ever was to KDE. I am in no position to say that they *should* work together or merge. However, I will say:

"Wow! That would be COOL!"

Jim Dennis is a consultant with Starshine Technical Services, and has a monthly column in the Linux Gazette.

He can be reached at jimd@starshine.org. This column is copyright © Jim Dennis. Redistribution rights belong to Jim.