如何选择开源协议

作者:陆金龙    发表时间:2022-03-11 21:30   

关键词:MIT  Apache  GPL  GPLv2  GPLv3  

简直快速选择一个协议。

1.MIT

MIT协议相对宽松,允许别人以任何方式使用你的代码同时署名原作者,但原作者不承担代码使用后的风险,也没有技术支持的义务。

2.Apache

Apache协议相对宽松与MIT类似的,但明了作品归属者对用户专利上的一些授权。

3.GPL(V2/V3)

GPL

GPL又称为Copyleft。

GPL授权对被授权者是有要求的,它重点强调:
第一,和大部分开源软件一样,这个作品提供给你AS IT IS,作者不为任何物理损失负责。
第二,如果你,基于这个作品衍生了新的作品,那么这个新的“作品”,必须符合GPL协议,否则你就失去原作品的授权。
第三,符合GPL协议的作品,在提供给它的使用者的时候,必须同时提供该作品的GPL部分的源代码。不能对该源源代码的使用作出限定。
 
GNU 通用公共许可证第三版(GNU GPL)发布了,它使自由软件包可以从 GPL 版本 2 升级到版本 3。
GPL 版本 2 仍然是一个有效的许可证。如果有的程序还使用 GPLv2 而另外一些程序升级到 GPLv3 并不会造成灾难。虽然这两个许可证不兼容。

GPLv2

GPLv2需要你能继续以GPL发布,并不修改原有部分的署名和著作权。

Linus Torvalds对GPLv2协议的理解,“我给你源代码,你给我你对它的修改,我们就扯平了”。

GPLv3

GPLv3协议的主要是阻止未来出现类似于Novell和微软签署的专利协议。GPLv3新版本严格规定,今后,任何公司只要向一个(单个)GPLv3用户提供“专利许可”,那么,它必须毫无例外地对所有GPLv3用户提供这种“专利许可”。

理想状态下,FSF想让分发GPL代码的所有人都交出全部软件专利,包括没有再次分发的所有人也如此。FSF认为,软件专利是一个邪恶的荒谬的制度,它让所有的软件开发者都处于被控告的境地,被那些他们从未听说过的或巨型的公司控告。大型软件总是包含了数千种思路,如果其中有几百个专利,那是一点也不稀奇。大公司会收集上万的专利,并用这些专利来威吓小开发者。专利已经阻碍到了自由软件的发展。

对GPLv3基本精神的理解:

1、你可以免费使用、复制、修改、分发受保护程序,但分发时一定要提供源码。

2、你可以收费。比如可以针对目标码、源码的分发收费,可以针对软件的维修保养(主要是提供技术支持,以下简称“维保”)收费;但不能收许可费、版税、专利许可费、授权费这类费用。

3、GPL程序的所有贡献者,自动免费提供了专利许可,承诺不会告人侵犯专利权(前提是你遵守了GPL)。

4、GPL程序允许别人破解。如果是用在消费类硬件上,要允许人修改并安装程序。

 

参考和引用:

https://www.cnblogs.com/Wayou/p/how_to_choose_a_license.html( 刘哇勇:如何为你的代码选择一个开源协议 )

https://blog.csdn.net/szliszt/article/details/1697875 (陈皓:GPLv3:大教堂和集市的新一轮对抗)

https://zhuanlan.zhihu.com/p/36091228 (知乎用户G0K17q:科普一下GPL和开源软件)

http://www.gnu.org/licenses/rms-why-gplv3.html(Richard Stallman 著:为什么要升级到 GPLv3)

4.LGPL

GPL 是什么都要开源,这对商业软件应用是不利的。

LGPL 授权 (第一个 L 可以叫 Lesser 宽松版或 Library 开发库版)。使用 LGPL 授权就可以利用官方动态链接库,而不必开放商业代码。只要不修改和定制库,仅使用官方发布的动态链接库就可以不开源,这是商业友好的授权模式。