【2013-10-29】【转】各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2013-10-29 标题【转】各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT分类编程 / 随手记 标签开源协议各种开源协议介绍 BSD、Apache Licence、GPL V2、GPL V3、LGPL、MITBSD 开源协议Apache Licence 2.0GPLGNU General Public LicenseGPL V2 与 GPL V3 的争议LGPLGNU Lesser General Public LicenseMIT转自open-open.com现今存在的开源协议很多经过 Open Source InitiativeOSI批准的开源协议目前有 58 种详见 OSI 批准协议列表。常见的 BSD、GPL、LGPL、MIT 等均属于 OSI 批准的协议。如果要开源自己的代码最好选择这些被批准的协议。BSD 开源协议BSDoriginal BSD license、FreeBSD license是一个给予使用者极大自由的协议使用者可以自由使用、修改源代码也可以将修改后的代码作为开源或专有软件再发布。发布使用了 BSD 协议的代码或基于 BSD 代码进行二次开发时需满足三个条件若再发布产品中包含源代码则源代码中必须保留原 BSD 协议声明。若再发布的只是二进制类库/软件则文档和版权声明中必须包含原 BSD 协议声明。不可以用开源代码的作者/机构名字和原产品名字做市场推广。BSD 鼓励代码共享对商业集成非常友好许多公司在选用开源产品时首选 BSD因为可以完全控制第三方代码并在必要时进行修改或二次开发。Apache Licence 2.0Apache Licence 是著名非盈利开源组织 Apache 采用的协议与 BSD 类似同样鼓励代码共享和尊重原作者著作权允许代码修改和再发布。使用时需满足需要给代码用户提供一份 Apache Licence。若修改了代码需在被修改的文件中说明。延伸代码修改和衍生代码中需保留原来的协议、商标、专利声明及其他原作者规定的说明。若再发布产品中包含 Notice 文件则 Notice 中需包含 Apache Licence可增加自己的许可但不得修改 Apache Licence 本身。Apache Licence 对商业应用友好使用者可以修改代码并作为开源或商业产品发布/销售。GPLGNU General Public LicenseLinux 采用了 GPL。GPL 与 BSD/Apache 等鼓励代码重用的协议截然不同GPL 的出发点是代码的开源/免费使用但不允许修改后和衍生的代码作为闭源商业软件发布和销售。GPL 的主要内容只要在软件中使用类库引用、修改后代码或衍生代码GPL 协议的产品该软件产品必须也采用 GPL 协议必须开源且免费。这就是 GPL 的传染性。由于 GPL 严格要求使用 GPL 类库的软件必须使用 GPL 协议商业软件或有保密要求的部门不适合使用 GPL 协议代码作为类库或二次开发基础。GPL V2 与 GPL V3 的争议GPL v2 要求修改后的代码必须整体按 GPL 流通源码必须向社会公开且不允许附加修改者自己作出的限制。GPL v3 草案不仅要求公布修改的源代码还要求公布相关硬件因此触及数字版权管理DRM相关问题备受争议甚至遭到 Linux 之父托瓦尔兹Torvalds的反对。两种协议并存的现状导致“世界有如此多软件都在 GPL v2 的约束之下如果要迁移到 GPL v3理论上需征得所有代码贡献者的同意”引自中科红旗 CTO 郑忠源。这一选择困境给开源社区带来了持续的兼容性问题。LGPLGNU Lesser General Public LicenseLGPL 是 GPL 针对类库使用而设计的变体协议。与 GPL 不同LGPL允许商业软件通过类库引用link方式使用 LGPL 类库而无需开源商业代码使 LGPL 类库可被商业软件作为类库引用并发布销售。但如果修改 LGPL 类库代码或进行衍生开发则修改部分和衍生代码必须采用 LGPL 协议。因此 LGPL 适合作为第三方类库被商业软件引用但不适合以 LGPL 代码为基础进行修改/衍生二次开发的商业软件。MITMIT 是与 BSD 同样宽泛的许可协议作者只保留版权无其他限制。使用时必须在发行版无论二进制还是源代码形式中包含原许可协议声明。

相关新闻

最新新闻

NBM 1.0网络启动大师:跨平台PXE网卡PNP批量装机工具解析

NBM 1.0网络启动大师:跨平台PXE网卡PNP批量装机工具解析

这次看一个网络启动工具:NBM(网络启动大师)1.0 正式发布,免费使用,支持 Windows 和 Linux,并且自带超强网卡 PNP 功能。如果你平时做系统批量部署、机房维护、无盘启动,这个方向本身就非常值得关…

2026/9/1 19:37:25
同价位游戏手机怎么选?帧率、散热与调度策略才是稳定性的关键

同价位游戏手机怎么选?帧率、散热与调度策略才是稳定性的关键

又到了一年两度的“同价位游戏手机对比”环节。今年这个价位段的竞争比以往更卷:左有走性能旗舰路线的 iQOO Neo10,右有主打长续航与均衡体验的 Z10 Turbo Pro,两台机器在电商页面上的参数差距并没有拉开明显差距,但真正拿在手里玩…

2026/9/1 19:37:25
技术解析|音频裁剪分割片段,怎么不切错?静音检测与阈值设定的四个参数

技术解析|音频裁剪分割片段,怎么不切错?静音检测与阈值设定的四个参数

一个半小时的会议录音、三小时的播客素材,要切成一段段能用的片段。手动切,一下午搭进去;上自动切分工具,跑完一看——要么一句话被从中间劈开,要么一大段安静被当成一个"静音"整段切掉,要么片头…

2026/9/1 19:37:25
音频处理实战|多音轨均衡器,音频分离实战场景:总线增益与余量分配的四个步骤

音频处理实战|多音轨均衡器,音频分离实战场景:总线增益与余量分配的四个步骤

把四条轨单独听都挺好,人声清晰、贝斯有力、鼓也稳,结果一混到一块,总线电平表直接顶红,导出后满屏的破音。你以为是哪条轨录得太响,挨个往下拉音量,拉完发现整体又小得可怜,底噪全浮上来了。来…

2026/9/1 19:37:25
基于STM32的植物生长箱环境控制系统设计与实现

基于STM32的植物生长箱环境控制系统设计与实现

简介:本资源是一套基于STM32F103系列单片机开发的植物生长箱环境控制系统完整工程,面向嵌入式初学者、农业物联网爱好者及高校课程设计/毕业设计学生,解决植物培育过程中温湿度、光照、土壤墒情与水位等多参数协同监测与智能调控难题。压缩包…

2026/9/1 19:37:25
进程开始——冯诺依曼体系结构

进程开始——冯诺依曼体系结构

冯诺依曼体系结构1、初始冯诺依曼体系结构2、存储器(内存)2.1、数据在体系结构中的流动2.2、存储分级2.3、内存作用的简单总结3、冯诺依曼体系结构在实际情境中的理解1、初始冯诺依曼体系结构 冯诺依曼体系结构,描述的是组织计算机硬件的方法。 以下是网络上一张冯…

2026/9/1 19:32:25