简 而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协 议把自己编写的源程序进行公开。GPL协议要求的关键在于开放源程序,但并不排斥软件作者向用户收费。虽然如此,很多大公司对GPL协议还是又爱又恨,爱的是这个协议项下的软件历经众多程序员千锤百炼的修改,已经非常成熟完善,恨的是必须开放自己后续的源程序,导致竞争对手也可以根据自己修改的源程序开发 竞争产品。

正因大公司对GPL协议在商业上存在顾虑,因此,另两种协议被采用的更多,第一种是LGPL协议,可以翻译为更宽松的GPL协议。与GPL协议的区别为,后者如果只是对LGPL软件的程序库的程序进行调用而不是包含其源代码时,相关的源程 序无需开源。调用和包含的区别类似在互联网网网页上对他人网页内容的引用:如果把他人的内容全部或部分复制到自己的网页上,就类似包含,如果只是贴一个他 人网页的网址链接而不引用内容,就类似调用。有了这个协议,很多大公司就可以把很多自己后续开发内容的源程序隐藏起来。

第二种是BSD协 议(类似的还有MIT协议)。BSD协议鼓励软件的作者公开自己后续开发的源代码,但不强求。在BSD协议项下开发的软件,原始的源程序是开放源代码的, 但使用者修改以后,可以自行选择发布源程序或者二进制程序(即目标程序),当然,使用者有义务把自己原来使用的源程序与BSD协议在软件对外发布时一并发 布。因为比较灵活,所以BSD深受大公司的欢迎。

转载于:https://www.cnblogs.com/fox2013/p/3443176.html

GPL协议、LGPL协议与BSD协议的法律区别相关推荐

  1. 五种开源协议:GPL, LGPL, APACHE, BSD, MIT

    BSD开源协议(original BSD license.FreeBSD license.Original BSD license) BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以&q ...

  2. 聊聊 GPL、LGPL 开源代码许可协议,顺便提一下 MIT

    GPL GPL 协议是说,我的代码是开源和免费的,如果你用了我的代码,那么你的代码也必须遵循 GPL 协议 -- 也必须开源和免费.这就是所谓的"传染性". 举个例子吧,linux ...

  3. 了解 GNU GPL/GNU LGPL/BSD/MIT/Apache协议

    摘自:http://blog.csdn.net/flowingflying/article/details/5746151 越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础 ...

  4. 几种常见的开源软件许可协议(GPL, LGPL, Apache License, BSD)

    Open Source Initiative组织: https://opensource.org/licenses/alphabetical 现今存在的开源协议很多,而经过Open Source In ...

  5. 开源许可协议:GPL、LGPL、AGPL、MPL和BSD、MIT、Apache

    概述 一.开源许可证的分类 开源许可证分为2种类型:宽松型和著作权型. 1.宽松型(Permissive):该类许可证往往只要求被许可方保留原作品的版权信息,对用户施加的限制较少,衍生软件可以成为私有 ...

  6. 四种常见软件开源协议介绍-GPL、LGPL、BSD、Apache

    今天介绍四种常见的开源软件协议: GPL(GNU General Public License) LGPL(GNU Lesser General Public License) BSD(Berkerl ...

  7. 开源协议BSD、Apache2、GPL、LGPL、MIT

    目录 BSD开源协议(original BSD license.FreeBSD license.Original BSD license) Apache Licence 2.0(Apache Lice ...

  8. 五种开源协议的比较(BSD、Apache、GPL、LGPL、MIT)

    当Adobe.Microsoft.Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来!现今存在的开源协议很多,而经过Open Source ...

  9. 【开源协议】BSD、Apache2、GPL、LGPL、MIT

    作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license). 开源许可证(Open Source License) License就是版权许可证,里面详尽表述了你获得 ...

最新文章

  1. Swift4 - 动态计算UITableView中tableHeaderView的高度 - 获取子控件高度和宽度
  2. pcap文件生成metadata——使用tshark解析tcpdump的pcap包
  3. 最小二乘法与最大似然函数的区别
  4. PAT_B_1029 旧键盘
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上零食商城管理系统
  6. mysql两个数据库表数据同步_php同步mysql两个数据库中表的数据
  7. Snagit 2021 for mac(强大的屏幕截图工具)
  8. 拓端tecdat|R语言推特twitter网络转发可视化分析
  9. linux运行perl脚本,linux运行perl脚本_将Perl脚本从Solaris移植到Linux
  10. android 坏点测试软件,烧屏坏点检测软件下载-烧屏坏点检测官方安卓版v1.0-魅卓网...
  11. 暴力破解wifi密码尝试
  12. 移动端后台管理系统框架
  13. Justinmind使用教程(2)——计算表达式及条件使用方法
  14. svchost.exe 大量占用的问题
  15. days05-DSL查询文档以及对搜索结果进行处理
  16. bzoj 1718: [Usaco2006 Jan] Redundant Paths 分离的路径
  17. web前端开发之vue基础
  18. 《功夫熊猫》字幕翻译个案研究
  19. 2020年性价比之最相机的比较:索尼6400 与富士 xt30的比较及相关评价摘录
  20. kubectl :命令技巧大全

热门文章

  1. java 深拷贝 序列化_java 之 利用序列化实现深拷贝
  2. oracle基本的查询语句,Oracle中的基本查询语句总结
  3. 使用Enide Studio 2014 IDE进行Express JS路由
  4. 一个有助于理解事件冒泡和事件捕获的例子
  5. 全栈工程师与架构师的区别是什么?
  6. python中的itemgetter函数
  7. 【BZOJ】3238: [Ahoi2013]差异
  8. python3.6 - threading 多线程编程基础(1)
  9. 【数据结构】广义表的默认成员函数、深度、大小、打印
  10. 南阳OJ 16 矩形嵌套