On Fri, Mar 17, 2023 at 12:07 PM Alan C. Assis <acas...@gmail.com> wrote:

> On 3/17/23, Nathan Hartman <hartman.nat...@gmail.com> wrote:
> > 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, the downsize of adding "depends on ALLOW_*_COMPONENTS" in
> Kconfig is it will hide the feature, so a new user will never know
> that NuttX supports such feature.
>
> There is an "awful" workaround that people uses to show comments in
> the Kconfig, they just use "depends on !ALLOW_*_COMPONENTS" to display
> a comment saying that the user needs to enable that LICENSE to use
> that feature.
>
> Sometime ago I suggested the option of adding a "tainted" symbol (like
> that used on Linux kernel) that indicates if the final binary has some
> license different from Apache and warn the user.
>
> That should be a better approach because make users' live easier (and
> our as well because we don't need to worry about Kconfig workarounds).
> BTW, few days ago a colleague of mine that works here at Espressif,
> but on Zephyr team, added it into mainline.
>
> BR,
>
> Alan



Yes I agree that hiding the existence of the feature is Bad.

We really should have a community discussion about what is the method we
use for the non-Apache license choice and then we should be consistent
throughout the source tree.

Cheers
Nathan

Reply via email to