You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by "ThePassionate (via GitHub)" <gi...@apache.org> on 2026/01/19 12:47:24 UTC

[PR] Kconfig: Add ALLOW_PROPRIETARY_COMPONENTS option [nuttx]

ThePassionate opened a new pull request, #18017:
URL: https://github.com/apache/nuttx/pull/18017

   ## Kconfig: Add ALLOW_PROPRIETARY_COMPONENTS license option
   
   ### Summary
   
   This PR adds a new license configuration option `ALLOW_PROPRIETARY_COMPONENTS` for components that have proprietary, custom, or non-standard open source licenses. This addresses the need identified in nuttx-apps#3343 for handling components like the Whetstone benchmark which have custom license terms.
   
   ### Changes
   
   #### Files Modified
   
   1. **Kconfig**
      - Added new `ALLOW_PROPRIETARY_COMPONENTS` config option under "License Setup" menu
      - Follows the existing pattern of other license options (BSD, GPL, MIT, etc.)
   
   2. **Documentation/quickstart/configuring.rst**
      - Added documentation for the new License Setup section
      - Lists all available `ALLOW_*_COMPONENTS` options with descriptions
   
   ### Technical Details
   
   **New License Option:**
   - Enables projects to explicitly opt-in to using components with non-standard licenses
   - Covers custom permissive licenses requiring attribution
   - Covers proprietary licenses with specific usage restrictions
   - Covers other non-standard license terms
   
   **Integration:**
   - Placed after `ALLOW_ICS_COMPONENTS` in the License Setup menu
   - Default value is `n` (disabled) for safety
   - Components with custom licenses should add `depends on ALLOW_PROPRIETARY_COMPONENTS`
   
   ### Impact
   
   - **License Compliance**: Provides explicit opt-in mechanism for non-standard licensed code
   - **User Awareness**: Forces users to acknowledge custom license requirements
   - **Consistency**: Follows established NuttX license configuration patterns
   
   ### Usage
   
   Enable option with:
   CONFIG_ALLOW_PROPRIETARY_COMPONENTS=y
   
   
   ### Testing
   
   Configuration option verified.
   
   ### Reference
   
   which discussed https://github.com/apache/nuttx-apps/pull/3343


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS license option [nuttx]

Posted by "acassis (via GitHub)" <gi...@apache.org>.
acassis commented on code in PR #18017:
URL: https://github.com/apache/nuttx/pull/18017#discussion_r2704867349


##########
Documentation/quickstart/configuring.rst:
##########
@@ -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

Review Comment:
   ```suggestion
   * ``CONFIG_ALLOW_CUSTOM_PERMISSIVE_COMPONENTS`` - Custom permissive licensed components (whetstone benchmark)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_COMPONENTS license option [nuttx]

Posted by "acassis (via GitHub)" <gi...@apache.org>.
acassis commented on PR #18017:
URL: https://github.com/apache/nuttx/pull/18017#issuecomment-3768221274

   Suggestion: move it to ALLOW_CUSTOM_PERMISSIVE_COMPONENTS to make the name more clear to understand


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS license option [nuttx]

Posted by "ThePassionate (via GitHub)" <gi...@apache.org>.
ThePassionate commented on PR #18017:
URL: https://github.com/apache/nuttx/pull/18017#issuecomment-3768252424

   > ALLOW_CUSTOM_PERMISSIVE_COMPONENTS
   
   You are right! using "ALLOW_CUSTOM_PERMISSIVE_COMPONENTS" is more accurate and clearer. We want to cover permissive licenses that allow free use but have non-standard terms.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS license option [nuttx]

Posted by "anchao (via GitHub)" <gi...@apache.org>.
anchao merged PR #18017:
URL: https://github.com/apache/nuttx/pull/18017


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_COMPONENTS license option [nuttx]

Posted by "acassis (via GitHub)" <gi...@apache.org>.
acassis commented on PR #18017:
URL: https://github.com/apache/nuttx/pull/18017#issuecomment-3768215058

   @ThePassionate the term "PROPRIETARY_COMPONENTS" is too broad, and in fact the license used on whetstone benchmark it not proprietary, but a permissive "non-standard" (like BSD, MIT, APACHE, etc)
   
   This is what chatgpt reported about this license:
   
   ```
   What license is this?
   
   It is best described as a custom permissive license with attribution and notice-retention requirements.
   
   Key points:
   
   Copyright is explicitly retained
   
   “(c) Copyright 1998 Painter Engineering, Inc.
   All Rights Reserved.”
   
   A specific permission grant follows
   
   “Permission is granted to use, duplicate, and publish this text and program…”
   
   The permission is conditional
   
   “…as long as it includes this entire comment block and limited rights reference.”
   
   So this is not public domain, and not a copyleft license.
   
   What are you allowed to do?
   
   Explicitly allowed:
   
   ✔ Use the software
   ✔ Copy / duplicate it
   ✔ Publish / redistribute it (source or binary)
   
   There is no restriction on:
   
   Commercial use
   
   Modification
   
   Private or internal use
   
   What are the obligations?
   
   You must:
   
   Preserve the entire comment block
   You cannot remove, shorten, or rewrite it.
   
   Preserve the copyright and rights notice
   Including:
   
   Copyright
   
   “All Rights Reserved”
   
   Permission text
   
   Attribution to Painter Engineering and Rich Painter
   
   Failing to do this means you lose the permission to use or redistribute.
   
   What is not granted?
   
   Not explicitly granted:
   
   ❌ Patent license
   ❌ Warranty disclaimer
   ❌ Liability disclaimer
   ❌ Right to relicense under a different license
   ❌ Right to remove attribution
   ```
   
   So, although it is not a standard open-source license, it is not proprietary.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS license option [nuttx]

Posted by "ThePassionate (via GitHub)" <gi...@apache.org>.
ThePassionate commented on PR #18017:
URL: https://github.com/apache/nuttx/pull/18017#issuecomment-3768257886

   > > ALLOW_CUSTOM_PERMISSIVE_COMPONENTS
   > 
   > You are right! using "ALLOW_CUSTOM_PERMISSIVE_COMPONENTS" is more accurate and clearer. We want to cover permissive licenses that allow free use but have non-standard terms. @acassis 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Kconfig: Add ALLOW_CUSTOM_COMPONENTS license option [nuttx]

Posted by "ThePassionate (via GitHub)" <gi...@apache.org>.
ThePassionate commented on PR #18017:
URL: https://github.com/apache/nuttx/pull/18017#issuecomment-3768219574

   > @ThePassionate the term "PROPRIETARY_COMPONENTS" is too broad, and in fact the license used on whetstone benchmark it not proprietary, but a permissive "non-standard" (like BSD, MIT, APACHE, etc)
   > 
   > This is what chatgpt reported about this license:
   > 
   > ```
   > What license is this?
   > 
   > It is best described as a custom permissive license with attribution and notice-retention requirements.
   > 
   > Key points:
   > 
   > Copyright is explicitly retained
   > 
   > “(c) Copyright 1998 Painter Engineering, Inc.
   > All Rights Reserved.”
   > 
   > A specific permission grant follows
   > 
   > “Permission is granted to use, duplicate, and publish this text and program…”
   > 
   > The permission is conditional
   > 
   > “…as long as it includes this entire comment block and limited rights reference.”
   > 
   > So this is not public domain, and not a copyleft license.
   > 
   > What are you allowed to do?
   > 
   > Explicitly allowed:
   > 
   > ✔ Use the software
   > ✔ Copy / duplicate it
   > ✔ Publish / redistribute it (source or binary)
   > 
   > There is no restriction on:
   > 
   > Commercial use
   > 
   > Modification
   > 
   > Private or internal use
   > 
   > What are the obligations?
   > 
   > You must:
   > 
   > Preserve the entire comment block
   > You cannot remove, shorten, or rewrite it.
   > 
   > Preserve the copyright and rights notice
   > Including:
   > 
   > Copyright
   > 
   > “All Rights Reserved”
   > 
   > Permission text
   > 
   > Attribution to Painter Engineering and Rich Painter
   > 
   > Failing to do this means you lose the permission to use or redistribute.
   > 
   > What is not granted?
   > 
   > Not explicitly granted:
   > 
   > ❌ Patent license
   > ❌ Warranty disclaimer
   > ❌ Liability disclaimer
   > ❌ Right to relicense under a different license
   > ❌ Right to remove attribution
   > ```
   > 
   > So, although it is not a standard open-source license, it is not proprietary.
   
   Thanks, i have updated to CUSTOM_COMPONENTS.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org