当前位置:首页 > 嵌入式 > 嵌入式大杂烩
[导读]关注「Linux大陆」,选择「星标公众号」一起进步!今天和大家分享一些开源协议的知识。这些协议缩写词在各种代码、文档中随处可见,比如GPL、BSD、MIT、Mozilla、Apache和LGPL等等。github新建仓库时协议选择这么多协议,我们了解的有多少呢?作为一名专业的嵌入...

关注「Linux大陆」,选择「星标公众号」一起进步!

今天和大家分享一些开源协议的知识。这些协议缩写词在各种代码、文档中随处可见,比如GPLBSDMITMozillaApacheLGPL等等。


github新建仓库时协议选择
这么多协议,我们了解的有多少呢?

作为一名专业的嵌入式系统开发人员,了解这些开源协议是一种基本素养,特别是当你自己要开源一些东西的时候该如何选择开源协议就变得非常重要了!

下面,对常见的几种做一下简单的介绍。

开源协议的作用

开源协议规定了你在使用开源软件时的权利和责任,也就是规定了你可以做什么不可以做什么

开源协议虽然不一定具备法律效力,但是当涉及软件版权纠纷时,开源协议也是非常重要的证据之一。

对于准备编写一款开源软件的开发人员,也非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度保护自己的软件权益。

如何选择开源协议

世界上的开源许可证(Open Source License)大概有上百种,今天我们来介绍下几种我们常见的开源协议。

大致有GPLBSDMITMozillaApacheLGPL这6种。

点击放大
下面通过这几张图,大家可以一目了然的选择合适的开源协议:

点击放大
乌克兰程序员 Paul Bagwell 画了一张分析图

单击放大
单击放大

详细介绍常用开源协议

GNU GPL协议

GNU GPL具体为(GNU General Public License,GNU通用公共许可证)。

只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,因此这个协议并不适合商用软件

遵循 GPL 协议的开源软件数量极其庞大,包括 Linux 系统在内的大多数的开源软件都是基于这个协议的。

BSD协议

BSD协议具体为(Berkeley Software Distribution,伯克利软件发布版)协议。

BSD 协议给予用户极大的权利,用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售,前提是需要满足下面三个条件:

  1. 如果再发布的软件中包含源代码,则源代码必须继续遵循 BSD 许可协议。

  2. 如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原始代码遵循了 BSD 协议。

  3. 不允许用原始软件的名字、作者名字或机构名称等进行市场推广。

BSD 对商业比较友好很多公司在选用开源产品的时候都首选 BSD 协议,因为可以完全控制这些第三方的代码,甚至在必要的时候可以修改或者二次开发。

Apache 协议

Apache 协议具体为许可证版本(Apache License Version)协议,Apache 和 BSD 类似,都适用于商业软件。

Apache 协议在为开发人员提供版权及专利许可的同时,允许用户拥有修改代码及再发布的自由。

Hadoop、Apache HTTP Server、MongoDB 等项目都是基于该许可协议研发的,程序开发人员在开发遵循该协议的软件时,要严格遵守下面的四个条件:

该软件及其衍生品必须继续使用 Apache 许可协议。

如果修改了程序源代码,需要在文档中进行声明。

若软件是基于他人的源代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容信息。

如果再发布的软件中有声明文件,则需在此文件中标注 Apache 许可协议及其他许可协议。

Apache 协议还有以下需要说明的地方: 永久权利: 一旦被授权,永久拥有

全球范围的权利: 在一个国家获得授权,适用于所有国家

授权免费,且无版税: 前期,后期均无任何费用。

授权无排他性: 任何人都可以获得授权

授权不可撤消: 一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。

MIT协议

MIT协议具体为(Massachusetts Institute of Technology)协议,又称「X条款」或「X11条款」。

目前限制最少的开源许可协议之一(比 BSD 和 Apache 的限制都少),只要程序的开发者在修改后的源代码中保留原作者的许可信息即可,因此普遍被商业软件所使用。

使用 MIT 协议的软件有 PuTTY、X Window System、Ruby on Rails、Lua 5.0 onwards、Mono 等。

GUN LGPL协议

GUN LGPL协议具体是(GNU Lesser General Public License,GNU 宽通用公共许可证)。LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议。

LGPL 允许商业软件通过类库引用(link)的方式使用 LGPL 类库,而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售。

但是如果修改 LGPL 协议的代码或者衍生品,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用 LGPL 协议。

因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以 LGPL 协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

文章来源于网络,如有侵权请联系我删除,感谢~

往期推荐:

嵌入式编程中常用的宏定义有哪些?

一位程序员的十年工作总结,需要注意这几点!

分享一款小巧好用的代码对比工具

C语言、嵌入式中几个非常实用的宏技巧

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

企业级AI操作系统将上下文、编排与执行相统一,赋能受管控的AI员工自主化、规模化地完成真实业务任务。 集成语音AI的AI OS支持超低延迟下的自然语音交互...

关键字: COM MOTION NVIDIA 开源

上海2026年1月8日 /美通社/ -- 北京时间2026年1月8日,启明创投投资企业、中国通用人工智能(AGI)的开拓者与引领者智谱成功登陆港交所,成为“全球大模型第一股”。智谱(02513.HK)发行价为116.20...

关键字: 模型 LM 开源 多模

北京2025年12月22日 /美通社/ -- 近日,软通动力旗下自主品牌软通华方正式发布开源鸿蒙智慧屏新品,这款搭载软通天鸿操作系统6的商显大屏,以"硬件+系统+应用"全栈国产化架构添补了行业空白,成...

关键字: 开源 智慧屏 全栈 鸿蒙

北京2025年12月22日 /美通社/ -- 近日,软通动力在自主创新产品发布会上正式发布"软通天鸿操作系统6"。该操作系统由软通动力子公司鸿湖万联基于OpenHarmony社区版深度定制而成,是一款...

关键字: 开源 操作系统 全栈 鸿蒙

北京2025年12月22日 /美通社/ -- 12月20日晚,中央广播电视总台与广东省人民政府联合主办,深圳市人民政府、央视频、总台广东总站共同承办的《鸿蒙星光盛典》,正式在CCTV-2、CCTV-3、央视频、央视新闻、...

关键字: 鸿蒙 开源 操作系统 HARMONY

北京2025年12月18日 /美通社/ -- 12月17日,软通动力在北京隆重举办"开源鸿蒙•智绘未来"主题发布会,正式推出软通天鸿操作系统6与软通华方开源鸿蒙智慧屏两款核心产品。本次活动通过产品发布...

关键字: 开源 鸿蒙 智慧屏 OS

上海2025年12月16日 /美通社/ -- 12月15日-16日,2025中国汽车软件大会于上海嘉定开幕。会上,行业首个覆盖自动驾驶全栈的开源中间件——天元OS跨域中间件正式全栈开源发布,黑芝麻智能作为共建单位,黑芝麻...

关键字: 开源 中间件 全栈 OS

北京2025年11月10日 /美通社/ -- 11月6日至9日,2025年世界互联网大会乌镇峰会在中国浙江乌镇成功举办。历经十一年发展,乌镇峰会已成为在中国举办的规模最大、层...

关键字: AI IBM 开源 智能体

北京2025年11月10日 /美通社/ -- 11月6日至9日,2025年世界互联网大会乌镇峰会在中国浙江乌镇成功举办。历经十一年发展,乌镇峰会已成为在中国举办的规模最大、层...

关键字: IBM 开源 AI 智能体

江苏昆山2025年10月23日 /美通社/ -- 第十八届中国纸业发展大会在青岛盛大开幕,400余位行业领袖与专家共襄盛会,共话纸业的可持续未来。作为大会首日晚宴环节,"福伊特之夜"以主题 "...

关键字: XCELL 可持续发展 人工智能 开源
关闭