扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
开源项目的License可以分为三大类:
OSI-Approved Open Source:被开放源码组织(www.opensource.org)所批准的开放源码授权协议。像大家经常看到的Apache,GPL,LGPL,MIT Licence,都属于OSI-Approved的授权协议,OSI 的要求之一是二进制文件和源代码的自由发放。
Other/Proprietary License:其他的,私有的授权协议。指软件作者提供源代码,但是对软件的分发和发布有其他的限制。
Public Domain:公共域授权。将软件授权为公共域,表示作者完全放弃版权,任何人都可以随意使用。
大部分开源工程都属于OSI-Approved Open Source,下面对常见的License做简单的介绍:
对商业友好的License,这些License虽然保留版权申明,但是不但免费修改、免费重新发布,而且允许商业使用,允许商业修改后不公布修改的软件代码(拿到商用产品中就不用担心了^_^)。这些License包括:Apache License,Artistic License,BSD License,Python License,XWindows License,Zope License等。
GPL License,允许免费修改、免费重发布,但要求修改代码必须也遵守GPL。这样非GPL License的项目就不能使用GPL License的源码。这种授权方式大大限制了从开源中牟利的手段,因此是对商业不友好的授权。GPL授权的项目特别多,包括有linux、gnome、kde、gcc等。LGPL License对比GPL较为宽松,允许商业代码链接LGPL项目的库。
MPL License,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。
还有部分开源项目有多重协议,比如MySQL(著名的开源数据库)同时拥有Commercial License和GPL License,如果是GPL项目,那么可以免费使用MySQL,但是在商业软件中使用MySQL则要购买commercial license。
总之,当你准备在商用项目中使用开源项目,就需要仔细阅读它的License,看是能否能够免费使用。(不能免费,估计老板就不同意了^_^)从商用的角度看,当然是选择对商业友好的License比较好,比如Apache License,BSD License,MPL,另外LGPL也是可以使用的。在我们关注的java领域,选择余地还是比较大的(在以后的内容中会见到)。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者