Posted Nov 20, 2007 18:50 UTC (Tue) by njs (subscriber, #40338)
In reply to: GCC unplugged by yokem_55
Parent article: GCC unplugged
>A lot of the fears about the creation of proprietary modules could be relieved by an explicit
warning that any use of the plugin interface will be considered the creation of a derivative
work and thus subject to the GPL.
Well... yes, that'd solve the problem, if it worked. Unfortunately, copyright doesn't work
that way. Only a judge can decide what is or what isn't derivative work. If they're going to
slap a label like that on, they might as well put all their other wishes in too, like
"software compiled with this compiler not subject to DMCA restrictions", "this compiler
removes all patents as it works"...
Posted Nov 20, 2007 21:59 UTC (Tue) by gmaxwell (subscriber, #30048)
[Link]
"Unfortunately, copyright doesn't work that way. Only a judge can decide what is or what isn't derivative work."
This is a attractive-inaccuracy that I see often repeated in Free Software and Free Content circles.
If I create a copyrighted work and you put it on a disk with some other stuff and mass produce it, your product, the resulting disk is a derivative work and would constitute a copyright infringement unless you received a license which permitted you to perform this action. Full stop. When your work actually contains my copyright work, it's derivative.
Now, it just so happens that most free software licenses (including the GPL) allow the covered work to be freely distributed, even on a common medium with works under other licenses so long as certain rules are followed. But only through the license do you have the right to perform this distribution. If the license you've received stated that it was only valid if the distribution was on stone-tablet with goatse printed on the back, then thats what you'd have to do if you distribute the covered work or you will find yourself in violation of copyright law. So long as your action involves distributing my copyrighted work you are at the mercy of my license.
In the cases of interest, where someone has extended something like GCC with some proprietary module, it is sufficient for the license of GCC to say that you can not distribute GCC with proprietary extensions and define proprietary extensions in whatever way the copyright holder pleases. It doesn't require a court to determine if the proprietary extensions themselves would be subject to the GCC license because your distribution involves the distribution of GCC which is indisputably covered by the GCC license and which is therefor subject to the restrictions and stipulations therein. You could reject the GCC license, and its definition of 'extension', but without the GCC license you can not legally distribute GCC.
It's true that someone could still distribute the proprietary extensions *without GCC*, and "only a judge could decide" that the proprietary work work still infringed on the GCC license even though GCC itself was not being distributed, but when we're talking about proprietary extensions, the separate distribution case isn't what most people are thinking of...
This does result in the possibility that separate distribution could be used as a loophole, a loophole is increasingly important with real-time software distribution over the Internet. However, for anyone other than the FSF it would be a trivially closed loophole: In most of the software world the software license takes the form of a EULA, a contract which stipulates terms which also govern the use of the work. A license could prohibit users from combining the covered work with a proprietary extension. The FSF would have a hard time adopting this position due to their long history of aggressively rejecting software licensing schemes which go beyond a pure copyright grant. (Though perhaps this is changing with the FSF's approval of the affero GPL)
GCC unplugged
Posted Nov 21, 2007 3:47 UTC (Wed) by njs (subscriber, #40338)
[Link]
>If I create a copyrighted work and you put it on a disk with some other stuff and mass
produce it, your product, the resulting disk is a derivative work and would constitute a
copyright infringement unless you received a license which permitted you to perform this
action. Full stop. When your work actually contains my copyright work, it's derivative.
I'm not sure that's accurate in detail -- my understanding is that putting several works next
to each other on one medium, individually unmodified, is not creating a derivative work; it's
just putting several works together, and distributing the result is like distributing each of
those works individually. (In particular, while there is such a thing as a compilation
copyright, it is distinct from the copyright inherent in a derivative work.)
However, I am not a lawyer or any other kind of expert. Rick Moen will swoop in momentarily
to tell us both off, possibly in iambic pentameter (he's just that cool).
In any case, it's hardly relevant to the point at hand. Obviously I agree that we don't need
to ask a judge to know that it's illegal to distribute a copyrighted work verbatim, without a
valid license. But who cares whether this is technically a contradiction to my original point
or not... do you really think anyone was confused? I was responding to a poster claiming they
could make some works derivative by adding a line to their license, which is nonsense...
>In the cases of interest, where someone has extended something like GCC with some proprietary
module, it is sufficient for the license of GCC to say that you can not distribute GCC with
proprietary extensions and define proprietary extensions in whatever way the copyright holder
pleases.
1) Defining "proprietary extensions" is a pain in the butt. Can I ship GCC and Matlab
together? Matlab contains proprietary code that knows how to call GCC to build Matlab
plugins...
2) This would make the GCC license GPL-incompatible.
>It's true that someone could still distribute the proprietary extensions *without GCC*, and
"only a judge could decide" that the proprietary work work still infringed on the GCC license
even though GCC itself was not being distributed, but when we're talking about proprietary
extensions, the separate distribution case isn't what most people are thinking of...
But, uh... that's *exactly* how people have tried to weasel around this problem both
historically (Apple with Objective-C, say) and right now (e.g. NVidia with its proprietary
kernel modules). So anyone who isn't thinking about it, should be :-).
>A license [meaning contract] could prohibit users from combining the covered work with a
proprietary extension.
There are valid reasons to want to avoid restricting use, as opposed to distribution... if
nothing else, how do you phrase this in a way that allows people to make local modifications
that they do not distribute, but rules out proprietary extensions?
GCC unplugged
Posted Nov 23, 2007 7:15 UTC (Fri) by giraffedata (subscriber, #1954)
[Link]
It's true that someone could still distribute the proprietary extensions *without GCC*, and "only a judge could decide" that the proprietary work work still infringed on the GCC license
I have to correct the terminology here, because as it stands is reinforces the popular misconception that a copyright license is something that stops you from copying code. There's no such thing as infringing on a license.
It should say, "... that distributing the proprietary work infringed on the GCC copyright."
but when we're talking about proprietary extensions, the separate distribution case isn't what most people are thinking of...
Hmm. To me, that's what plugins are all about -- selling a plugin for use with the customer's independently acquired GCC.
GCC unplugged
Posted Nov 21, 2007 7:25 UTC (Wed) by sylware (subscriber, #35259)
[Link]
Well, to remove any ambiguity, instead of considering plugins "derivative work", the GPL would
then be extended to barely forbid proprietary plugins. Namely any plugins would be subject to
this extended GPL.
GCC unplugged
Posted Nov 28, 2007 16:53 UTC (Wed) by vonbrand (subscriber, #4458)
[Link]
The problem is that if I write a plugin for GCC, using the published interface to do so, my plugin is mine and mine alone, to do as I wish, unless it contains GCC-derived code (or thereabouts, it is not that clearcut). So I can happily distribute it as closed source for a heavy price, all legally.
Trying to place the use of the interface under strict conditions won't work either, as the idea of a interface is to make such connections possible; and besides as a user of the interface I'm not copying anything anyway, so no copyright interferes.
GCC unplugged
Posted Nov 29, 2007 16:28 UTC (Thu) by nix (subscriber, #2304)
[Link]
It's kind of hard to write anything like a useful plugin right now without
using a whole pile of macros defined in GPL-without-exception header
files.