2022-01-23 05:25 AM
I implemented an application for an STM32 MCU with the STM32CubeIDE. I'd like to publish it as open source under the GPLv3 license on Github. Different licenses apply for the source code from STMicroelectronics, which my application is based on: the BSD-3-Clause for the HAL drivers and the Apache License 2.0 for CMSIS. This should be fine. But there are some further sources from STMicroelectronics with the following licensing information:
* Copyright (c) 2017 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
Unfortunately, there is no license file in the root directory (in contrast to the HAL drivers and CMSIS). So, what does "AS-IS" mean? Is it completely proprietary and I'm not allowed to use it at all? Is anybody able to clarify this? Thank you!
Note: This refers mainly to the Core folder with main.c etc.
2022-01-23 06:45 AM
As Is = No liability (can't sue if something bad happened) ?
2022-01-23 02:48 PM
Well, it says "All rights reserved." and nothing is said about rights to modify and redistribute the code etc.
2022-03-04 05:19 AM
Hello,
In theory, if you've got this file from either st.com or ST GitHub, there should always be a LICENSE file associated to it. If this file is coming from Cube or X-CUBE Applications, Demonstrations, Examples or Templates ,then the LICENSE file may not be located where you expected. Example for an Example project:
Projects
NUCLEO-XXXXXX
Examples
PPP
Example1
EWARM
Inc
MDK-ARM
Src
STM32CubeIDE
You may expect to have the LICENSE file under Example1 whereas it lies under Examples because the same license is applied on all examples.
This is the same for Applications, Demonstrations and Templates.
If this does not correspond to your case, where does your file come from?
All STMicroelectrnics copyrighted file should now have the header that you described above. This allows some flexibility in the licensing as the same file can be licensed with different terms depending where it is used.
The sentence "If no LICENSE file comes with this software, it is provided AS-IS" is there only to face situations where LICENSE file cannot be found and that should not happen. In this situation, it means that all rights belong to STMicroelectronics, and no one else as any right, even to read it!!!
Hope this clarifies. :)
2022-03-04 06:18 AM
I would also like to know which license is applicable as I am facing a similar issue with the linker script and some of the files in the Core folder.
When creating a new STM32 project with STM32CubeIDE (version 1.8.0), the linker script is auto-generated and placed at the root of the project. But not license is present at the root of the newly created project.
/*
******************************************************************************
**
** @file : LinkerScript.ld
**
** @author : Auto-generated by STM32CubeIDE
**
** @brief : Linker script for STM32F071RBTx Device from STM32F0 series
** 128Kbytes FLASH
** 16Kbytes RAM
**
** Set heap size, stack size and stack location according
** to application requirements.
**
** Set memory bank area and size if external memory is used
**
** Target : STMicroelectronics STM32
**
** Distribution: The file is distributed as is, without any warranty
** of any kind.
**
******************************************************************************
** @attention
**
** Copyright (c) 2022 STMicroelectronics.
** All rights reserved.
**
** This software is licensed under terms that can be found in the LICENSE file
** in the root directory of this software component.
** If no LICENSE file comes with this software, it is provided AS-IS.
**
******************************************************************************
*/
Is this a bug of the IDE? Which license should be considered for such files?
2022-03-04 06:31 AM
Hello,
As you are creating you own project, you should select your own license and provide the terms in a LICENSE file you create. You simply have to carefully select your own license in compliance with the terms of other files you use in your project. For example if all other files have permissive license (e.g. MIT, BSD family or even Apache-2.0) then you can select the license you like. As soon as you use another file that is for example GPL V2, then your project shall be licensed under GPL V2 as well.
So in the end, linker script files cannot compromise the license you intend to use.
2022-03-04 07:11 AM
Thanks for your replies!
I have had some time to think about it. Firstly, I'd like to add that the linker script is also concerned in my case. So, IDemi.2 and I have the same problem. And I double checked that there is no license file for the linker script, for instance.
I came to the conclusion that there are only two possibilities: It is either a bug or I should handle this issue as described in the previous post. I decided to go for the latter, but it feels strange to me that I should assign a license to a file that is provided "AS-IS" with all rights reserved. I still consider it a bug somehow.
2022-04-16 09:03 AM
Hello,
Follow up questions.
I wish to publish my project under an open source license that utilizes the code generated by STM32CubeIDE. I've generated code for a new project with STM32CubeIDE. A few files, including main.c, stm32xxxx_hal_msp.c and stm32xxx_it.c contains the following header:
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2022 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
Here's my questions:
2022-04-19 01:04 AM
Hello,
Indeed, STMicroelectronics holds the copyright of the generated code but you are free to use the license you wish to further re-distribute it. You can do so placing the license terms in the LICENSE file.
Despite the fact that the copyright declaration is placed within a "USER CODE" section, it is not welcome to remove it. However, as explained above, you are free to select the license you wish.
Thanks + regards