当前位置:网站首页>STM32CubeMX,68套组件,遵循10条开源协议
STM32CubeMX,68套组件,遵循10条开源协议
2022-07-07 12:33:00 【strongerHuang】
关注+星标公众号,不错过精彩内容
作者 | strongerHuang
微信公众号 | strongerHuang
嵌入式开发过程中,我们会用到很多工具软件,有的是收费软件,有的是免费软件。
其中,免费的软件工具有很多,但免费也是需要遵循一定协议条款才行。
开发STM32的小伙伴都应该知道,ST的生态环境做得不错,其中有很多开发工具都是免费的:STM32CubeMX、 STM32CubeIDE、 STM32CubeProg、 STM32CubeMonitor等还有很多都可以长期免费使用。
免费不代表没有限制,那么,你知道这些工具要遵循什么协议吗?你有关心开源协议吗?
每一条免费的软件工具,都有协议说明,这里我们分享一下STM32CubeMX给出的协议条款:其中包含68套组件,要遵循10条开源协议。
10条开源协议:
Apache-2.0
BSD-3-clause
EPL-1.0
LGPL-2.1
MIT
MPL-1.1
JSON License
LZMA License
JDOM License
https://www.st.com/content/ccc/resource/legal/legal_agreement/additional_license_terms/group0/90/46/49/cb/f1/96/46/cf/Additional_Licence_Terms_STM32CubeMX/files/Additional_Licence_Terms_STM32CubeMX.html/jcr:content/translations/en.Additional_Licence_Terms_STM32CubeMX.html
什么是开源协议?常见的开源协议有哪些?
开源协议,就是对开源软件的一种“约束”。
开源协议规定了你在使用开源软件时的权利和责任,也就是规定了你可以做什么,不可以做什么。
开源协议虽然不一定具备法律效力,但是当涉及软件版权纠纷时,开源协议也是非常重要的证据之一。
比如:我自己写的一个软件,开源出来,你可以拿去DIY、用于项目开发,但你不能将我的开源软件拿去卖钱。
常见有名的开源工具,一般都会有额外的文件/文档进行描述:
开源代码,一般在源代码中都会有遵循的开源协议描述:
常见的开源协议有哪些?
世界上开源协议有很多,版本也有很多。我们在市面上见到的很多开源软件、工具一般都会有开源协议条款。
其中有几个常用的:
GPL
BSD
Apache
MIT
LGPL
······
每一种协议可能有不同版本,比如V1、V2版。各种协议可能有相同的约定,比如:自由复制、自由传播、自由修改等。
可以参看我之前分享的内容:开源协议是什么?
以前很多RTOS都是开源收费,现在陆续开源免费了,也是修改了相关开源协议,比如之前给大家分享的:µC/OS、FreeRTOS、RT-Thread、ThreadX开源协议的具体内容
最后,如果是个人,或者小公司使用一些开源软件、工具,可能不会在意那些协议细节,如果是大公司,你就要多了解一下这些协议。
------------ END ------------
关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
点击“阅读原文”查看更多分享。
边栏推荐
- 請問,在使用flink sql sink數據到kafka的時候出現執行成功,但是kafka裏面沒有數
- call undefined function openssl_cipher_iv_length
- Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
- 接口自动化测试-接口间数据依赖问题解决
- Vmware 与主机之间传输文件
- Excuse me, why is it that there are no consumption messages in redis and they are all piled up in redis? Cerely is used.
- The reason why data truncated for column 'xxx' at row 1 appears in the MySQL import file
- Mysql怎样控制replace替换的次数?
- How does MySQL control the number of replace?
- libSGM的horizontal_path_aggregation程序解读
猜你喜欢
使用day.js让时间 (显示为几分钟前 几小时前 几天前 几个月前 )
The longest ascending subsequence model acwing 482 Chorus formation
Wired network IP address of VMware shared host
Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
Navigation — 这么好用的导航框架你确定不来看看?
最长上升子序列模型 AcWing 1012. 友好城市
Assign a dynamic value to the background color of DataGrid through ivalueconverter
[Reading stereo matching papers] [III] ints
Did login metamask
docker部署oracle
随机推荐
一个简单LEGv8处理器的Verilog实现【四】【单周期实现基础知识及模块设计讲解】
Details of redis core data structure & new features of redis 6
PC端页面如何调用QQ进行在线聊天?
Laravel Form-builder使用
Environment configuration of lavarel env
Leetcode - Sword finger offer 05 Replace spaces
Leetcode——236. 二叉树的最近公共祖先
MySQL "invalid use of null value" solution
Laravel5 call to undefined function OpenSSL cipher IV length() error php7 failed to open OpenSSL extension
Es log error appreciation -limit of total fields
ARM Cortex-A9,MCIMX6U7CVM08AD 处理器应用
Cascading update with Oracle trigger
最长上升子序列模型 AcWing 1014. 登山
The difference between memory overflow and memory leak
Cesium 已知一点经纬度和距离求另一个点的经纬度
LeetCode每日一题(636. Exclusive Time of Functions)
C # use TCP protocol to establish connection
Verilog implementation of a simple legv8 processor [4] [explanation of basic knowledge and module design of single cycle implementation]
IP and long integer interchange
VSCode 配置使用 PyLint 语法检查器