GPL,LGPL和BSD等协议注意事项
2016-07-27 14:47
357 查看
使用开源软件必须注意GPL,LGPL和BSD等协议
简而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协议把自己编写的源程序进行公开。GPL协议要求的关键在于开放源程序,但并不排斥软件作者向用户收费。虽然如此,很多大公司对GPL协议还是又爱又恨,爱的是这个协议项下的软件历经众多程序员千锤百炼的修改,已经非常成熟完善,恨的是必须开放自己后续的源程序,导致竞争对手也可以根据自己修改的源程序开发竞争产品。正因大公司对GPL协议在商业上存在顾虑,因此,另两种协议被采用的更多,第一种是LGPL(亦称GPL V2)协议,可以翻译为更宽松的GPL协议。与GPL协议的区别为,后者如果只是对LGPL软件的程序库的程序进行调用而不是包含其源代码时,相关的源程序无需开源。调用和包含的区别类似在互联网网网页上对他人网页内容的引用:如果把他人的内容全部或部分复制到自己的网页上,就类似包含,如果只是贴一个他人网页的网址链接而不引用内容,就类似调用。有了这个协议,很多大公司就可以把很多自己后续开发内容的源程序隐藏起来。
第二种是BSD协议(类似的还有MIT协议)。BSD协议鼓励软件的作者公开自己后续开发的源代码,但不强求。在BSD协议项下开发的软件,原始的源程序是开放源代码的,但使用者修改以后,可以自行选择发布源程序或者二进制程序(即目标程序),当然,使用者有义务把自己原来使用的源程序与BSD协议在软件对外发布时一并发布。因为比较灵活,所以BSD深受大公司的欢迎。
相关文章推荐
- GPL,LGPL和BSD等协议注意事项
- 清理sqlserver 2012 日志文件
- HDU 5758 Explorer Bo (树形DP)
- poj1201 intervals
- Linux反向过滤导致网卡无法从外网ping通
- HDU5733 tetrahedron[计算几何]
- 三种主流的WebService实现方案(REST/SOAP/XML-RPC)简述及比较
- Netperf - The fastest TCP connection with Multipath TCP
- 字节流和字符流的区别
- jsp el比较字符串
- 关于无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法
- 源码-PL/SQL从入门到精通-第十八章-PL/SQL性能优化建议-Part 1
- OpenCV学习笔记——滑动条开关
- Intellij Idea2016.2开发工具注册
- linux查看版本号、更改主机名、位数
- Inno Setup 注册表启动项 修改注册表
- 门户更新开发计划
- $.ajax()
- 计词unigram和bigram的频次
- AndroidAnnotations使用配置整合版