/etc/rant - The Spirit of Open Source
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.