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
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
Posted Oct 14, 2020 22:52 UTC (Wed)
by ras (subscriber, #33059)
[Link] (4 responses)
> 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.
Posted Oct 14, 2020 23:22 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Oct 15, 2020 0:57 UTC (Thu)
by nybble41 (subscriber, #55106)
[Link]
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.
Posted Oct 15, 2020 3:27 UTC (Thu)
by neilbrown (subscriber, #359)
[Link] (1 responses)
I have always understood that this is because it is not an issue that the license is in any position to clarify.
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.
Posted Oct 16, 2020 12:23 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link]
Collabora Online moves out of The Document Foundation
Collabora Online moves out of The Document Foundation
Enforced?
Collabora Online moves out of The Document Foundation
Collabora Online moves out of The Document Foundation
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.
Collabora Online moves out of The Document Foundation