Skip to content

Commit 1fe587f

Browse files
committed
Kconfig: Add ALLOW_CUSTOM_COMPONENTS option
Add a new license configuration option for components that have custom or non-standard open source licenses. This option allows projects to explicitly opt-in to using components with non-standard license terms, such as: - Custom permissive licenses requiring attribution - Non-standard license terms not covered by other options Also update the License Setup documentation section to include this new option. Signed-off-by: makejian <[email protected]>
1 parent ab572fe commit 1fe587f

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_COMPONENTS`` - Custom or non-standard 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_COMPONENTS
101+
bool "Use components that have custom or non-standard licenses"
102+
default n
103+
---help---
104+
When this option is enabled the project will allow the use
105+
of components that have custom or non-standard open source
106+
licenses.
107+
108+
This includes components with:
109+
- Custom permissive licenses (e.g., requiring attribution)
110+
- Non-standard license terms not covered by other options
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)