如何选择开源协议
简直快速选择一个协议。
1.MIT
MIT协议相对宽松,允许别人以任何方式使用你的代码同时署名原作者,但原作者不承担代码使用后的风险,也没有技术支持的义务。
2.Apache
Apache协议相对宽松与MIT类似的,但明了作品归属者对用户专利上的一些授权。
3.GPL(V2/V3)
GPL
GPL又称为Copyleft。
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 授权就可以利用官方动态链接库,而不必开放商业代码。只要不修改和定制库,仅使用官方发布的动态链接库就可以不开源,这是商业友好的授权模式。