开源软件的问题我早就想整一整了,此次终于得逞,下文所描述的观点均是在中国大陆现行法律制度下的理解。
一、怎么理解开源软件?
1、开源软件首先是计算机软件,那么计算机软件定义如何?
我们可以看下《著作权法》下的《计算机软件保护条例》以及《专利法》下《专利审查指南》中的相关定义:
(1)《计算机软件保护条例》中计算机软件,是指计算机程序及其有关文档。①计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。②文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。
(2)《专利审查指南2010》中没有针对计算机软件的直接定义,但是有对计算机程序的定义如下:计算机程序本身是指为了能够得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。计算机程序本身包括源程序和目标程序。
从上述法规的定义可见,在著作权法和专利法范围内中对计算机程序的定义是相同的,包括源程序和目标程序,源程序为符号化指令序列或者符号化语句序列,目标程序为代码化指令序列。如果严格依据法律的定义我们通常所说的开源软件其实是指开源计算机程序,不包括计算机软件的另一个组成部分“文档”,开源也主要是开放源程序。因此本文中的开源软件即指开源计算机程序。
2、对开源软件理解至少应当包括两部分:1、计算机程序中源程序代码(符号化指令序列或者符号化语句序列)客观上的公开,源程序不再保密,可以被公开查阅;2、公开的源程序知识产权权利在满足一定条件下可以进行开放式使用,比如复制、修改、改编等。
3、开源软件的知识产权权利有哪些?
(1)《著作权法》中规定计算机软件是一个作品的种类,属于著作权法保护的客体,因此开源软件作为计算软件受到著作权法保护没有问题。
(2)同样,专利法中也定义了计算机程序,那么计算机程序能否获得专利,成为专利权保护的客体呢?根据《审查指南2010》的规定,计算机程序本身为“智力活动的规则和方法”,属于不可授予专利权的客体,而在开源软件语境下的计算机程序就是指计算机程序本身,并且特别是指源程序本身。因此可以简化认识:在中国大陆法律下,对开源软件知识产权权利理解可以仅限定为著作权,不包含专利权,并且因为公开了源程序,也不用考虑所谓的商业秘密问题。之所以如此强调,是因为美国、欧洲等地对计算机程序本身是可以申请专利的,这就导致了开源软件的公开授权许可使用与专利的垄断排他使用之间的冲突和矛盾,所以开源软件在中国大陆法律下的知识产权问题其实是比较容易处理的,只需要在著作权法范围内去理解适用即可。
二、对开源软件开放式使用的理解
开源软件的开放式使用也是对开源软件著作权的行使,著作权copyright,核心就是copy,因此所有的开放使用均是对源程序copy方式的限定和设计。目前来说主流的开源软件授权许可方式有:GPL、BSD、MIT、Mozilla、Apache等方式,这些许可方式因经常被使用或引用,也被标准化的称为“开源许可证”。
1、GPL:General Public License,通用公开授权许可,该授权许可允许软件源程序公开并免费使用(复制、改编),但是如果使用(复制、改编)了该许可证下的源程序代码而创作的新的计算机程序也必须采用相同的授权许可方式去使用,即开源并免费,也即GPL许可模式,因此GPL许可证也被成为具有“传染性”的许可证。常见的linux、andorid等软件即使用该授权许可。
2、BSD: Berkeley Software Distribution,伯克利软件套件,原来是指Unix系统的一个版本,随着该系统的发展,也形成了一种授权许可模式,称之为BSD许可证。BSD许可是一种“自恋式”的许可,它基本上许可使用方对自己源代码do anything,不受任何限制,唯一要求就是必须首先属好原作者的大名,而且代代都要属,并不得以作者的名义进行市场行为。从其本意来说,该模式还是在要求后续使用者要去尊重前手代码作者的著作权。
3、Apache许可证:牛逼的Apache服务器软件就是基于这样的开源模式发展起来的。Apache许可证与BSD许可证类似,但是略微严格,如果被授权者修改了授权代码,那么被授权者应当在代码中做出说明,而不仅是保留授权者的署名。
4、MIT:MIT许可证和BSD许可证也类似,但是更open,只要保留了作者的版权信息,想怎么使用就怎么使用,几乎没任何限制。
5、MPL:The Mozilla Public License,该许可证是Netscape公司的 Mozilla小组为其开源软件项目设计的软件许可证,其特点在于要求许可者所开放的源代码非专利代码,并且相比于Apache许可证,要求被授权者对所修改的代码内容做出一些更严格的说明,对修改的时间和修改的方式都应进行描述。
总结上述五种开源软件许可证的设计方式,无一例外的都是以尊重作者著作权并鼓励代码共享和创新为出发点的,符合著作权法律制度“保护权利、鼓励创新”立法目的。开源软件公开源代码的行为与一般作品比如文字作品、美术作品等的发表行为类似,未发表的美术作品与保密的源代码都不能真正体现作品本身的著作权价值,著作权法立法本意应当是鼓励发表、鼓励开源的,但就目前来说我国对计算机软件源程序的著作权法保护方式并没有达到与其他一般类作品相当的程度,而是以秘密或者隐藏方式,这实际上有利于对计算机软件源代码的盗用和侵权,并且维权起来难度很高,反而开源软件的侵权维权更容易操作。
三、一些涉及开源软件的著作权问题
1、软件开发者将自己的代码挂在代码托管网站进行开源公开,比如github上托管,后来发现自己的代码很有价值,取消了开源托管,并想保护自己的软件著作权该怎么办?
对于这样的问题首先应区分开源和授权许可是不同的步骤,如果软件开发者只是在github公开了自己的源代码,并没有加入任何开源协议,那么软件作者其实是行使了其软件源代码著作权中的类似发表权,对于他人未经许可的复制行为完全可以类比一般文字作品进行保护和维权。如果软件作者开源并加入了某种开源协议,那么首先作者应当有退出该开源协议的权利,其次对于开源内容因开源协议项下的复制或改编,应当适用法不朔及既往的原则,而在协议之外的复制或改编,可以类比一般作品进行保护和维权。
2、开源软件还需要进行版权登记吗?
开源是对软件源程序的公开,属于类似发表的行为,版权登记是著作权权利归属的初步证据,也是一种权利的凭证,二者没有什么冲突,但是对于使用了开源许可证项下的前手代码而创作的新代码,在进行版权登记的时候还应当在遵守不同许可证的许可要求的前提下进行版权的登记备案。
咨询热线
010-85377344
135-21581588
微信客服
QQ客服
3026106565 点击咨询