开源与病毒根除


现在是感冒和流感的季节,还有什么更好的时机来消除开源软件许可中的“病毒”呢?

开源倡导者可能会对术语感到迂腐,而关于使用正确词汇的火药味之战则是乏味的。许多科技界的人因为口水战而退缩,因为他们认为自己并不重要。但是早就应该从关于开放源码许可的讨论中消除“病毒”这个词,因为这个词已经扭曲并限制了对开放源码许可原则的理解。

我听说过几个关于这个术语如何开始与一般的自由软件,或者特别是GPL联系在一起的故事,我不愿意重复其中的任何一个,因为我无法验证它们。但有一点是明确的:当技术行业的人,特别是律师,想要描述一类开源许可时,他们经常使用“病毒”这个词。不幸的是,这个词不仅具有煽动性,而且也不准确。对律师来说,煽动性是游戏的一部分,但不准确则是罪过。

首先,我们需要知道正确的术语。有选择:自由软件,版权,互惠,遗传。我一直认为“世袭”最准确,但一直没有流行起来。所以,最近我建议“copyleft”。copyleft许可要求,作为软件二进制文件分发的一个条件(或者在像AGPL这样的许可的情况下,要求较低的阈值,例如通过网络使其可用),经销商在相同的许可条款下使相应的源代码可用。版权许可“坚持”软件的版权;无论出现多少下游发行,许可条款都保持不变。对律师来说,这就像是一种“地役权”--一种随所有权而运行的产权负担,无论该财产被出售多少次。Copyleft许可包括GPL,LGPL,MPL,EPL和其他一些许可。

不幸的是,用“病毒”这个词来描述这个概念是误导的,并导致不必要的恐惧。在我为这一法律领域的客户提供咨询的所有这些年里,我认为,对版权许可的一个最重要的误解是由于这个词的使用。

以下是公司担心的问题。在GPL的讨论中,将GPL代码与单个程序中的其他代码结合起来常常被称为创建一个“衍生作品”。这是因为GPL说,如果在给定的程序中有任何GPL代码,该程序中的所有代码都必须在GPL下可用。任何其他的都是违反GPL的。一些公司,脑子里浮现着病毒在跳舞的景象,担心如果GPL和专有代码结合成一个单一的程序,GPL许可条款就会“感染”专有代码,而专有代码就会在GPL下自动获得许可。然后,专有代码的作者担心它将有义务向自己的专有代码提供源代码。这相当于软件公司释放了藏在床下的可怕的大怪物。

但这根本不是copyleft的工作方式。

事实上,如果一家公司要以违反GPL的方式将GPL和专有代码结合起来,结果就是GPL已经被违反了--不多不少。这意味着,在法律上,GPL代码的作者可以对违反GPL的行为获得补救,如果许可证因此被终止,则可以对未经许可使用GPL软件的行为获得补救。从本质上说,这两个问题都是侵犯版权的问题。版权侵权索赔的法律救济是赔偿金(金钱)和禁止令(停止使用GPL代码)。

事实上,根本没有GPL“感染”专有代码并改变其许可条款的法律机制。对于要按照特定的一组条款许可的软件,作者必须采取一些行动,合理地导致被许可人得出许可人已经选择按照那些条款提供代码的结论。相反,在一个程序中结合专有和GPL代码违反GPL是一个许可证不兼容-意味着这两组条款冲突,不能同时满足。这种许可不兼容的更好的类比是软件缺陷,而不是软件病毒。想想以前电视节目里的机器人迷失太空挥舞着他的手臂说“不计算”,你就明白了。

对于法律怪才(包括我在内),我应该解释一下,我长期以来一直保持警惕,希望为“病毒”模式找到任何正式的法律基础。我找到的只有Pickett v. Prince, 207 F. 3d 402 (7th Cir. 2000)和“安德森诉史泰龙”案,载于《美国最高法院判例汇编》第2集第11卷第1161页(C.D。卡尔。1989)。这两个案例都讨论了未经授权的衍生作品不享有版权保护的原则。

但是这些案例都涉及到与您典型的GPL遵从性问题非常不同的事实。首先,在上述每一种情况下,侵权衍生作品都可以说没有达到法律保护所必需的最低限度的创造性水平。法律把这个门槛定得很低。任何有自尊的专有代码都很容易达到这个阈值。其次,在每一个案例中,侵权衍生作品的推定拥有者都试图起诉被侵权基础作品的作者--这需要相当多的老式厚颜无耻。这些事实不能合理地推断为专有软件模块的开发人员试图针对第三方单独行使其专有代码的权利的情况,该专有软件模块与GPL软件模块不恰当地结合在一起。类似的情况是,一个专有开发人员获取了一小块GPL代码,修改了其中一行,然后起诉GPL作者侵犯版权--这是无稽之谈。换句话说,这一法律构造“不计算”。

所以,让我们一劳永逸地放弃这个想法。同时,多喝水,把纸巾放在手边,经常洗手,我们就能战胜病毒。