本文转载自微信公众号「嵌入式专栏」,作者strongerHuang。转载本文请联系嵌入式专栏公众号。
目前市面上的开源协议有很多种,比如: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