Skip to content

Commit 10bde48

Browse files
committed
Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS option
Add a new license configuration option for components that have custom permissive licenses which are not covered by the standard license options (BSD, MIT, GPL, etc.). This option allows projects to explicitly opt-in to using components with custom permissive licenses that allow free use, modification, and distribution but may have specific attribution or notice requirements. Also update the License Setup documentation section to include this new option. Signed-off-by: makejian <makejian@xiaomi.com>
1 parent ab572fe commit 10bde48

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

Documentation/quickstart/configuring.rst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,22 @@ Multiple config fragments can be merged manually using the tools/merge_config.py
151151
152152
$ cd nuttx
153153
$ ./tools/merge_config.py -o defconfig .config1 .config2
154+
155+
License Setup
156+
=============
157+
158+
NuttX includes components with various open source licenses. To use these components,
159+
you must explicitly enable the corresponding license configuration option in the
160+
:menuselection:`License Setup` menu:
161+
162+
* ``CONFIG_ALLOW_BSD_COMPONENTS`` - BSD licensed components (NFS, SPIFFS, Bluetooth LE, etc.)
163+
* ``CONFIG_ALLOW_GPL_COMPONENTS`` - GPL/LGPL licensed components
164+
* ``CONFIG_ALLOW_MIT_COMPONENTS`` - MIT licensed components
165+
* ``CONFIG_ALLOW_BSDNORDIC_COMPONENTS`` - 5-Clause Nordic licensed components (NRF chips only)
166+
* ``CONFIG_ALLOW_ECLIPSE_COMPONENTS`` - Eclipse Public License components
167+
* ``CONFIG_ALLOW_ICS_COMPONENTS`` - ICS licensed components
168+
* ``CONFIG_ALLOW_CUSTOM_PERMISSIVE_COMPONENTS`` - Custom permissive licensed components
169+
170+
.. warning::
171+
Please carefully review the license terms for each enabled component to ensure
172+
compliance with your project's licensing requirements.

Kconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,22 @@ config ALLOW_ICS_COMPONENTS
9797
NOTE: Please check that the license for each enabled
9898
component matches your project license.
9999

100+
config ALLOW_CUSTOM_PERMISSIVE_COMPONENTS
101+
bool "Use components that have custom permissive licenses"
102+
default n
103+
---help---
104+
When this option is enabled the project will allow the use
105+
of components that have custom permissive licenses which
106+
are not covered by the standard license options above.
107+
108+
This includes components with custom permissive licenses
109+
that allow free use, modification, and distribution but
110+
may have specific attribution or notice requirements.
111+
112+
NOTE: Please carefully review the license terms for each
113+
enabled component to ensure compliance with your project
114+
requirements.
115+
100116
endmenu # License Setup
101117

102118
menu "Build Setup"

0 commit comments

Comments
 (0)