/etc/rant - 开源的精神

作者:Nicholas Petreley

真见鬼。我本打算这个月要抨击维基,但 Dave Taylor 已经彻底涵盖了这个话题,而且做得比我好得多。请看他在本期杂志上的文章《为什么我不[删除线]喜欢[/删除线] [编辑:理解] 维基》。

然而,还有很多其他事情可以抨击。例如,自由/开源倡导者的精神分裂、宗教式和虚伪的狂热,这些通常比开发社区本身更普遍的理智态度更引人注目。

以对 Java 及其守门人 Sun 的非理性恐惧为例。您是否意识到仍然有人坚持认为唯一可接受的 Java 版本是干净的开源实现,(他们认为)Sun 无法控制?您是否也知道,根据 Evans 数据的说法,绝大多数 Linux 开发人员使用基于 Java 的 Eclipse 作为他们最喜欢的集成开发环境 (IDE)?

我正在使用基于 Java 的 Jedit 编写这篇专栏文章。我使用 Jedit 是因为我认为它是地球上最好的编辑器。问问我是否害怕 Sun 会派 Java 警察来找我收取许可费。不,问问我如果 Sun 真的那样做我会怎么办?我会很乐意付钱。为什么?我已经告诉您了。我认为 Jedit 是地球上最好的编辑器,我想使用它。

您知道 Linux 开发人员将哪个 IDE 列为他们的第二选择吗?KDevelop。没错,就是那个基于 KDE 的 IDE,它依赖于邪恶的 Qt。当然,您可以使用 GPL 版本的 Qt,这要求您共享您的代码。但 Qt 是邪恶的,因为如果您想销售基于 Qt 的闭源专有应用程序,您必须向其创建者 Trolltech 支付许可费(并且仅当您想这样做时)。

另一方面,GTK 是好的,因为您可以销售基于 GTK 的闭源专有应用程序,而无需向那些为了赚钱而利用您工作的人提供任何回报。不要只听我的一面之词。当我与 Ximian 的 Miguel de Icaza 交谈时,他将 LGPL 许可证列为人们应该选择 GTK 和 GNOME 而不是 Qt 和 KDE 的原因。正是 LGPL 允许人们利用 GTK 和 GNOME 开发人员的工作,而无需以金钱或源代码来补偿他们。

鉴于此,我无法理解 GTK 和 GNOME 如何仍然是如此多开源倡导者的开源代表。

开源的精神是什么?它是 GNU 通用公共许可证。其理念是,如果您发布集成了其他人公开发布的作品(根据 GPL 许可的作品)的软件,您也必须将您的额外工作公开。

Linux 内核基于 GPL。NVIDIA 违反了 GPL,因为它对其部分 Linux 内核驱动代码保密。最终结果是,如果您使用 NVIDIA 的闭源内核模块,您将“污染”内核。NVIDIA 真可耻。它没有像应该的那样分享。

好的。我同意这一点。但是,您怎么能从那里得出 GTK 是好的,因为它允许——不,是邀请——您做 NVIDIA 所做的事情?LGPL 的全部意义在于允许您向 GTK 添加一些内容,而无需以金钱或源代码来补偿 GTK 开发人员。

不要误解我的意思。就我个人而言,我完全不在乎是什么促使人们使用 Qt、GTK、Java、Python 或几乎无用的 GCJ(GNU Java 编译器)。让我恼火的是,当有人纯粹以开源的名义提倡劣质方案时,尤其当那些所谓的开源解决方案如此明显地违反开源精神时。

如果您想要一个正确态度的好例子,那就看看 Linux 的创建者 Linus Torvalds。您不必同意他的方法或他的决定,但我不明白任何人如何质疑他的动机。这个人关心什么是正确的,什么是有实际价值的。

那么,我们该如何理解 Linus Torvalds 批评 GNOME 并推荐 KDE 这一事实呢?这里,Linux 内核的创建者批评了许多人眼中的开源代表,并推荐了邪恶的基于 Qt 的 KDE。为什么我们的开源英雄会说这样的话?因为在他看来(我也是这样认为),GNOME 的设计太糟糕了,应该被视为一种疾病。

您不必同意他的观点,但很明显,他的推荐是基于他对什么效果最好的看法。在他的推荐中看不到被误导的热情或宗教狂热。使用最好的。多么棒的理念。Linux 开发人员似乎明白这一点。是时候让开源狂热分子也明白这一点了。

Nicholas Petreley 是《Linux Journal》的总编辑,曾任程序员、教师、分析师和顾问,从事 Linux 相关工作和写作已超过十年。

加载 Disqus 评论