开源协议

阅读数:63 评论数:0

跳转到新版页面

分类

架构学

正文

开源软件更强调软件的分享和代码的开放,允许用户对源代码的修改及软件的重新发布,前提是要遵循相应的开源许可证。开源软件正是通过这些许可证保护其知识产权,一般情况下,可以从五个方面来讨论软件的知识产权:版权(著作权)、专利权、商标权、商业秘密和反不正当竞争。

(1)版权(著作权)

开源软件也是有版权的,它使用的是CopyLeft版权,没有采用传统的CopyRight版权。这是因为传统的版权过于注重保护作者的特权,不利于开源软件的发展。所以就需要创建新的版权来维护用户的自由,鼓励开源软件的传播。

 Copyleft(Ɔ):反对软件一切权利归作者私有,保护知识共享、权利共享。 许可:GPL。 包括:自由软件。 特点:软件的版权归原作者所有,其它一切权利归任何人所有。用户和软件的作者享有除版权外的完全同等的权利,包括复制软件和重新发布修改过的软件的权利。唯一不许可的就是任何人也不能将软件拒为私有。 盈利方式:与硬件一起销售,提供收费的服务,提供收费的担保等。

(2)专利权

专利是对软件保护力度最大的一种措施,它的初衷是鼓励发明创新。如果有人想使用已为专利的技术,即使重新编写了代码,也是视为侵权的。因此专利在一定程度上促进了软件行业的创新。但是,专利也在很大程度上阻碍了开源软件的发展。一方面,开发人员很难避开专利编写相同功能的软件;另一方面,如果开源软件一旦侵权,发行者和用户都是要追究责任的。

(3)商标权

开源软件一般都有自己的商标,它的作用是区分于其他的软件,用户不能随便使用软件的商标,因为它们是受商标法保护的。

4)商业秘密和反不正当竞争

商业秘密可以看成是对版权和专利权的补充,因为在软件的开发过程中,有一些东西,比如发明的思想内涵是得不到版权或专利的保护。但是由于开源软件的开源精神,这种商业秘密的保护方式也是不被提倡的。反不正当竞争的重点是维护软件行业的规则,这在开源领域一般不会涉及到。

BSD开源许可

BSD开源许可是一个自由度很大的许可用户可以使用软件、对代码进行自由修改、也可以以非开源的形式再次发布修改的软件。但需要满足3个条件:(1)如果以源码的方式发行软件,则在源代码中不能删除BSD许可证。(2)如果以可执行文件的格式发行软件,则BSD许可证需要添加到说明文档及版权声明中。(3)如果软件需要商业化,代码需要重新设置作者或机构的名字,并重新为产品命名,即原作者不承担任何责任。

BSD许可很受商业公司的青睐,因为在BSD许可下的代码在二次开发后可以作为商业软件发布和销售,同时公司可以完全控制这些代码为己所有。

Apache许可

Apache许可是开源组织Apache采用的开源许可证,这种许可与上面的BSD许可有很多的共同之处,它需要满足的条件:(1)源代码中必须附加一份Apache许可声明(2)对于修改过的代码,在相应的文件中应给出修改说明(3)源代码中的专利声明和商标等在新的代码中需要给出说明。

Apache License也是一种对商业支持比较友好的许可,它允许修改后的代码以商业产品销售和发布

GPL开源许可

提到开源,大家都会想到自由软件联盟GNU,而GPL就是GNU中最主要的一种许可证。它最与众不同之处是它不允许新的代码以非开源的形式发布和销售,一个软件只要是衍生自GPL协议产品,它就必须也要遵循GPL协议,所以我们才可以用到各种免费的软件,尤其是各种版本的Linux,其功不可没。

MIT开源许可

MIT也是一个很宽泛的许可,它的主要限制就是作者的版权,如果你使用了这个开源许可下的开源软件,并想以二进制或源代码的形式再发布软件,则必须要在其中加入原许可的声明。

MPL开源许可

MPL可以看作是一种比较中性的许可,它既没有允许新的代码可以完全私有化,也没有要求派生的代码必须也要遵循MPL,它只强调在原来在MPL许可下的代码一定还要遵循MPL许可,所以MPL许可常常与其他的许可共同使用于一个开源项目中。

AGPL开源许可

AGPL是针对部门组织利用GPL的漏洞,不发布,但实际商用包含gpl开源程序的软件,主要是web,AGPL是对GPL更严谨的要求,要求在上述情况下也做出引用声明。

 




相关推荐