目前市面上的开源协议有很多种,比如:GPL、BSD、MIT、Mozilla、Apache 和 LGPL等。

选择RTOS,通常会考虑开源、市场占有率、配套资料和例程,以及配套组件等,市面上使用率较多的开源RTOS,这里主要推荐:μC/OS、RT-Thread、FreeRTOS、ThreadX等大家熟悉的RTOS。

随着μC/OS、ThreadX的开源,现在供大家选择学习的RTOS越来越多了。

下面讲讲μC/OS、FreeRTOS、RT-Thread、ThreadX开源协议的具体内容。

1μC/OS开源许可

μC/OS使用Apache 2.0开源许可。

μC及相关组件以允许的开源Apache 2.0许可模式提供,在这种开源模型下,寻求使用组件的开发人员可以免费下载和使用该软件。

地址:https://weston-embedded.com/micrium-licensing

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

2RT-Thread 开源许可

RT-Thread 遵循 GPL V2 + 开源许可协议。

RT-Thread 系统完全开源,3.1.0 及以前的版本遵循 GPL V2 + 开源许可协议。从 3.1.0 以后的版本遵循 Apache License 2.0 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码。

地址:https://www.rt-thread.org/document/site/tutorial/quick-start/introduction/introduction/

GPL 开源协议的主要特点:

3FreeRTOS开源协议

FreeRTOS使用MIT开源协议。

包括但不限于以下权利:使用,复制,修改,合并,发布,分发,再许可和/或出售。

地址:https://www.freertos.org/a00114.html

免费和商业版协议差异:

4ThreadX开源协议

ThreadX遵循“简单”的开源协议。

ThreadX的协议由微软“自定义”,包含的款项比较多,对共享、删除、修改、分发等都有约定。

地址:https://github.com/azure-rtos/threadx/blob/master/LICENSE.txt