前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >扒一扒常见的开源许可协议

扒一扒常见的开源许可协议

作者头像
Bruce Li
发布2020-03-18 12:40:18
9710
发布2020-03-18 12:40:18
举报

之前写过一篇文章(那些年用过的开源项目(一)),列出了很多当年用过的开源项目。现在有这么多的开源项目可供我们选择,这要得益于当前非常积极的开源氛围,然而,尽管开源项目很多,我们在项目中选择的时候,一定要注意它的开源许可协议,否则可能会引起一些法律的问题。

之前看过一幅图,非常清楚的给出了几个常见的开源许可协议(GPL、BSD、MIT、Mozilla、Apache和LGPL)的区别,如下:

图片来源 https://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

关于各个许可协议的具体定义,大家都可以网上查阅。关于如何选择,根据我的经验,对于商业软件开发,一般来说,BSD、MIT、Apache这三个许可协议比较安全;其它三个需要仔细考虑。

下面具体扒一扒各个许可协议:

Apache

Apache许可协议,现在是2.0版本,具体协议的定义参考https://www.apache.org/licenses/LICENSE-2.0。

对于Java开发人员来说,这个license应该不陌生,Apache和Spring下面的开源项目都是基于这个开源许可协议。

BSD

BSD的全称是Berkeley Software Distribution,从名字可以看出它跟美国的伯克利大学有关。这个许可协议出现的历史背景跟unix操作系统有很大关系,后面会提到的GPL许可协议也跟unix操作系统有关系,可见一个东西的出现都有它历史的相关性。当时,unix操作系统是一个受版本保护的商业操作系统,其所有权归AT&T贝尔实验室所有,为了推广unix系统,贝尔实验室免费把unix操作系统的源码分发给各个大学和研究机构使用研究,后来在伯克利大学,就出现了一个unix系统的BSD发行版本,这就是BSD的来源。很多人提到BSD,都会想到Bill Joy这个元老级程序员,这里有一篇关于他的文章(那些神一样的程序员),大家可以查阅。

之前用过的antlr和NSubstitute,都是BSD许可协议。

MIT

MIT的全称是Massachusetts Institute of Technology,美国的

麻省理工学院,又一个跟美国大学有关的开源许可协议,所以可以看出美国大学早些年代在计算机领域的影响力有多大。

之前用过的autofac和Newtonsoft.Json,都是MIT许可协议。

GPL

GPL的全称是GNU General Public License,它是早期出现比较严格的开源许可协议,但是它的出现有很重大的历史意义。正如上面有提到过,unix操作系统是受版权保护的,正是如此,贝尔实验室还和很多机构打过官司,其中就包括伯克利大学。BSD unix的出现,对操作系统是否开源产生了巨大的影响,一部分人拥护闭源,代表人物就是Bill Gates,后来创建了Windows系统;另外一部分人拥护开源,代表人物是Richard Stallman,后来创建了GNU工程。GNU创建的初衷就是反版权,因此就出现了GPL开源许可协议。

GNU(GNU's Not Unix!)工程本来是想开发一个自由的操作系统,但是后来由于操作系统内核开发速度较慢,同时Linux内核发布了,于是GNU工程就决定复用Linux内核加上自己的一些工具类库,发布了GNU/Linux操作系统,这也是现在各种linux操作系统发行版(比如:Debian、RHEL、CentOS等)的原型。

所以这些平常用到的Linux操作系统就是大家用过的基于GPL许可协议的开源软件。

LGPL

LGPL的全称是Lesser General Public License,轻量级通用公共许可证,顾名思义,它就是GPL的宽松版。

之前用过一个library:flying saucer,就是这个许可协议,这个许可协议用于商业软件开发的话,需要仔细评估。

Mozilla

我想大家对Mozilla很熟悉的地方就是MDN和firefox浏览器,起初firefox是网景Netscape公司的一个产品,Mozilla是网景公司设立的一个组织,用于支持Firefox的开发。后来,网景被收购之后,Mozilla基金会成立用于继续支持firefox开发,Firefox以Mozilla开源许可协议开源。

除了上面提到的,Java开发人员肯定还熟悉另外一个开源许可协议Eclipse,之前用过的eclipselink就是这个许可协议,它也是属于风险比较小的一个协议。

更多的开源许可协议,大家可以查看下面官方网址:

https://opensource.org/licenses/alphabetical

References

  • https://baike.baidu.com/item/BSD/3794498?fr=aladdin
  • https://baike.baidu.com/item/Mozilla%E5%9F%BA%E9%87%91%E4%BC%9A/10167516?fromtitle=mozilla&fromid=7148071&fr=aladdin
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 天马行空布鲁斯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档