简单谈谈开源版权协议
前段时间呢,easyMule 这个 VeryCD 公司出品的 ED2K 客户端推出了 2.0 版本的测试版。但是,随后 aMule 的作者跑到 VeryCD 的论坛上,说 easyMule 中包含有 aMule 的代码,是以 aMule 为基础构建的,要求其公开源代码。于是乎,VeryCD 的这个帖子风起云涌,虽然最后很多内容被和谐,这个帖子最后还是以其老大 Dash 表态没有使用任何 aMule 代码收场。
我们聚集在这里大部分都是因为喜欢开源的这种精神。但是,大家又是否了解开源授权协议到底是什么东西呢?如何才算侵犯开源协议?
这就需要首先说一下著作权。著作权是一种知识产权,包含人身权利和财产权利。一个受著作权法保护的作品,人身权利是不可以转移的,但是财产权利是可以转移的。比如,A 写完的作品是不可以因为 A 的死亡署上继承人 B 的名字的,因为署名权是人身权利,不可随着继承而转移;但是,出版的权利、复制的权利都可以通过授权协议来赋予另一方来行使。
著作权所保护的是一种表达,而不是思想。这可能和常规上的理解有点出入,但是举个例子,大家就应该都明白了。A 写了一篇关于雪景的散文,B 也写了一篇关于雪景的散文,这时,B 是不是就侵犯了 A 的著作权呢?显然,只要 B 的文章不是抄袭的,那么 B 就没有侵犯 A 的著作权。也就是说,所有人都可以写雪,只要表达不同即可。
知识共创协议,这个协议普遍被用在 Wiki 或者开源软件的文档上。这个授权协议中,著作权利人放弃了所有的财产权利,仅仅保留署名权等人身权利。可否进行商业上的利用,虽然是由权利人自由选择的,但是即使他允许他人商业使用,自己仍然不能获取任何利益,所以并没有因为商业利用这一点获得任何财产权利。因此,与版权法保护的 All Right Reserved(保留所有权利)相对的,只是共创协议则是 Some Right Reserved(保留部分权力)。
再说说计算机软件的法律保护。在中国和世界上大部分国家的法律中,计算机软件是以著作权的方式来保护的,当然其中申请过专利的部分,则是由专利法保护,是一个特殊情况。所以,计算机程序保护的也是表达,而不是思想。将刚刚那个例子换一下,A 写了一个能够在 ED2K 网络上下载文件的程序,B 也写了一个能够在 ED2K 网络上面下载文件的程序,那么 B 是不是一定侵犯了 A 的著作权?当然不是,只要 B 的程序源代码没有抄袭 A 的;或者只要 B 能够证明,其源代码是独立没有参考 A 的情况下写出来的,就都不违反著作权法的。但是,还有一点需要注意,那就是有一些为公众所熟知的基本算法并不是著作权保护的范围。
GPL 协议的作者则放弃了绝大部分与著作权相关的权利,甚至连署名权这项人身权利也并不行使。通过 GPL 协议,软件作者可以约束后续的软件作者,只要他们的源代码中使用了 GPL 程序的代码,那么也必须使用 GPL 协议来授权他们的软件。
LGPL 协议则比 GPL 协议更加宽松,采用 LGPL 协议的软件既可以继续开源,也可以选择闭源。这样宽松的协议非常适合底层库的授权,而 GPL 则普遍被用作上层软件的授权。使用 GPL 作为底层库的授权并不怎么合适,具体的可以参考过去 KDE 的底层库 QT 的授权和 Gnome 的底层库 GTK+ 的授权就知道了。
那么,回过头来,我们来看看 easyMule 这个软件,到底如何才能够算是 GPL-Breaker?首先,说因为 easyMule 是运行在 ED2K 网络上,所以需要开源,根本就是无稽之谈。外国的 ED2K 客户端 Lphant 就是一个闭源客户端。很明显,只有在代码中出现了 aMule 的源代码,才构成违反 GPL 协议。如果仅仅是参考或者采用了她的架构方式,则不应当被认为是侵犯了版权(架构方面有争议,立法上没有完善)。比较二进制文件或者比较反汇编所得到的结果中如果有大段相同的内容,才能够得到间接证据。这些都不是直接证据,只有前往法院起诉并且要求法院取证获取源代码后才是确定是否违反 GPL 协议的决定性证据。可以说诉讼成本是比较高的,因为取证难度比较大。
所以,我认为,VeryCD 公司如果真的没有盗取 aMule 的源代码,倒不如就将 easyMule 的源代码给 aMule 的作者,让其亲自确认是不是有抄袭的存在。这样既可以维护自己的名誉,也会受到商业秘密权和著作权的保护而不必担心 aMule 的作者会将其源代码提供给第三方或者用于 aMule 本身。
差不多,这里也就浅显的为大家诠释一下开源协议在法律上面的保障。我也仅是一个学生,可能很多理解上面还有问题,但是总体方向上应该不会有问题的,仅供大家参考。