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.