@@ -5,32 +5,93 @@ This files includes licensing information for parts of this repository.
55
66[ LGPLv2.1] ( #lgplv21 ) is used for:
77
8- * ` cores/arduino/*.* ` mainly contains modified files from Arduino.
8+ * ` cores/arduino/*.* ` mainly contains modified files from Arduino, except the
9+ files listed under [ BSD 3-Clause License] ( #bsd-3-clause-license ) and
10+ [ MIT License] ( #mit-license )
11+ * ` cores/arduino/stm32 `
12+ * ` cores/arduino/api ` (own copy of the license in ` cores/arduino/api/LICENSE ` ),
13+ except the files listed under [ MIT License] ( #mit-license )
14+ * ` libraries/EEPROM ` , ` libraries/IWatchdog ` , ` libraries/Keyboard ` ,
15+ ` libraries/Mouse ` , ` libraries/Servo ` , ` libraries/SoftwareSerial ` ,
16+ ` libraries/SPI ` , ` libraries/Wire ` - except the files listed under
17+ [ BSD 3-Clause License] ( #bsd-3-clause-license )
18+ * ` libraries/USBDevice/src/USBSerial.cpp ` and ` libraries/USBDevice/inc/USBSerial.h `
919
1020[ BSD 3-Clause License] ( #bsd-3-clause-license ) is used for:
1121
1222* ` system/Drivers/STM32*xx_HAL_Driver ` folders include the STMicroelectronics HAL Drivers
1323* ` system/Middlewares/OpenAMP `
1424* ` libraries/VirtIO ` - except virtio implementation (see [ MIT License] ( #mit-license ) )
1525* ` libraries/SrcWrapper/inc/PinName*.h `
26+ * ` cores/arduino/variant.h ` , ` cores/arduino/pins_arduino_analog.h ` and
27+ ` cores/arduino/pins_arduino_digital.h `
28+ * ` libraries/EEPROM/src/utility/stm32_eeprom.* `
29+ * ` libraries/Wire/src/utility/twi.* `
30+ * ` libraries/USBDevice/src/cdc/cdc_queue.c ` and ` libraries/USBDevice/inc/cdc_queue.h `
31+ * ` libraries/I3C ` , ` libraries/RGB_LED_TLC59731 ` and ` libraries/SubGhz `
32+ * ` libraries/SrcWrapper ` - files with a BSD 3-Clause header, mainly
33+ ` libraries/SrcWrapper/src/stm32 ` and ` libraries/SrcWrapper/inc `
34+ * ` variants ` - files with a BSD 3-Clause header, such as ` PeripheralPins.c ` ,
35+ ` variant_generic.* ` and ` generic_clock.c `
1636
1737[ Ultimate Liberty License] ( #Ultimate-Liberty-License ) is used for:
18- * ` system/Middlewares/STM32_USB_*_Library ` folders
19- * ` libraries/USBDevice ` (see header)
38+ * ` system/Middlewares/ST/STM32_USB_*_Library ` folders
39+ * ` libraries/USBDevice ` - files with a SLA0044 header, see the
40+ [ restrictions] ( #ultimate-liberty-license ) of this license
2041
2142[ Apache License] ( #apache-license ) is used for:
2243* ` system/Drivers/CMSIS ` folder includes the STMicroelectronics CMSIS device
23- * ` system/include/include /pinmap.h`
44+ * ` libraries/SrcWrapper/inc /pinmap.h`
2445* ` libraries/SrcWrapper/src/stm32/pinmap.c `
2546* ` tools/platformio/platformio-build.py `
2647
27- [ MIT License] ( #mit-license )
28- * ` libraries/VirtIO/*/virtio* `
48+ [ MIT License] ( #mit-license ) is used for:
49+ * ` libraries/VirtIO/*/virtio* ` and ` libraries/VirtIO/*/VirtIOSerial.* `
50+ * ` libraries/SrcWrapper/*/HardwareTimer.* `
51+ * ` libraries/SrcWrapper/src/new.cpp `
52+ * ` cores/arduino/api/Udp.h ` and ` cores/arduino/api/deprecated-avr-comp/avr/pgmspace.h `
2953
3054> [ !NOTE]
3155> ` system/STM32*xx/system_stm32*xx.c ` uses same license than ` system/Drivers/CMSIS `
3256> ` system/STM32*xx/stm32*xx_hal_conf_default.h ` uses same license than ` system/Drivers ` subfolders
3357
58+ > [ !NOTE]
59+ > Files under different licenses are separate files, each one keeps its own
60+ > license. Only the license of a file applies to that file: the LGPLv2.1 terms
61+ > do not extend to the files under other licenses and vice versa.
62+ > The Apache License 2.0 is compatible with LGPLv3 but not with LGPLv2.1 alone:
63+ > Apache licensed files must not be merged in an LGPLv2.1 licensed file.
64+
65+ > [ !NOTE]
66+ > ` system/Middlewares/OpenAMP/*/scripts/spelling.txt ` is a data file used by the
67+ > OpenAMP development scripts, licensed under GPLv2 (see its header). It is not
68+ > part of the build of the core.
69+
70+ ## Third-party components and attributions
71+
72+ The following files are not written by STMicroelectronics or by the
73+ STM32duino contributors. The copyright notice and the permission notice of their
74+ header must be retained:
75+
76+ | Files | Copyright | License |
77+ | -------| -----------| ---------|
78+ | ` libraries/SrcWrapper/src/new.cpp ` | PJRC.COM, LLC (Teensyduino) | [ MIT] ( #mit-license ) |
79+ | ` libraries/SrcWrapper/*/HardwareTimer.* ` | Daniel Fekete (and STMicroelectronics) | [ MIT] ( #mit-license ) |
80+ | ` libraries/VirtIO/*/virtio* ` , ` libraries/VirtIO/*/VirtIOSerial.* ` | Bumsik Kim | [ MIT] ( #mit-license ) |
81+ | ` cores/arduino/api/Udp.h ` | Bjoern Hartmann | [ MIT] ( #mit-license ) |
82+ | ` cores/arduino/api/deprecated-avr-comp/avr/pgmspace.h ` | Arduino LLC (based on Paul Stoffregen's work) | [ MIT] ( #mit-license ) |
83+ | ` cores/arduino/api ` | Arduino LLC | [ LGPLv2.1] ( #lgplv21 ) |
84+ | ` system/Middlewares/OpenAMP/open-amp ` | Mentor Graphics Corporation and contributors | [ BSD 3-Clause License] ( #bsd-3-clause-license ) |
85+ | ` system/Middlewares/OpenAMP/libmetal ` | Xilinx Inc. and contributors | [ BSD 3-Clause License] ( #bsd-3-clause-license ) |
86+
87+ The following components are not part of this repository, they are downloaded
88+ as Arduino tools packages (see ` platform.txt ` ) and are licensed by Arm under the
89+ [ Apache License] ( #apache-license ) :
90+
91+ * CMSIS (` CMSIS ` )
92+ * CMSIS-DSP (` CMSIS_DSP ` ), also used by ` libraries/CMSIS_DSP `
93+ * CMSIS-NN (` CMSIS_NN ` )
94+
3495-------------------------------------------------------------------------------
3596## LGPLv2.1
3697 GNU LESSER GENERAL PUBLIC LICENSE
@@ -577,6 +638,24 @@ SLA0044, the "License"; You may not use this file except in compliance with
577638the License. You may obtain a copy of the License at:
578639 http://www.st.com/SLA0044
579640
641+ > [ !IMPORTANT]
642+ > SLA0044 is not an open source license. The full text is available in
643+ > ` system/Middlewares/ST/STM32_USB_Device_Library/LICENSE.md ` . Among others:
644+ >
645+ > * The software, including modifications and derivative works, must be used
646+ > and executed solely and exclusively on or in combination with a processing
647+ > unit device manufactured by or for STMicroelectronics.
648+ > * No use, reproduction or redistribution may be done in any manner that would
649+ > subject the software to any Open Source Terms (GPL, EPL, Apache, BSD, MIT
650+ > or any license requiring the distribution of the source code).
651+ > * The name of STMicroelectronics must not be used to endorse or promote
652+ > derived products without prior written permission.
653+ > * Redistribution and use outside the terms of the agreement is void.
654+ >
655+ > Redistributors must check these terms against their own distribution policy.
656+ > The files under this license are kept separate from the files under other
657+ > licenses of this repository.
658+
580659-------------------------------------------------------------------------------
581660## Apache License
582661 Apache License
0 commit comments