Skip to content

Commit 016e207

Browse files
committed
Kconfig: Add ALLOW_PROPRIETARY_COMPONENTS option
Add a new license configuration option for components that have proprietary, 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 - Proprietary licenses with specific usage restrictions - Other non-standard license terms Also update the License Setup documentation section to include this new option. Signed-off-by: makejian <makejian@xiaomi.com>
1 parent ab572fe commit 016e207

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-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_PROPRIETARY_COMPONENTS`` - Proprietary or custom 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: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,23 @@ config ALLOW_ICS_COMPONENTS
9797
NOTE: Please check that the license for each enabled
9898
component matches your project license.
9999

100+
config ALLOW_PROPRIETARY_COMPONENTS
101+
bool "Use components that have proprietary or custom licenses"
102+
default n
103+
---help---
104+
When this option is enabled the project will allow the use
105+
of components that have proprietary, custom, or non-standard
106+
open source licenses.
107+
108+
This includes components with:
109+
- Custom permissive licenses (e.g., requiring attribution)
110+
- Proprietary licenses with specific usage restrictions
111+
- Other non-standard license terms
112+
113+
NOTE: Please carefully review the license terms for each
114+
enabled component to ensure compliance with your project
115+
requirements.
116+
100117
endmenu # License Setup
101118

102119
menu "Build Setup"

0 commit comments

Comments
 (0)