On Wed, Mar 15, 2023 at 6:16 AM raiden00pl <raiden0...@gmail.com> wrote: > > NVMC support for NRF52 chips was ported from Nordic SDK which was released > on the BSD license (old times), so these features should depend on > CONFIG_ALLOW_BSD_COMPONENTS=y. Users must manually enable support for the > BSD components to continue using the mentioned features. > > Related PR: https://github.com/apache/nuttx/pull/8827
Thanks for posting about it to the list. I just added my review there, but it got me thinking: We have many files listed in LICENSE which are non-Apache-2.0-License and I haven't had a chance to check but I have a feeling that there could be more files that should be protected by ALLOW_BSD_COMPONENTS / ALLOW_MIT_COMPONENTS / ALLOW_GPL_COMPONENTS / ALLOW_*_COMPONENTS that are not currently protected. For each file that has a non-Apache-2.0-License at the top, should we wrap the entire file contents with: #ifdef ALLOW_*_COMPONENTS . . . #endif /* ALLOW_*_COMPONENTS */ (for the appropriate value of * of course)? Yes, doing that will cause compiler errors when a build tries to use those files and doesn't have the required ALLOW_*_COMPONENTS enabled, but that will help us find all those cases relatively quickly and fix them by adding "depends on ALLOW_*_COMPONENTS" in Kconfig. It will ensure that when someone doesn't choose ALLOW_BSD_COMPONENTS / ALLOW_MIT_COMPONENTS / ALLOW_GPL_COMPONENTS then their build will actually be licensed as advertised. If we want to do it then obviously it should be separate PRs, maybe one for each component we find... Thoughts? Nathan