|
|
Subscribe / Log in / New account

Collabora Online moves out of The Document Foundation

Collabora Online moves out of The Document Foundation

Posted Oct 14, 2020 18:17 UTC (Wed) by Wol (subscriber, #4433)
In reply to: Collabora Online moves out of The Document Foundation by NYKevin
Parent article: Collabora Online moves out of The Document Foundation

> The problem I have always had with this part of the GPL - and this is probably going to sound like FUD to people on the FOSS side of things, but I assure you that corps consider this a very serious problem - is that it does not exhaustively define what counts as a modified version within the text of the license itself.

Unfortunately, the *authors* have *no power* to define (let alone exhaustively) what counts as a modified version. This is down to copyright law and copyright law *alone*. So if the corps want an answer they need to petition parliament, or congress, or whoever, for an answer. Sorry.

What the authors and the GPL *can* do is define what does NOT count as a modified version. So the fact that the FSF explicitly doesn't exclude linking from creating a derivative work is a clear statement of "we consider that linking creates a derivative work". Whether they are right will require a law suit.

Contrast this with the statement that the output of GCC is not a derivative work of GCC. This is legally "either you don't need a licence, or you have a licence. Whatever".

While I agree with you that the corporate types want certainty, and I think they're being very reasonable about it, if they're blaming the GPL for said uncertainty then they're several lawyers short of a courtroom.

Cheers,
Wol


to post comments

Collabora Online moves out of The Document Foundation

Posted Oct 14, 2020 22:52 UTC (Wed) by ras (subscriber, #33059) [Link] (4 responses)

I agree with NYKevin that the lack of clarity around what constitutes a derivative work is the major flaw of the GPL. The AGPL and LGPL are symptoms of this. They have to create an entirely new licence when they change the boundary.

> Contrast this with the statement that the output of GCC is not a derivative work of GCC.

True, but to get a working program with gcc you have to -lgcc. (This happens automatically unless you give -nostdlib to gcc, so most people won't notice.) So in reality just about every program compiled with gcc is not just the output of gcc, it includes a bit for bit copy of some GNU code. I’m guessing they ignore that when they look at GPL compliance.

The kernel devs are very explicit about defining the syscall as the GPL demarcation line. They also have some other barriers in kernel code for GPL symbols. That has worked very well up until now, but all it would take is some miscreant to get a large blob of code into the kernel, then then say "well that's not how i read it". They would be right, and we would end up with another mess of similar ramifications to the Oracle / Google / Java fiasco.

So yeah, to me this has turned out to be the major flaw in the GPL. I'm no lawyer, but to be a solution would be a GPLv4 that demands a schedule be attached stating where the boundaries lie. Is it a derivative work if you link to it? What if you restrict your interactions with the library to it's publicly defined API from it's header files? How about running it from a shell and using it's input? What about calling it’s API via RPC over a network? A series of checkboxes covering the common cases would do. If the kernel licence had such a schedule attached, no one who commits code could claim it was otherwise.

As you say, this probably conflicts with the way copyright law is written. But given the liberties the kernel already takes with not only the law but the GPL and how well that's held up, I'd say those liberties won't alter enforceability in practice. The GPL seems to be enforced more by gentlemen's agreements, persuasion, and appeals to do the right thing than the law anyway.

Collabora Online moves out of The Document Foundation

Posted Oct 14, 2020 23:22 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

> The GPL seems to be enforced
Enforced?

Collabora Online moves out of The Document Foundation

Posted Oct 15, 2020 0:57 UTC (Thu) by nybble41 (subscriber, #55106) [Link]

> True, but to get a working program with gcc you have to -lgcc. … I’m guessing they ignore that when they look at GPL compliance.

They're not ignoring it. In addition to the terms of the GPL, libgcc code is covered by the GCC Runtime Library Exception[1], a form of dual-licensing, which states:

> You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes.

Which basically means that you can link libgcc with non-GPL code as long as no GPL-incompatible software was involved in the compilation process. (See the link for details.) The whole "Eligible Compilation Process" bit is intended to make things as difficult as possible for anyone wanting to use parts of GCC in combination with non-GPL external tools (separate programs generating or processing GCC IR, not linked with GCC), for example to use GCC as a backend for a proprietary compiler or to leverage GCC's parsers and IR optimization passes in front of a proprietary backend code generator. However, the only leverage they have for this is the trivial bit of C runtime code in libgcc, and so the added complexity and off-putting legal risk of the Runtime Library Exception all seems a bit pointless to me since anyone interested in doing such things could easily substitute an ABI-compatible runtime with a more permissive license, such as LLVM's libcompiler-rt. Or for that matter just use LLVM itself rather than GCC.

[1] https://www.gnu.org/licenses/gcc-exception-3.1.en.html

Collabora Online moves out of The Document Foundation

Posted Oct 15, 2020 3:27 UTC (Thu) by neilbrown (subscriber, #359) [Link] (1 responses)

> I agree with NYKevin that the lack of clarity around what constitutes a derivative work is the major flaw of the GPL.

I have always understood that this is because it is not an issue that the license is in any position to clarify.
Copyright LAW declares that where copyright is granted, it also covers derived works. It is up to the LAW to determine what this means, not the license.

A license can *limit* what is a derived work, as the Linux kernel license does by explicitly saying that the copyright holders to not consider applications which use the syscall interface to be derived works. So it can say what is not a derived work, but it cannot say what is. Only a judge can do that, by interpreting the law.

Collabora Online moves out of The Document Foundation

Posted Oct 16, 2020 12:23 UTC (Fri) by mathstuf (subscriber, #69389) [Link]

Indeed. Consider cases of using the code without a (direct) technological purpose. Creating wrapping paper for a gift with your favorite driver's code printed on it. Creating a collage of Linux code into a print or puzzle. Are these derived works? Could be, but any exhaustive list someone tried to make would likely have missed these cases.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds