cancel
Showing results for 
Search instead for 
Did you mean: 

Commercial use of ST Hal Libraries and Middlewares

Fede Rico
Associate III
Posted on February 13, 2018 at 09:34

Hello,

I built a project, based on STM32F103, that uses the HAL libraries, CMSIS-FreeRtos and Middleware for STM32_ BlueNRG.

This is a commercial project and I want to understand the term of license associated to each module in order to sell my hardware without pay fees.

I found this document 

http://www.st.com/content/ccc/resource/legal/legal_agreement/license_agreement/group0/45/a8/70/72/ac/0c/4d/4d/DM00268556/files/DM00268556.pdf/jcr:content/translations/en.DM00268556.pdf

 on the ST website, but I don't know if the document contents are applicable to every ST software component.

Could someone explain me the license type adopted by ST ( Hal and BlueNRG) ,ARM ( Cmsis ) and FreeRTOS.

Thanks in advance!

#stm32-license #cmsis-rtos #commercial
1 ACCEPTED SOLUTION

Accepted Solutions
Posted on February 16, 2018 at 18:32

Hi T B,

SLA0048 is the license document for the whole STM32Cube MCU Packages (ex: STM32CubeF4) or STM32Cube Expansion Packages (X-CUBEs).

http://www.st.com/content/ccc/resource/legal/legal_agreement/license_agreement/group0/eb/8e/f9/c1/9e/64/49/95/SLA0048/files/SLA0048.txt/jcr:content/translations/en.SLA0048.txt

This document states that you should refer to individual SW components licenses directly when they are open source (clause ♯ 6). To be more precise the terms of clause ♯ 6 mention that, in case of SW components distributed under open source in said packages, the terms of SLA0048 are inapplicable and said open source license terms apply instead. 

6.  Some portion of the software package may contain software subject to Open Source Terms (as defined below) applicable for each such portion (“Open Source Software�?), as further specified in the software package. Such Open Source Software is supplied under the applicable Open Source Terms and is not subject to the terms and conditions of license hereunder. “Open Source Terms�? shall mean any open source license which requires as part of distribution of software that the source code of such software is distributed therewith or otherwise made available, or open source license that substantially complies with the Open Source definition specified at www.opensource.org and any other comparable open source license such as for example GNU General Public License (GPL), Eclipse Public License (EPL), Apache Software License, BSD license and MIT license.

HALs are under the open source 3-clause BSD and thus SLA0048 doesn't apply to them. Clause ♯ 2 of said BSD license linked in my previous post explicitly states that you indeed have to propagate the copyright, disclaimer and license terms in the documentation of your deliverable in binary format.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

View solution in original post

3 REPLIES 3
JG Mouton_O
Associate
Posted on February 16, 2018 at 10:28

Hi Fede Rico,

Generally speaking, and this is important to know, you should always find a link to the license document applicable to any SW package directly on its corresponding webpage. Individual SW components license terms are either embedded directly into the release notes of said components (found in the actual local copies of the packages), or provided through a link to the original document.

HALs are distributed under the 3-clause BSD license, and that means you are free to do pretty much anything with them as long as you propagate the copyright and don't use ST and contributors' names for commercial endorsement or promotion.

Link:

https://opensource.org/licenses/BSD-3-Clause

.

As advertised on arm's website, all CMSIS SW components are under the business-friendly Apache 2.0 license. It is a bit less permissive than BSD, and you should for example pay attention to the clauses regarding redistribution as they are a bit more developed (for example item #4).

Link:

http://arm-software.github.io/CMSIS_5/General/html/index.html#License

.

Regarding BLE, we have several packages on our website offering a BLE stack, so I will assume here that you are using X-CUBE-BLE1 as a basis. This package is distributed under SLA0077. In a (big) nutshell, it mentions that you sometimes have to refer individual SW components licenses to get all the details, but the most important item is the usage restriction to ST devices only (STM32, BlueNRG-1,...).

Link:

http://www.st.com/content/ccc/resource/legal/legal_agreement/license_agreement/group0/62/6a/48/15/b4/12/47/7a/DM00367782/files/DM00367782.pdf/jcr:content/translations/en.DM00367782.pdf

Finally, FreeRTOS is now distributed under the business-friendly MIT license following its buyout by Amazon. Quite simple here as you can do pretty much whatever you wish as long as you propagate the copyright and license terms.

Link:

https://freertos.org/a00114.html

Even if I tried to give a brief sum up above, I would really recommend to make a thorough review of each license document.

Posted on February 16, 2018 at 14:31

> HALs are distributed under the 3-clause BSD license

Is HAL really pure 3-clause BSD license or is there some exception for redistributions in binary form.

SLA0048 allows redistribution in binary form without copyright notice, if the binary is for a ST MCU.

Example:

I am is selling a product (e.g. refrigerator, microwave) which have a STM32 MCU inside. The MCU has a binary which uses HAL.

Do I need to mention ST copyright in the product documentation/manual?
Posted on February 16, 2018 at 18:32

Hi T B,

SLA0048 is the license document for the whole STM32Cube MCU Packages (ex: STM32CubeF4) or STM32Cube Expansion Packages (X-CUBEs).

http://www.st.com/content/ccc/resource/legal/legal_agreement/license_agreement/group0/eb/8e/f9/c1/9e/64/49/95/SLA0048/files/SLA0048.txt/jcr:content/translations/en.SLA0048.txt

This document states that you should refer to individual SW components licenses directly when they are open source (clause ♯ 6). To be more precise the terms of clause ♯ 6 mention that, in case of SW components distributed under open source in said packages, the terms of SLA0048 are inapplicable and said open source license terms apply instead. 

6.  Some portion of the software package may contain software subject to Open Source Terms (as defined below) applicable for each such portion (“Open Source Software�?), as further specified in the software package. Such Open Source Software is supplied under the applicable Open Source Terms and is not subject to the terms and conditions of license hereunder. “Open Source Terms�? shall mean any open source license which requires as part of distribution of software that the source code of such software is distributed therewith or otherwise made available, or open source license that substantially complies with the Open Source definition specified at www.opensource.org and any other comparable open source license such as for example GNU General Public License (GPL), Eclipse Public License (EPL), Apache Software License, BSD license and MIT license.

HALs are under the open source 3-clause BSD and thus SLA0048 doesn't apply to them. Clause ♯ 2 of said BSD license linked in my previous post explicitly states that you indeed have to propagate the copyright, disclaimer and license terms in the documentation of your deliverable in binary format.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.