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>
This commit is contained in:
makejian
2026-01-19 20:40:07 +08:00
committed by archer
parent 63e59e26c0
commit 60b1cef84b
2 changed files with 35 additions and 0 deletions
+19
View File
@@ -151,3 +151,22 @@ Multiple config fragments can be merged manually using the tools/merge_config.py
$ cd nuttx
$ ./tools/merge_config.py -o defconfig .config1 .config2
License Setup
=============
NuttX includes components with various open source licenses. To use these components,
you must explicitly enable the corresponding license configuration option in the
:menuselection:`License Setup` menu:
* ``CONFIG_ALLOW_BSD_COMPONENTS`` - BSD licensed components (NFS, SPIFFS, Bluetooth LE, etc.)
* ``CONFIG_ALLOW_GPL_COMPONENTS`` - GPL/LGPL licensed components
* ``CONFIG_ALLOW_MIT_COMPONENTS`` - MIT licensed components
* ``CONFIG_ALLOW_BSDNORDIC_COMPONENTS`` - 5-Clause Nordic licensed components (NRF chips only)
* ``CONFIG_ALLOW_ECLIPSE_COMPONENTS`` - Eclipse Public License components
* ``CONFIG_ALLOW_ICS_COMPONENTS`` - ICS licensed components
* ``CONFIG_ALLOW_CUSTOM_PERMISSIVE_COMPONENTS`` - Custom permissive licensed components
.. warning::
Please carefully review the license terms for each enabled component to ensure
compliance with your project's licensing requirements.
+16
View File
@@ -97,6 +97,22 @@ config ALLOW_ICS_COMPONENTS
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_CUSTOM_PERMISSIVE_COMPONENTS
bool "Use components that have custom permissive licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have custom permissive licenses which
are not covered by the standard license options above.
This includes components with custom permissive licenses
that allow free use, modification, and distribution but
may have specific attribution or notice requirements.
NOTE: Please carefully review the license terms for each
enabled component to ensure compliance with your project
requirements.
endmenu # License Setup
menu "Build Setup"