美文网首页移动端技术
常见开源协议随谈

常见开源协议随谈

作者: 小时候很拽的样子 | 来源:发表于2018-08-17 15:39 被阅读41次

今天被红芯浏览器刷屏了,明明是站在巨人的肩膀上,非得说是自主创新。也是,现在国产的项目,如果不用到开源软件,估计很多项目就寸步

难行了,基本就歇菜了。既然用到开源软件,首先要了解软件遵循什么开源协议。比如本来你用到的开源软件遵循的是GPL协议,你吭哧吭哧的

拿过来修改优化后,性能大幅提升,这时候你想占为己有,收费商业化拒绝公布源码,那估计等待你的就是一纸法院通告了。所以在我们使用开

源软件前,还是有必要了解下他们的license的。那么现在市面上有哪些主流的开源协议呢?

1,GPL(GNU General Public License)

GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。

典型代表:Linux  

Android的内核采用的是Linux,如果ODM在Linux下开发自己的驱动,必然他们的核心驱动代码就要开源,这对他们来说是不可接受的,所以

Google在Linux上加入了HAL,厂商把核心驱动代码放到HAL,本身AOSP是遵循APL的,所以可以不用开源该部分代码

2,LGPL(GNU Lesser General Public License)

鉴于GPL是如此的隔绝商业, 就出现了一个宽松版的GPL即LGPL,但LGPL其实只是GPL的一个为主要为类库使用设计的开源协议,LGPL允许商

业软件通过类库引用方式使用LGPL类库而不需要开源商业软件的代码,GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发

类似的产品

典型代表:Hibernate

3,BSD (Berkeley Software Distribution)

给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发

布。

典型代表:nginx  Fuchsia 

Fuchsia是Google继Android ,Chrome OS后第三款操作系统,该操作系统内核采用的是Magenta,该内核是Google自有的,遵循Apache 

Licence 2.0,也就规避了android的麻烦 

4,Apache Licence 2.0 

著名的非盈利开源组织Apache采用的协议, 鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件).需要满足的条

件也和BSD类似,该协议相比BSD的区别是:如果你修改了代码, 需要在被修改的文件中说明

典型代表:Apache  AOSP

AOSP(Android Open Source Project),由于遵循了APL 协议,也导致了android版本的碎片化

5,MIT (Massachusetts Institute of Technology)

MIT是和BSD一样宽范的许可协议, 作者只想保留版权, 而无任何其他了限制

典型代表: Node

以上就是目前市面上软件主要用的开源协议,请大家在使用软件前仔细看好。

最后附上巨人画好的一幅图,简洁明了:

相关文章

  • 常见开源协议随谈

    今天被红芯浏览器刷屏了,明明是站在巨人的肩膀上,非得说是自主创新。也是,现在国产的项目,如果不用到开源软件,估计很...

  • 谈谈开源协议

    目录 引言 常见的五种开源协议BSDAPLMITGPLLGPL iOS常用第三方库的开源协议 Android常用第...

  • 常见开源协议介绍

    一、常用开源协议汇总图 首先从一张图开始,介绍几种主流的开源协议,以及决定选用哪种框架的思路。使用哪种开源协议,决...

  • 常见的开源协议

    刚接触到开源项目时大家都会看到各种软件开源协议,但由于开源协议的数量很多,我们很少对它们有深入的了解。下面这张图就...

  • 常见的开源协议

    Apache License 由Apache软件基金会发布的自由软件许可证,最初为Apache http服务器而撰...

  • 常见开源协议图解

    经常关注开源社区的朋友们一定知道,很多开源项目采用了不同的来源协议,一般人看了也很是懵圈,下面这张图让大家可以清晰...

  • 常见开源协议详解

    自12年到北京做程序员,貌似从未关心过项目中使用的“轮子”涉及到了哪些开源协议。版权保护方面,虽然相关法规尚有待完...

  • 最常见的开源协议

    对最常见的开源协议做下总结分享 Mozilla Public License MPLLicense,允许免费重发布...

  • 经典面试题32 - 主流开源协议的异同

    问题 开源项目的开源协议对开发者和使用者都提供保护,常见的Apache License, GPL,MPL.等开源协...

  • 75.你知道的开源协议有哪些

    常见的开源协议有GPL、LGPL、BSD、Apache Licence vesion 2.0、MIT,详细内容参考...

网友评论

    本文标题:常见开源协议随谈

    本文链接:https://www.haomeiwen.com/subject/oaozbftx.html