开源协议

1、什么是开源许可证
开源许可证是一种法律许可。经过它,版权拥有人明确容许,用户能够免费地使用、修改、共享版权软件。dom

版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。因此软件开源的话,必须明确地授予用户开源许可证。ide

2、开源许可证的种类设计

目前,国际公认的开源许可证共有80多种。它们的共同特征是,都容许用户免费地使用、修改、共享源码,可是都有各自的使用条件。code

若是一种开源许可证没有任何使用条件,连保留做者信息都不须要,那么就等同于放弃版权了。这时,软件能够直接声明进入"公共领域"(public domain)。开发

根据使用条件的不一样,开源许可证分红两大类。文档

宽松式(permissive)许可证源码

Copyleft 许可证产品

BSD开源协议
若是二次发布的产品中包含源代码,则在源代码中必须带有原来的代码中的BSD协定;
若是二次发布产品是二进制格式的库或程序,则须要在发布的文档或版权声明中说明包含原来的代码中的BSD协定;
不能够用开源代码的做者或组织,以及原来的产品的名字作市场推广;

Apache Licence 2.0
须要给代码的用户一份Apache Licence
若是你修改了代码,须要再被修改的文件中说明。
在延伸的代码中(修改和有源代码衍生的代码中)须要带有原来代码中的协议,商标,专利声明和其余原来做者规定须要包含的说明。
若是再发布的产品中包含一个Notice文件,则在Notice文件中须要带有Apache Licence。你能够在Notice中增长本身的许可,但不能够表现为对Apache Licence构成更改。

GPL
咱们很熟悉的Linux就是采用了GPL。GPL的出发点是代码的开源/无偿使用和引用/修改/衍生代码的开源/无偿使用,但不容许修改后和衍生的代 码作为闭源的商业软件发布和销售。既必须也是开源和免费。这就是所谓的”传染性”。

LGPL
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不一样。LGPL 容许商业软件经过类库引用(link)方式使用LGPL类库而不须要开源商业软件的代码。这使得采用LGPL协议的开源代码能够被商业软件做为类库引用并 发布和销售。
GPL/LGPL都保障原做者的知识产权,避免有人利用开源代码复制并开发相似的产品。

MIT
MIT是和BSD同样宽范的许可协议,做者只想保留版权,而无任何其余了限制。也就是说,你必须在你的发行版里包含原许可协议的声明,不管你是以二进制发布的仍是以源代码发布的。
相关文章
相关标签/搜索