我是一个猿程序员我是程序员;您好程先生;叫我序员就好了

常见的开源协议

2016-06-11  本文已影响148人  AcuspXu

刚接触到开源项目时大家都会看到各种软件开源协议,但由于开源协议的数量很多,我们很少对它们有深入的了解。
下面这张图就对常用的软件协议进行一下总结,方便大家选择。图片修改自PAUL MILLER

open licenses

GPL(GNU General Public License)

只要你用了任何该协议的库、甚至是一段代码,那么你的整个程序,不管以何种方式链接,都必须全部使用GPL协议、并遵循该协议开源。商业软件公司一般禁用GPL代码,但可以使用GPL的可执行文件和应用程序。

采用GPL授权的软件有:Linux、MySQL等。

LGPL(Lesser GPL)

是GPL针对动态链接库放松要求了的版本,即允许非LGPL的代码动态链接到LGPL的模块。注意:不可以静态链接,否则你的代码也必须用LGPL协议开源。

采用LGPL的软件有:JBoss、Hibernate、FCKeditor等。

APL(apache Licence)

修改版本必须保持其原始版权声明;修改过的文件要标明改动。

采用APL的软件有Hadoop、Apache HttpServer等。

BSD(Berkeley Software Distribution)

BSD2:修改版本必须保持其原始版权声明。

BSD3:修改版本必须保持其原始版权声明。未经许可不得使用原作者或公司的名字做宣传。

采用BSD协议的软件有:nginx

MIT(Massachusetts Institute of Technology)

修改版本必须保持其原始版权声明。

采用MIT的软件有:jquery、Node.js

上一篇 下一篇

猜你喜欢

热点阅读