Stallman在Qt, GPL, KDE, 和GNOME上的立场
发布时间:2000年09月07日
遵循GPL (GNU General Public License,GNU通用公共许可证)许可证的Qt使得采用现有GPL的程序得到了合法地位。它提供了一种解决自由软件社区长期以来存在的问题,即有关KDE的合法地位问题。
实际上,KDE的设计本身就基于了一种基本的错误:当时的Qt图库并不是一个自由软件。尽管KDE开发者的意图良好,尽管KDE的源码本身是自由软件,但是只要KDE一直需要Qt图形库这一非自由软件,那么KDE就永远也不可能成为一个完完全全意义上的自由操作系统。
但是KDE开发者本身似乎并不关心这一问题,而且他们的合作者们似乎也赞同他们的观点。随着KDE/Qt的发展,自由软件所要冒的风险也越来越大。这种风险就是随着KDE/Qt的日益根深蒂固,大多数的用户都对其必不可少的特性深信不疑,而忘了自己实际上是在使用非自由软件。如果这种战略位置十分重要的非自由软件被大家广泛所接受,那么这无疑将鼓励大家普遍地去接受非自由软件,同时这也就意味着将有越来越少的人愿意用一些真正意义上的自由软件去替代KDE/Qt。而这种替代工作将需要大量的人员投入,就象当初我们用GNU、GNU/Linux取代Unix一样。如果真到了这种局面,那将是一件令人十分沮丧的事情。
幸运的是我们还没有走到这一步。但是很明显,在陷入这种尴尬局面之前我们必须采取预防措施。1997年,我们同时开展了两个有关项目去避免以上情况的发生:一种旨在提供一种完全不同的可取代Qt的图形界面――GNU桌面系统(GNOME)。同时进行两个项目的开发是因为任何一个项目都有可能失败,为了确保其中一个项目的成功一定的冗余是必要的。
GNOME在1999年的时候终于取得了实质意义的进展。届时Qt将在一个完全新的许可证下发布,这使得其能够成为完全意义上的自由软件,从而解决了KDE/Qt实际只是部分自由的关键问题。但是,还有一个问题依旧无法解决,即许可证之间的矛盾。
QPL与GPL无法兼容意味着Qt和遵循GPL的模块无法合法地结合,除非两个模块的开发者中有一个给出了特例授权。KDE开发者当然是愿意使用遵循GPL 的Qt,他们会告诉您只要与Qt发生了关系那就不言而喻地意味着他们授予了您使用权。但是他们却无法正式地公布该事实,因此依赖于这么一种默许的授予并不是一件舒服的事。
显然,由于根本上缺乏一种可以明显宣布例外授权,因此KDE的合法地位始终阴云密布。
而Qt 2.2 提供了解决第二个问题的办法,尽管还有一些障碍需要进一步扫除。事实上,一成不变地滥用遵循GPL许可证的程序就相当于被永远剥夺了彻底发布源码的权力。这样一种情况实际上已经在KDE身上发生,如今他们也到了不得不采取一些行动的时候了。
如果现在所有的KDE源码的作者(更精确地说应该是所有这些KDE源码的版权拥有者)可以公开声明:过去任何采用Qt的源码都得到了他们的许可,那么就真是一件好事了。因为只有这样才能确保现有KDE用户拥有公开KDE源码的权力。
但是,发布了遵循GPL许可证的Qt之后,KDE就可以正当地在坐在遵循GPL许可证的Qt之上,KDE/Qt也终于可以被自由软件运动组织视为一大贡献。同时,我认为也没有必要再去开发一个等同于Qt的包裹。如果您用Qt,那么就请尽情享用吧。
但是,GNOME 还在这儿呆着呢,并且看来还不会马上消失。GNOME 和KDE仍将是桌面操作系统两大竞争敌手,除非有一天他们能够以某种方式融合在一块。当然,GNU项目也将继续忠诚地支持自己的项目组。

