Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: linuxcnc licensing issues

20 views
Skip to first unread message

Andrew M.A. Cater

unread,
Dec 1, 2022, 8:40:03 AM12/1/22
to
On Thu, Dec 01, 2022 at 01:38:28PM +0100, Adam Ant wrote:
>
[Stripping HTML formatting where I see it - could you please use plain text]
>
> Large portions of the core code base are labeled as LGPL-2 - There is no such > licence. It is either GPL-2 or LGPL-2.1
>
> A bit of history:
>
> Linuxcnc was forked from a National Institue of Standards and Technology
> project called the Enhanced Machine Control (EMC).
> https://www.nist.gov/publications/enhanced-machine-controller-architecture
> -overview
>
> As part of the project NIST released code in to the public domain free from
> copyright or licence - This code base was then munged for the want of a
> better word by a few individuals outside of NIST and additional code added.
> The munged code had copyright and licence notices added without the consent
> of NIST.
>
> Whilst public domain code can be used in a FOSS licenced project, without
> copyright (which by its very nature, public domain code is free from), any
> licence becomes unenforcable. There is also the moral question of taking
> public domain code and claiming copyright over it.
>
> Would the experts of Debian-Legal care to comment ?

Disclaimer: I trained as a lawyer years ago but I'm not a US lawyer - this
is NOT a legally binding opinion.

With respect, I think you misunderstand both US copyright and licensing law
for the specific case of software produced by the US Government and its
employees.

Copyright for what the NIST employees have written remains with the NIST.
The originator of any code - in this case the US Govt.- retains the moral
right to be identified as the author for those parts that it has written.

Because it has been paid for out of US tax dollars, the US Government
requires it to be released to the public as public domain in the US.
In this instance, the US Govt. is about the only thing left in the US copyright system that can do this.
"Public domain" doesn't exist in most of the rest of the world.
https://en.wikipedia.org/wiki/Public_domain_in_the_United_States
https://en.wikipedia.org/wiki/Copyright_status_of_works_by_the_federal_government_of_the_United_States

By the same token, anyone rewriting/modifying that code also has copyright.
The author of code can apply any license they like (and can distribute the
code themselves with no licence or a licence that means that no-one else
could ever distribute it because of a conflict of licences).

LGPL-2 is a valid licence. https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License - 2.1 was a point release which also renamed it but retains LGPL
as the abbreviation.

Hope this helps

Andy Cater

>

Mihai Moldovan

unread,
Dec 1, 2022, 9:30:02 AM12/1/22
to
Hello Adam


Thank you for pointing out such issues and providing context.

* On 12/1/22 13:38, Adam Ant wrote:
> Large portions of the core code base are labeled as LGPL-2 - There is no such
> licence. It is either GPL-2 or LGPL-2.1

Technically, there is a LGPL 2.0 license, although deprecated, so if that is
what was meant, it would be correct. Looking at the source code, the authors
really specified "LGPL-2", which the packager just copied verbatim.

Now, the COPYING.more file contains a copy of the LGPL 2.1. It is very likely
this standard license was meant to be referenced, but the author was
inexperienced in how to specify it (note that the source files also omit the
standard short notice that is customary to include for such licenses) and has
simply messed up. The packager, maybe also inexperienced, did not catch and
rectify it.

I suggest you file one or multiple bug reports to:
- change the license string to a standard Debian or SPDX (compatible)
identifier in both debian/copyright and the source files
- add the standard short notice for the different licenses to source files.


> A bit of history:
> Linuxcnc was forked from a National Institue of Standards & Technology project
> called the Enhanced Machine Control (EMC).
>
https://www.nist.gov/publications/enhanced-machine-controller-architecture-overview
> As part of the project NIST released code in to the public domain free from
> copyright or licence - This code base was then munged for the want of a better
> word by a few individuals outside of NIST and additional code added. The munged
> code had copyright & licence notices added without the consent of NIST.
Here, things get a lot more complicated. First, let me point you to
https://wiki.debian.org/DFSGLicenses#Public_Domain which provides a short FAQ
about public domain.

While code released under public domain is DFSG-free, not all jurisdictions have
such a concept. While technically PD disclaims ownership of and does not
explicitly license the code, that is only true for jurisdictions which do have
the notion of things in the public domain. In others, authorship and ownership
are retained, as far as I know. My personal suggestion is to avoid placing
software into public domain and to explicitly choose a standard free software
license instead, preferably one that has been tried and tested in a lot of
jurisdictions already. However, it is moot for the original EMC1 code, which has
obviously already been put into public domain.

The other part is more concerning. You are claiming that the original EMC1 code
was taken, modified, relicensed without the original authors's permission and
then published as linuxcnc.

Relicensing is a highly complicated matter. I have only experienced one project
doing it and they were very meticulous in their approach, requiring consent (or
dissent) from all past contributors.

In the linuxcnc case, it probably was meant well, but that does not mean that it
was done well. Stuffing a different license (or, for that matter, any license to
begin with) onto work for which does not have authorship rights and without
asking the original author for permission does not feel legal.

However, I have no idea how code in the public domain would interact with that.
Given that placing code into the public domain explicitly dismisses author's
rights, would one not be free to do anything with it, including relicensing it
freely? Probably not, but I really do not know.

Personally, I would view linuxcnc as a problematic piece of software and would
not even want to include it in Debian until such issues are resolved, but I also
have to stress that my opinion has no weight whatsoever.


> Whilst public domain code can be used in a FOSS licenced project, without
> copyright (which by its very nature, public domain code is free from), any
> licence becomes unenforcable.
This is true for jurisdictions that have exactly this notion of public domain.
For others (and, frankly, probably MOST others), author's rights and copyrights
cannot be dismissed, even if the author intended to do so. This would certainly
make the relicensing illegal at worst, unenforceable at best.


> There is also the moral question of taking public domain code and claiming
copyright over it.
This is not something I wish to discuss.


Best regards,



Mihai
OpenPGP_signature

Adam Ant

unread,
Dec 1, 2022, 7:10:03 PM12/1/22
to


> Sent: Thursday, December 01, 2022 at 2:20 PM
> From: "Mihai Moldovan" <io...@ionic.de>
> To: debian...@lists.debian.org
> Subject: Re: linuxcnc licensing issues
Also have grave concerns here. Questionable claims of copyright are not just limited
to the PD portions of the code base. As an example:
https://github.com/LinuxCNC/linuxcnc/blob/master/src/rtapi/procfs_macros.h
The original file can be found here:
http://svn.savannah.gnu.org/viewvc/rtai/magma/base/include/rtai_proc_fs.h?view=markup

With this particular example, the licence remains the same (GPL2+), but not the author.
Perhaps a well intentioned assignment, but I wouldn't like to speculate.
0 new messages