GPL许可协议的主旨是说,如果你的软件使用了受GPL保护的代码,那么你的软件源代码也要公开出来。不同的开发者对GPL条款的诠释有所偏重,但不管怎样,遵循GPL协议是要付出一定代价的。Automattic创始人Matt Mullenweg和竞争对手Wix之间展开了一场关于违反GPL协议的骂战,由此可以引起我们对GPL许可协议的一些思考。
Automattic创始人Matt Mullenweg下载了一款由竞争对手Wix开发的iOS应用,他觉得这款应用看起来很眼熟,后来确认这款应用使用了来自WordPress的代码。于是他在博客上与对方展开争论,直指要点:
“你们应用里的编辑器使用了剽窃的代码,所以整个应用违反了GPL协议。”
Wix的CEO Avishai Abrahami没有针对此事做出正面回应,试图回避他们在产品里使用了未付费源代码的事实。他的一个工程师员工也避开正面回应,在是否违反协议的问题上纠缠不清,不愿意直接承担剽窃代码的后果。
有些人对使用“剽窃代码”和“窃贼”这样的字眼来形容违反GPL协议的行为有些异议,不过事实就是如此:源代码出现在Wix的产品里已成事实,但Wix并没有为此付出任何代价。
很多开发者(包括CEO)对使用受GPL保护的代码所产生的后果装作不在意。他们从对自己有利的角度来解释GPL条款:
“使用GPL代码没有任何问题,只要我们把改动的代码也贡献出来。”
“我们只使用了少量受GPL保护的代码,所以我们有权使用它们。”
“我们通过其它方式回报社区,这样就平衡了。”
以上这些说法,包括其它很多对GPL的误读,以及Wix CEO和他的工程师员工的辩解,都不符合GPL的协议精神。
遵循GPL协议的所要承担的义务是显而易见的,尽管有人在“链接代码”问题上争论不休。GPL的主旨很容易理解:如果你在自己的软件里使用了受GPL保护的代码,那么你也要公开自己的代码。在遵循GPL协议的前提下,你要把源代码提供给那些安装了你的软件的人。公开你的代码,这就是遵循GPL协议需要付出的代价。
大部分开发者认为为GPL付出的代价是完全合乎情理的,不过有些人则无法接受。这个需要在从他人的代码中获取的好处与公开你的代码造成的损失之间做出权衡。