Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver

2023-12-10 Thread Alan C. Assis
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: [Article] NuttX on Ox64 BL808 RISC-V SBC: Fixed the UART Interrupt and Platform-Level Interrupt Controller

2023-12-10 Thread Alan C. Assis
Hi Lup,

Nice to know you found the issue (and Linux errata for T-Head C906 helped),
that BUG is really strange.

Probably a similar issue could exist on MILK-V board too.

Did you test NuttX on Sipeed M1s Dock AI + IoT BL808 RISC-V?

Unfortunately Pine 0x64 doesn't ship to Brazil (probably many buyers let
the boards return after getting notified of higher taxes from Brazilian
Customs).

Best Regards,

Alan

On Sat, Dec 9, 2023 at 8:11 PM Lee, Lup Yuen  wrote:

> Last week we walked through the Serial Console for Pine64 Ox64 BL808 64-bit
> RISC-V Single-Board Computer. And we hit some illogical impossible problems
> on NuttX for Ox64:
>
> (1) Console Input is always empty. (Can’t enter any Console Commands)
> (2) Interrupt Claim is forever 0. (Ox64 won’t tell us which Interrupt was
> fired!)
> (3) Leaky Writes are mushing up adjacent Interrupt Registers. (Or maybe
> Leaky Reads?)
>
> Today we discover the One Single Culprit behind all this rowdy mischief:
> Weak Ordering in the MMU! (Memory Management Unit)
>
> Here’s how we solved the baffling mystery:
> https://lupyuen.codeberg.page/articles/plic3.html
>
> Lup
>


Re: [Article] NuttX on Ox64 BL808 RISC-V SBC: Fixed the UART Interrupt and Platform-Level Interrupt Controller

2023-12-10 Thread Lee, Lup Yuen
Thanks Alan! Nope sorry I haven't tested on Sipeed M1s, I should get it
someday.

I'm preparing a PR that will extend the RISC-V MMU Flags from 32-bit to
64-bit, because:

(1) T-Head C906 (BL808) needs us to set Bits 59 to 63 in a Leaf Page Table
Entry to configure the Memory Type: Cacheable / Bufferable /
Strongly-Ordered

(2) Newer RISC-V Cores will use the Svpbmt Extension (Bits 61 to 62) to
configure the Memory Type (Cacheable / Strongly-Ordered)

More about Svpbmt:
https://github.com/riscv/riscv-isa-manual/blob/main/src/supervisor.adoc#svpbmt

Lup

On Sun, Dec 10, 2023 at 10:04 PM Alan C. Assis  wrote:

> Hi Lup,
>
> Nice to know you found the issue (and Linux errata for T-Head C906 helped),
> that BUG is really strange.
>
> Probably a similar issue could exist on MILK-V board too.
>
> Did you test NuttX on Sipeed M1s Dock AI + IoT BL808 RISC-V?
>
> Unfortunately Pine 0x64 doesn't ship to Brazil (probably many buyers let
> the boards return after getting notified of higher taxes from Brazilian
> Customs).
>
> Best Regards,
>
> Alan
>
> On Sat, Dec 9, 2023 at 8:11 PM Lee, Lup Yuen  wrote:
>
> > Last week we walked through the Serial Console for Pine64 Ox64 BL808
> 64-bit
> > RISC-V Single-Board Computer. And we hit some illogical impossible
> problems
> > on NuttX for Ox64:
> >
> > (1) Console Input is always empty. (Can’t enter any Console Commands)
> > (2) Interrupt Claim is forever 0. (Ox64 won’t tell us which Interrupt was
> > fired!)
> > (3) Leaky Writes are mushing up adjacent Interrupt Registers. (Or maybe
> > Leaky Reads?)
> >
> > Today we discover the One Single Culprit behind all this rowdy mischief:
> > Weak Ordering in the MMU! (Memory Management Unit)
> >
> > Here’s how we solved the baffling mystery:
> > https://lupyuen.codeberg.page/articles/plic3.html
> >
> > Lup
> >
>


Re: Legal help to (Apache) NuttX RTOS: adding licenseed driver

2023-12-10 Thread Gregory Nutt

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

2023-12-10 Thread Alan C. Assis
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

2023-12-10 Thread Shane Curcuru

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

2023-12-10 Thread justin
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

2023-12-10 Thread Gregory Nutt



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