作者 | strongerHuang
微信公众号 | 嵌入式专栏
很多软件(库)虽然开源,但并不等于你可以随便使用,也是需要遵循对应License许可才行。
今天给大家讲解一下我们常用的开源RTOS:FreeRTOS 的许可内容,以及License相关的内容。
关于License
License,即许可的意思,虽然我们很多软件都是免费使用,但依然需要遵循许可才行,比如我们所说的开源许可。
开源许可分类:
- GNU GPL
- BSD
- Apache
- MIT
- GUN LGPL
1.GNU GPL
GNU GPL:GNU General Public License,GNU通用公共许可证。
GPL 开源协议的主要特点:
- 复制自由:允许把软件复制到任何人的电脑中,并且不限制复制的数量。
- 传播自由:允许软件以各种形式进行传播。
- 收费传播:允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的。
- 修改自由:允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议授权。
2.BSD
BSD:Berkeley Software Distribution,伯克利软件发布版协议。
BSD 对商业比较友好,很多公司在选用开源产品的时候都首选 BSD 协议,因为可以完全控制这些第三方的代码,甚至在必要的时候可以修改或者二次开发。
3. Apache
全称Apache License Version,阿帕奇许可证版本。
4.MIT
MIT:全拼Massachusetts Institute of Technology,是目前限制最少的开源许可协议之一(比 BSD 和 Apache 的限制都少)。
只要程序的开发者在修改后的源代码中保留原作者的许可信息即可,因此普遍被商业软件所使用。
5.GUN LGPL
GNU Lesser General Public License,GNU 宽通用公共许可证。
LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议。
LGPL 允许商业软件通过类库引用(link)的方式使用 LGPL 类库,而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售。
开源不等于免费:
开源软件是指公开源代码的软件:开源软件在发行的时候会附上软件的源代码,并授权允许用户更改、传播或者二次开发。
免费软件就是免费提供给用户使用的软件:但是在免费的同时,通常也会有一些限制,比如源代码不公开,用户不能随意修改、不能二次发布等。
这里可以参看之前分享文章:程序猿如何选择开源协议?
FreeRTOS许可
FreeRTOS虽然是免费的,但它需要遵循MIT开源许可。
包括但不限于以下权利:使用、复制、修改、合并、发布、分发、再许可或出售内容的副本。
FreeRTOS软件按“原样”提供,没有任何形式的明示或明示担保。默示包括但不限于对适销性,适用性的担保,适用于特定目的和非侵权。
在任何情况下,作者或版权持有人应对任何索赔,损害或其他责任负责,在合同,侵权或其他形式的诉讼中,来源,外出或进入与软件的连接或软件的使用或其他处理。
FreeRTOS还有一个对应的商用系统:OpenRTOS。
它和FreeRTOS有近似之处,但不需要商业付费,下面罗列差异:
------------ END ------------
作者:strongerHuang
文章来源:嵌入式专栏
推荐阅读
欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。