/etc/rant - The Spirit of Open Source

How dare Linus Torvalds recommend that people use what's best?

Dang. I had intended to rant about wikis this month, but Dave Taylor covered the topic thoroughly and did a much better job than I would have. See his article “Why I Don't [strike]Like[/strike] [edit: Get] Wikis” in this issue.

There's plenty of other things to rant about, however. There's the schizophrenic, religious and hypocritical zealotry of free/open-source advocates that often gets more ink than the sane attitudes that are more prevalent in the development community itself.

Take the irrational fear of Java and its gatekeeper, Sun, as an example. Do you realize there are people who still insist that the only acceptable version of Java is a clean-room open-source implementation that (they presume) cannot be controlled by Sun? Did you also know that, according to Evans data, the vast majority of Linux developers uses Java-based Eclipse as their favorite integrated development environment (IDE)?

I'm using the Java-based Jedit to write this column. I use Jedit because I think it is the best editor on the planet. Ask me if I'm afraid that Sun will send the Java police after me to collect a license fee. No, ask me what I would do if Sun did that? I'd gladly pay up. Why? I told you. I think Jedit is the best editor on the planet and I want to use it.

Do you know what Linux developers named as their second favorite IDE? KDevelop. That's right, the KDE-based IDE that depends upon the evil Qt. Sure you can use the GPL version of Qt, which requires you to share your code. But Qt is evil because you have to pay license fees to its creator, Trolltech, if (and only if) you want to sell a closed-source proprietary application based on Qt.

GTK, on the other hand, is good, because you can sell closed-source proprietary applications based on GTK without having to give anything back to the people whose work you exploited in order to make your money. Don't take my word for it. When I talked to Ximian's Miguel de Icaza, he named the LGPL license as the reason why people should choose GTK and GNOME over Qt and KDE. And it is the LGPL that allows people to exploit the work of the developers of GTK and GNOME without having to compensate them with money or source code.

In view of this, it is beyond me how GTK and GNOME remain the poster children of open source for so many open-source advocates.

What is the spirit of open source? It is the GNU General Public License. The idea is that if you publish software that integrates someone else's publicly available work (work licensed under the GPL), you are required to make your additional work available to the public as well.

The Linux kernel is based on the GPL. NVIDIA violates the GPL because it keeps some of its Linux kernel driver code secret. The end result is that you will “taint” the kernel if you use NVIDIA's closed-source kernel module. Shame on NVIDIA. It isn't sharing like it's supposed to.

Fine. I agree with that. But how can you go from there to saying GTK is good because it allows—no, invites—you to do what NVIDIA does? The whole point of the LGPL is to allow you to add something to GTK without having to compensate the GTK developers with either money or source code.

Don't get me wrong. Personally, I couldn't care less what motivates people to use Qt, GTK, Java, Python or the practically useless GCJ (GNU Java compiler). What irks me is when someone advocates inferior solutions purely in the name of open source, especially when those so-called open-source solutions so clearly violate the spirit of open source.

If you want a good example of the right attitude, look no further than Linus Torvalds, Linux creator. You don't have to agree with his methods or his decisions, but I don't see how anyone can impugn his motives. Here is a man who cares about what's right and what has practical value.

So what are we to make of the fact that Linus Torvalds criticized GNOME and recommended KDE? Here we have the creator of the Linux kernel criticizing what many see as the poster child of open source and recommending the evil Qt-based KDE. Why would our open-source hero say such a thing? Because in his opinion (an opinion I share), the GNOME design is so bad it should be considered a disease.

You don't have to agree with him, but it's plain that his recommendation is based on his opinion of what works best. There's no sign of misguided zealotry or religion in that recommendation. Use what's best. What a concept. Linux developers seem to get it. It's about time the open-source zealots got it too.

Nicholas Petreley is Editor in Chief of Linux Journal and a former programmer, teacher, analyst and consultant who has been working with and writing about Linux for more than ten years.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

What a Judgment

Anonymous's picture

Whew... gotta watch out for that /dev/rant device, Nicholas.

It can make a person say things like Qt is "evil" because
Trolltech charges for their product and also find "good"
were Sun to ask you for a payment. I must say that the name,
rant, is a perfectly appropriate name for your column.

Rant Rant (r[a^]nt), v. i. [imp. & p. p. Ranted; p. pr. &
vb. n. Ranting.] [OD. ranten, randen, to dote, to be
To rave in violent, high-sounding, or extravagant language,
without dignity of thought; to be noisy, boisterous, and
bombastic in talk or declamation; as, a ranting preacher.
[1913 Webster]

Many Misconceptions! BAD LINUX JOURNAL!

Derek P. Moore's picture

The whole point of the LGPL is to allow you to add something to GTK without having to compensate the GTK developers with either money or source code.

This statement is 100% false. The LGPL allows you to link against the compiled library without having to GPL your application code. If you "add something to GTK" and distribute those modifications with your closed source GTK-based application, you are bound by the LGPL to release the source code of your modified GTK+ distribution. You are indeed bound by the LGPL to "give anything back to the people whose work you exploited in order to make your money."

Simple as that. I am terribly disappointed in Linux Journal. I am amazed their Editor in Chief is so blatantly reactionary and ignorant! This column sounds like O'Reilly Factor. Geeesh.

I won't even bother correcting your false presuppositions about the Qt side of the issue.

I will bother to point out your ignorance of the exception Linus gave to well-formed kernel modules (i.e., "user programs that use kernel services by normal system calls") from the GPL's definition of "derived works".

(Not only that, there are many typos in the $10 words Nicholas tries to throw around.)

QT under GPL doesn't automatically help OSS

magnus.therning's picture

I think you've missed a VERY important point when you're saying that QT, by being released under GPL, is better for OSS than GTK, which is released under LGPL. QT is available under two licenses. Please explain how it helps OSS when a company buys a license for QT that allows them to keep their application private, and if they make changes to QT itself keep those changes private as well (I haven't found the exact license that Trolltech sells QT under, but I suspect it allows private changes to QT as well)?

It seems you've been duped by Trolltech's FAQ ( http://www.trolltech.com/developer/faqs/index.html?catid=1953&id=159#answer). Their answer is rather silly if you stop and consider where they come from. Trolltech is a company that survives by _selling_ products. If they were to release QT under LGPL there would be no incentive at all for other companies to pay for a license since they'd be able to create applications on top of it with no obligation to release the source. However, by releasing it under GPL they allow the OSS community to benefit from QT while still keeping their paid-for license attractive for companies who want to keep their source private.

In the end I think a closed-source application based on GTK is better for OSS than a closed-source application based on QT--any changes made to GTK must be fed back to the public.