Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Hello everybody, thanks for discussion. I understand that licesing, preventing damages by misbehavior etc. are quite wide area and I have some general interrest in these topics. But for actual case, my original question and point is simple. If we contribute the work (our work) with next the SPDX-License-Identifier line, could it be included in mainline NuttX tree (if we reach technical and other criteria)? // SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause OR Apache-2.0 We have (at this moment) rights and agreement in the original author group to change license in this direction from GPL-2.0. We do not expect to rely or reuse any third party GPL licensed code (the ported/reused code fragments are fully independent of Linux SocketCAN and networking layer) in NuttX case. We are aware that if some major contributor does not agree with some of the OR clauses later, they can be removed without our consent. But this arrangement would help us to prevent obstacles to contribute in the single stream to all three OSes. - Linux kernel, which is GPL-2.0-only but has no problem to accept combined licenses with BSD-2-Clause (3k+ files), even Apache-2.0 OR MIT without GPL are accepted/found in the sources. - RTEMS, which is primarily BSD-2-Clause, but has more SPDX lines with Apache-2.0, other combined with GPL - NuttX, Apache-2.0 and as long as there is no opposition and removal clauses of the SPDX-License-Identifier line, we can freely copy RTOS independent parts of the sources between systems. Best wishes, Pavel -- Pavel Pisa phone: +420 603531357 e-mail: p...@cmp.felk.cvut.cz Department of Control Engineering FEE CVUT Karlovo namesti 13, 121 35, Prague 2 university: http://control.fel.cvut.cz/ personal: http://cmp.felk.cvut.cz/~pisa company:https://pikron.com/ PiKRON s.r.o. Kankovskeho 1235, 182 00 Praha 8, Czech Republic projects: https://www.openhub.net/accounts/ppisa social: https://social.kernel.org/ppisa CAN related:http://canbus.pages.fel.cvut.cz/ RISC-V education: https://comparch.edu.cvut.cz/ Open Technologies Research Education and Exchange Services https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Gregory Nutt wrote on 12/10/23 5:22 PM: On 12/10/2023 4:05 PM, Shane Curcuru wrote: I think we have to be careful with the word "contribution". The ASF cannot accept any contribution that is licensed and copyrighted by some other entity. To "contribute" the code is to donate the code to the ASF without retaining any claims to it. Then the code belongs to the ASF and can be re-licensed as Apache 2.0 with the ASF copyright. Er, no, that's not how the ASF treats "contributions". In general, when someone contributes their copyrighted work to an Apache project, they keep the copyright, and merely license enough rights to the ASF such that the ASF (through our projects) can then re-ship that contribution at any point in the future as part of a larger work, under terms like the Apache-2.0 license. ...[snip]... That use of the word "contribution" is causing me a little cognitive dissonance, but I will adapt. Synonyms for "contribution" include donation, gift, present, grant, etc., most which are not interchangeable with "contribution" in this context. "Contribution" is a specific term defined in the Apache-2.0 license, so when we're using it in reference to someone committing code (or other things) to an ASF repository, we're using the specific definition there. https://www.apache.org/licenses/LICENSE-2.0#definitions How does the copyright holder "license enough rights to the ASF"? I suppose that is via the license that they chose for the work, rather than through any specific interaction with the ASF? If the copyright holder is a committer on any ASF project, then they've already signed the ICLA, which lays out in detail what they agree to whenever they're checking in code to any ASF repository. https://www.apache.org/licenses/contributor-agreements.html So if you're looking for general information, the first step is to read the license and ICLA in detail, and then ask questions relating to specific parts therein. But it feels like we've lost sight of the actual question for the project, which is something about "is it OK to accept *this* bit of code in our repository" - or something like that. If the project is looking for an answer about legal questions, it always helps to be *very* specific about what you want to do, as in "Is it OK if so-and-so checks in this file ->, which is under this license -> to our project in this directory?" or the like. In general, in terms of code with multiple licenses, one question the ASF likes to ask is that the copyright owner of the code is explicitly saying it's available under a permissive license, or is otherwise helping to commit the code at the ASF. That's not strictly a legal question, more a policy one: the ASF prefers contributions into our project repositories that are *willingly* given (and are licensed appropriately). I hope that helps more than confuses things! -- - Shane Member The Apache Software Foundation
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
On 12/10/2023 4:05 PM, Shane Curcuru wrote: I think we have to be careful with the word "contribution". The ASF cannot accept any contribution that is licensed and copyrighted by some other entity. To "contribute" the code is to donate the code to the ASF without retaining any claims to it. Then the code belongs to the ASF and can be re-licensed as Apache 2.0 with the ASF copyright. Er, no, that's not how the ASF treats "contributions". In general, when someone contributes their copyrighted work to an Apache project, they keep the copyright, and merely license enough rights to the ASF such that the ASF (through our projects) can then re-ship that contribution at any point in the future as part of a larger work, under terms like the Apache-2.0 license. ...[snip]... That use of the word "contribution" is causing me a little cognitive dissonance, but I will adapt. Synonyms for "contribution" include donation, gift, present, grant, etc., most which are not interchangeable with "contribution" in this context. How does the copyright holder "license enough rights to the ASF"? I suppose that is via the license that they chose for the work, rather than through any specific interaction with the ASF? Greg
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
HI, That’s not quite correct; the ASF doesn’t ask for copyright transfer, just permission to distribute under the Apache license. But yes, a contribution that is 3rd party code is not really a contribution in strict terms and 3rd party code is treated differently to code contributed to an ASF project under the Apache license. Kind Regards, Justin > On 11 Dec 2023, at 1:54 am, Gregory Nutt wrote: > > On 12/10/2023 7:15 AM, Alan C. Assis wrote: >> I understand your point. And in fact I think the issue is not your >> contribution itself, but the future contribution from developers of RTEMS >> and Linux that are using GPL. > I think we have to be careful with the word "contribution". The ASF cannot > accept any contribution that is licensed and copyrighted by some other > entity. To "contribute" the code is to donate the code to the ASF without > retaining any claims to it. Then the code belongs to the ASF and can be > re-licensed as Apache 2.0 with the ASF copyright. > > What you are talking about has to be treated as third party code that resides > with the Apache NuttX code. It is not Apache NuttX code. >
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Gregory Nutt wrote on 12/10/23 9:54 AM: On 12/10/2023 7:15 AM, Alan C. Assis wrote: I understand your point. And in fact I think the issue is not your contribution itself, but the future contribution from developers of RTEMS and Linux that are using GPL. I think we have to be careful with the word "contribution". The ASF cannot accept any contribution that is licensed and copyrighted by some other entity. To "contribute" the code is to donate the code to the ASF without retaining any claims to it. Then the code belongs to the ASF and can be re-licensed as Apache 2.0 with the ASF copyright. Er, no, that's not how the ASF treats "contributions". In general, when someone contributes their copyrighted work to an Apache project, they keep the copyright, and merely license enough rights to the ASF such that the ASF (through our projects) can then re-ship that contribution at any point in the future as part of a larger work, under terms like the Apache-2.0 license. Any contributions still "belong" copyright-wise to the original author, who can continue to do whatever else they want with their code, including submitting to other projects, possibly under other licenses. The legal framework for contributions is twofold, so folks interested in details really need to read both of these: - Apache-2.0 license, section 5. Submission of Contributions https://www.apache.org/licenses/LICENSE-2.0#contributions - Individual Contributor License Agreement https://www.apache.org/licenses/contributor-agreements.html#clas The point is that the ASF only takes enough licensed rights so that we can safely ship code in our projects, *and* so that users of Apache projects only have to comply with the Apache-2.0 license overall. -- - Shane Member The Apache Software Foundation
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Thank you Greg! Indeed, that should be the path in this case, it should be treated as 3rd party code. Licensing a software as dual license (or triple license as in this case) makes things more complicated. Best Regards, Alan On Sun, Dec 10, 2023 at 11:54 AM Gregory Nutt wrote: > On 12/10/2023 7:15 AM, Alan C. Assis wrote: > > I understand your point. And in fact I think the issue is not your > contribution itself, but the future contribution from developers of RTEMS > and Linux that are using GPL. > > I think we have to be careful with the word "contribution". The ASF > cannot accept any contribution that is licensed and copyrighted by some > other entity. To "contribute" the code is to donate the code to the ASF > without retaining any claims to it. Then the code belongs to the ASF and > can be re-licensed as Apache 2.0 with the ASF copyright. > > What you are talking about has to be treated as third party code that > resides with the Apache NuttX code. It is not Apache NuttX code. >
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
On 12/10/2023 7:15 AM, Alan C. Assis wrote: I understand your point. And in fact I think the issue is not your contribution itself, but the future contribution from developers of RTEMS and Linux that are using GPL. I think we have to be careful with the word "contribution". The ASF cannot accept any contribution that is licensed and copyrighted by some other entity. To "contribute" the code is to donate the code to the ASF without retaining any claims to it. Then the code belongs to the ASF and can be re-licensed as Apache 2.0 with the ASF copyright. What you are talking about has to be treated as third party code that resides with the Apache NuttX code. It is not Apache NuttX code.
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Hi Pavel, I understand your point. And in fact I think the issue is not your contribution itself, but the future contribution from developers of RTEMS and Linux that are using GPL. Those developers couldn't be comfortable contributing their improvements back to other OS that don't use GPL license. To be honest, I think it would have been better if the driver was using a very permissive license like BSD (no patent related as Apache and no restrictions like GPL) and we could include it by adding the info in the NOTICE file. On the other hand I don't know if your driver requires some "GPL" function from Linux kernel, in that case defining that your module is BSD forbids it from using some kernel functions. Best Regards, On Tue, Dec 5, 2023 at 1:11 PM Pavel Pisa wrote: > Hello Alan and others, > > On 11/10/23, Justin Mclean wrote: > > HI, > > > > If it is dual (or more) licensed as Apache 2.0 or GPL then you can take > > the most permissive license, i.e Apache 2.0 and include it in an ASF > > project under that license. > > thanks for the discussion but I have had no doubts about > above statement from the discussion start. > > Main question is if it is acceptable for NuttX to include > files with complete SPDX-License-Identifier which we > consider to use for result of years of our work > > // SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause OR Apache-2.0 > > The reason why it would be better for us is that if we work > on the NuttX variant we can reuse our and possibly others > contribution in that variant even for Linux kernel and RTEMS. > > For sure, there is no obstacle and rule to prevent remove > of some of the licensed from the code anytime later. > > But solving and maintaining separately two or three driver branches > incompatible by licenses and permanently checking if there > is not some contribution of somebody other whom rights > can be violated, is additional burden. > > And at least I am quite loaded and I am not sure if I will > be motivated enough to work and waste time on three variants > of code. Especially when it seems to be arranged by some others > that it will stay as my enthusiast work and those who have and will > have income from my investment shows habits like from Gold rush > time. > > I have moved my focus to prepare new QtRvSim release now (L2 cache, > RISC-V ACLINT, MTIMER, SSWI & Co) and new open source motion controllers, > that are planned to be NuttX based as well. I have lot of work on my > motion controllers delivered and successfully used at ESA projects as > well, so I do not monitor NuttX list too much these times. We run > RTEMS CAN subsystem development now, probably CTU CAN FD would be the > first supported target but it is not so sure now. > > Best wishes, > > Pavel > -- > Pavel Pisa > > phone: +420 603531357 > e-mail: p...@cmp.felk.cvut.cz > Department of Control Engineering FEE CVUT > Karlovo namesti 13, 121 35, Prague 2 > university: http://control.fel.cvut.cz/ > personal: http://cmp.felk.cvut.cz/~pisa > company:https://pikron.com/ PiKRON s.r.o. > Kankovskeho 1235, 182 00 Praha 8, Czech Republic > projects: https://www.openhub.net/accounts/ppisa > social: https://social.kernel.org/ppisa > CAN related:http://canbus.pages.fel.cvut.cz/ > RISC-V education: https://comparch.edu.cvut.cz/ > Open Technologies Research Education and Exchange Services > https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home >
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Hello Alan and others, On 11/10/23, Justin Mclean wrote: > HI, > > If it is dual (or more) licensed as Apache 2.0 or GPL then you can take > the most permissive license, i.e Apache 2.0 and include it in an ASF > project under that license. thanks for the discussion but I have had no doubts about above statement from the discussion start. Main question is if it is acceptable for NuttX to include files with complete SPDX-License-Identifier which we consider to use for result of years of our work // SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause OR Apache-2.0 The reason why it would be better for us is that if we work on the NuttX variant we can reuse our and possibly others contribution in that variant even for Linux kernel and RTEMS. For sure, there is no obstacle and rule to prevent remove of some of the licensed from the code anytime later. But solving and maintaining separately two or three driver branches incompatible by licenses and permanently checking if there is not some contribution of somebody other whom rights can be violated, is additional burden. And at least I am quite loaded and I am not sure if I will be motivated enough to work and waste time on three variants of code. Especially when it seems to be arranged by some others that it will stay as my enthusiast work and those who have and will have income from my investment shows habits like from Gold rush time. I have moved my focus to prepare new QtRvSim release now (L2 cache, RISC-V ACLINT, MTIMER, SSWI & Co) and new open source motion controllers, that are planned to be NuttX based as well. I have lot of work on my motion controllers delivered and successfully used at ESA projects as well, so I do not monitor NuttX list too much these times. We run RTEMS CAN subsystem development now, probably CTU CAN FD would be the first supported target but it is not so sure now. Best wishes, Pavel -- Pavel Pisa phone: +420 603531357 e-mail: p...@cmp.felk.cvut.cz Department of Control Engineering FEE CVUT Karlovo namesti 13, 121 35, Prague 2 university: http://control.fel.cvut.cz/ personal: http://cmp.felk.cvut.cz/~pisa company:https://pikron.com/ PiKRON s.r.o. Kankovskeho 1235, 182 00 Praha 8, Czech Republic projects: https://www.openhub.net/accounts/ppisa social: https://social.kernel.org/ppisa CAN related:http://canbus.pages.fel.cvut.cz/ RISC-V education: https://comparch.edu.cvut.cz/ Open Technologies Research Education and Exchange Services https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
On Tue, Nov 28, 2023 at 12:08 AM Alan C. Assis wrote: > Thank you very much Justin! > I forgot to redirect your response to @dev-nuttx > So, according with Justin we could take the most permissive license and use > it! > Best Regards, > Alan Great news! Thank you Alan and Justin!! :-) -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver
Thank you very much Justin! I forgot to redirect your response to @dev-nuttx So, according with Justin we could take the most permissive license and use it! Best Regards, Alan On 11/10/23, Justin Mclean wrote: > HI, > > If it is dual (or more) licensed as Apache 2.0 or GPL then you can take the > most permissive license, i.e Apache 2.0 and include it in an ASF project > under that license. > > Kind Regards, > Justin > >> On 11 Nov 2023, at 12:35 am, Alan C. Assis wrote: >> >> Dear ASF Legal team, >> >> We have a user/company struggling to get a CAN Drivers included on >> (Apache) NuttX RTOS. >> >> The issue is because this driver was original release as GPL to be >> included into Linux kernel, then the original authors accepted to >> re-license it as Dual License: GPL and Apache. >> >> However we have "Gulliverian" dilemma, some people believe it is fine >> to include it on NuttX, since it release as Apache, and the other half >> believe it is not, because it is Apache and GPL. >> >> This dilemma is already set for more than 3 months without any >> perspective of solution. So, who in ASF could be our legal support to >> fix it? >> >> Unfortunately the authors cannot release the source code only as >> Apache license, because it needs to be included in the Linux kernel. >> >> Please find below the email from the customer asking for help: >> >> "Can you please ask via Apache JIRA for clarification of the correct >> way to specify multiple licence options for a work. For example is >> this an acceptable statement, so Nuttx could include the work via the >> Apache-2.0 licence (as per >> https://www.apache.org/legal/resolved.html#mutually-exclusive): >> >> // SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause OR Apache-2.0 >> >> Specifically for the CTUCANFD driver the original authors have >> proposed that they could re-licence their code as follows: >> >> // SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause OR Apache-2.0 >> /*** >> * >> * CTU CAN FD IP Core >> * >> * Copyright (C) 2015-2018 Ondrej Ille FEE CTU >> * Copyright (C) 2018-2020 Ondrej Ille self-funded >> * Copyright (C) 2018-2019 Martin Jerabek FEE >> CTU >> * Copyright (C) 2018-2020 Pavel Pisa FEE >> CTU/self-funded >> * >> * Project advisors: >> * Jiri Novak >> * Pavel Pisa >> * >> * Department of Measurement (http://meas.fel.cvut.cz/) >> * Faculty of Electrical Engineering (http://www.fel.cvut.cz) >> * Czech Technical University(http://www.cvut.cz/) >> */ >> >> This question follows on from the Nuttx-dev thread titled RE: CTU CAN >> FD driver multi-licence for Nuttx, see: >> https://lists.apache.org/thread/ooq1dfvs2qnp131c2s1lb7hnojv91w3l >> There were several opinions about the validity of multi-licenced code >> and the possible interpretations of the word 'OR' which prevented a >> resolution of the question." >> >> BR, >> >> Alan >> >> - >> To unsubscribe, e-mail: legal-discuss-unsubscr...@apache.org >> For additional commands, e-mail: legal-discuss-h...@apache.org >> > >