LWN.net Logo

This is NOT about interfaces!

This is NOT about interfaces!

Posted Nov 9, 2005 23:39 UTC (Wed) by khim (subscriber, #9252)
In reply to: Debian and Nexenta collide by paulj
Parent article: Debian and Nexenta collide

The argument is a bit strained from a copyright POV. You have pre-existing GPL binaries, making use of fairly standard interfaces (C99, POSIX, SUS), such that they can be built against and link to any library implementing those interfaces. Solaris libc happens to be one of those. Precedent in US copyright law at least does not allow interfaces to be copyrighted, it's one of the (many) reasons why the SCO lawsuit is quite bogus.

And this all is relevant... exactly how ? I think you are confusing things.

Let's forget about interfaces, GPL and CDDL for a bit. Let's talk about two writers: Justina and Max. Both created some great stories and now publisher want to publish single book with stories by Justina and Max. Justina granted right to publish stories in any form to everyone but Max does only grant this to anyone who will not publish Justina's creations in the same book as his storis. Can our publisher then publish this book ? Of course not: you need permissions from all authors! Note: stories are totally unrelated - the only connection is single bookcover (and empty piece of paper is hardly copyrightable).

Now back to Nexenta, CDDL and GPL. As we've seen from sample above it does not matter of libraries are using the same interface - if they are published as single product (and Nexenta presumably wants to do exactly this) then licenses must be compatible. In fact this was reason for GPLv2 ! Note this part of it: In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. Why such exception was ever needed ? Easy: without this exception SUSE (with GPLed bash and proprietary Macromedia Flash) will be illegal! GPLv1 had no such provisions and this was a problem GPLv2 solved. May be GPLv3 will solve this problem, may be not - but right now Nexenta is in quite real trouble.

You are confusing issues: NVIDIA (who never shipped linux) can claim that "interface is not copyrightable" - since NVIDIA does not ship linux kernel and NVIDIA's binary driver on the same CD. Nexenta does not have such luxiry: the mere fact that both GPLed dpkg and non-gpl'ed OpenSolaris's libc are on the same CD "published" by single publisher is enough for GPL compatibility to be involved.

P.S. Actually if you'll think about it all distributions who actually ship NVIDIA's binary driver on the same CD as linux kernel are in trouble: they are violating GPL - for exactly the same reason. Nobody tried to sue them yet (AFAIK, anyway) but it's clear copyright violation.


(Log in to post comments)

This is NOT about interfaces!

Posted Nov 10, 2005 1:56 UTC (Thu) by paulj (subscriber, #341) [Link]

And this all is relevant... exactly how ?

Well because that clause may or may not be enforceable. If there's copyright "boundary" (there likely is) then it might be harder for the GPL to reach across it. But that'd be something you'd have to argue before a judge and jury.

Let's forget about interfaces, GPL and CDDL for a bit. Let's talk about two writers: Justina and Max. Both created some great stories and now publisher want to publish single book with stories by Justina and Max. Justina granted right to publish stories in any form to everyone but Max does only grant this to anyone who will not publish Justina's creations in the same book as his storis. Can our publisher then publish this book ? Of course not: you need permissions from all authors! Note: stories are totally unrelated - the only connection is single bookcover (and empty piece of paper is hardly copyrightable).

The problem is that that's likely not the some thing. In the case you describe, the publisher almost certainly has contracts with these author. If an author has a clause in their contract that makes their copyright licence conditional on not publishing with the work of some other author, then it is *CONTRACT* law which gives that clause weight, not copyright - contract law is far more flexible.

A licence under copyright alone is more difficult to have mandate restrictions not relating to copyright - you can *grant* rights with a unilateral licence, but you possibly can not take away rights over which you have no claim through copyright, for otherwise copyright licences could make all sorts of silly claims. You can simply disregard such clauses, for they have no effect on copyright (you can't break a copyright licence if copyright is not involved). Least, it used to be that way, until stuff like UCITA came along to start giving shrink-wrap copyright licences more contract-like powers, at least in the USA.

As a thought experiment, imagine if the GPL had a clause stating that you could not distribute GPL works if you also used MS Windows, or if you had a dog. I.e. think of some silly clause which would be legal under contract law (not breaching discrimination laws, etc.) yet has nothing to do with act of copying the work concerned. It's not too hard to think such clauses would be unenforceable, given the right judge ;). In the case of this clause, even more so when the licence *does* allow the act of distributing a GPL work without the OS components it depends on, the contentious components here.

It poses problems both way really. If its not enforceable, that's a problem for any non-copyright related /restrictive/ clauses in licences like the CDDL and GPL. There aren't many such clauses though, but this clause is one. If it's enforceable, then obviously yes there's a theoretical legal and moral problem for Nexenta GNU/OpenSolaris.

However, that's all quite speculative and there's also a decent chance my reasoning is flawed. ;) So lets just assume the clause is quite valid from now on. Where do things stand then? And isn't this a storm in a tea-cup?

Nexenta have a licence to distribute OpenSolaris (the CDDL). They have, other than this complication, a licence to distribute GPL packages. Further, the GPL *does* allow GPL software to depend on non-GPL OS components, even where they are *completely* proprietary, (OpenSolaris is "Free", if not GPL). It also allows GPL software to be distributed in aggregate with non-GPL works, even completely closed proprietary works.

So we're having a big argument because one Free application is being distributed with a Free OS, because the licence of the Free application has an unfortunate oversight in it which neither the licences author nor the author of the application probably ever intended to constrain such distribution.

"May be GPLv3 will solve this problem, may be not - but right now Nexenta is in quite real trouble."

How exactly? They're not in trouble if either:

a) (ideally) The dpkg copyright holder(s) grant a CDDL exception for dpkg. Or even just clearly state "hey, its perfectly ok by us" as an official position - even that would be sufficient legally under the British legal systems in US, UK and elsewhere.

b) (far less good, if only from a moral perspective) The dpkg copyright holder(s) don't sue.

And *no one* but the dpkg copyright holders can sue btw. Their opinion is all that matters. (I not sure what, if any, status those posts on those debian lists have wrt expressing the opinion of the dpkg copyright holders)

If a sensible solution can not found then that means a Free OS and Free applications essentially can not be distributed together, which I think most sides would agree is not a desirable outcome.

This is NOT about interfaces!

Posted Nov 10, 2005 4:34 UTC (Thu) by kimoto (subscriber, #5244) [Link]

And *no one* but the dpkg copyright holders can sue btw. Their opinion is all that matters. (I not sure what, if any, status those posts on those debian lists have wrt expressing the opinion of the dpkg copyright holders)

At least one dpkg author is hostile to linking dpkg with a CDDL libc.

$ zcat /usr/share/doc/dpkg/changelog{.Debian,}.gz | grep -F doogie@debian.org | wc -l

345

This is NOT about interfaces!

Posted Nov 10, 2005 4:34 UTC (Thu) by AJWM (subscriber, #15888) [Link]

You were so close ... and then you missed it.

As a thought experiment, imagine if the GPL had a clause stating that you could not distribute GPL works if you also used MS Windows, or if you had a dog. I.e. think of some silly clause which would be legal under contract law (not breaching discrimination laws, etc.) yet has nothing to do with act of copying the work concerned. It's not too hard to think such clauses would be unenforceable, given the right judge ;).

But, the license is the only thing that gives you permission under copyright law to distribute copies. A clause stating that "you may only distribute if you do not own a dog" is no less enforceable than a clause saying "you may only distribute if you pay the author one thousand dollars". Giving somebody money has "nothing to do with act of copying the work concerned", directly, but it is certainly the basis of most licenses to copy.

A copyright holder may be as capricious as he chooses (bar certain antidiscrimination laws) about what he wants in return for granting permission to copy his work -- you have no right otherwise to copy it.

Of course any judge might make an arbitrary, erroneous decision -- which is why there are appeals courts. Unless the clause on which a license grant was conditioned were actually illegal, there's no way that a decision which effectively vacates the copyright holder's rights and wishes would be upheld.

(ob: IANMALTAEPH - I am no more a lawyer than anyone else posting here)

This is NOT about interfaces!

Posted Nov 10, 2005 8:34 UTC (Thu) by khim (subscriber, #9252) [Link]

Hey, he said: given the right judge. At this point it does not matter what GPL says, what CDDL says - given the right judge you can get any resolution writtable in English.

This is NOT about interfaces!

Posted Nov 10, 2005 9:09 UTC (Thu) by paulj (subscriber, #341) [Link]

A copyright holder may be as capricious as he chooses

Hmm, well with further research it does indeed appear that I'm completely wrong in thinking that a licence can't mandate arbitrary conditions (as long as they are legal). Cheers ;).

This is NOT about interfaces!

Posted Nov 11, 2005 6:31 UTC (Fri) by hppnq (subscriber, #14462) [Link]

One of the nice things about the GPL is that it is actually quite easy to grasp. The license itself explains why it exists, and how it can be applied.

Which, unfortunately, does not mean that people are any less confused by it. Some parts are of course a bit hazy, but I suppose it's got more to do with the fact that people tend to cherish their own set of definitions and notions, even if they don't realize it.

Consider the extremely simple concepts of copyright and copyleft and how both are abused by both sides in discussions like these: lots of knee-jerking. What's all the more surprising, is that these are definitions, it's not like we've discovered a new law of nature that we can't fully understand yet.

PS: paulj, of course I'm not trying to ridicule you by suggesting how simple all this is, I'd much rather salute you for admitting you were, errr, not completely right -- and flexible enough to adjust your point of view.

This is NOT about interfaces!

Posted Nov 18, 2005 3:22 UTC (Fri) by robilad (subscriber, #27163) [Link]

I'd hope that the morality of a deed trumps the question wheather someone can be successfully sued. One might get away with doing something, but that does not make it a nice thing to do.

cheers,
dalibor topic

This is NOT about interfaces!

Posted Nov 10, 2005 9:20 UTC (Thu) by Duncan (guest, #6647) [Link]

> [A]ll distributions who actually ship
> NVIDIA's binary driver on the same CD
> as linux kernel are in trouble: they
> are violating GPL - for exactly the
> same reason. Nobody tried to sue them
> yet (AFAIK, anyway) but it's clear
> copyright violation.

They haven't been sued, but they are under notice from some of the kernel
hackers to cease and desist or face legal action.

See the LWN kernel page quote of the week for the Oct. 26 edition (quoting
Greg K-H). There's quite a discussion there as well, including a couple
rather long "expositions" on the legal details of the GPL and how they
relate to binary kernel modules, by yours truly. =8^)

http://lwn.net/Articles/157225/

Duncan

Sounds like co-distribution is perfectly legal

Posted Nov 10, 2005 15:39 UTC (Thu) by hazelsct (subscriber, #3659) [Link]

Now back to Nexenta, CDDL and GPL. As we've seen from sample above it does not matter of libraries are using the same interface - if they are published as single product (and Nexenta presumably wants to do exactly this) then licenses must be compatible. In fact this was reason for GPLv2 ! Note this part of it: In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. Why such exception was ever needed ? Easy: without this exception SUSE (with GPLed bash and proprietary Macromedia Flash) will be illegal! GPLv1 had no such provisions and this was a problem GPLv2 solved. May be GPLv3 will solve this problem, may be not - but right now Nexenta is in quite real trouble.

But aren't you disproving your own point here? Since the GPL expressly allows distributing non-GPL software in the same product, it would seem to allow distribution of GPL software with CDDL libc.

Furthermore, Sun and other proprietary unices have been distributing GPL gcc with proprietary libc implementations for literally decades without infringing, or at least without infringement suits. Why the sudden storm in a teacup over distribution with free software?

(Incidentally, this is not the same as the old KDE/Qt flap, which was about distributing GPL apps linked against non-free non-system libraries with non-standard interfaces, and nearly sank the original Corel Linux distribution -- or at least its apt/KDE software installation tool.)

As a Debian developer myself, I have to agree with paulj that the complaint of these DDs is a counterproductive restriction on free software, let alone childish infighting between free software camps which will more than likely damage the reputation of the Debian project and the community as a whole. To one day say, "SCO is wrong, interfaces are not copyrightable", and the next day turn around and say, "You'd better not link my free software to your free system software with a standard interface!" is truly pathetic.

Sounds like co-distribution is perfectly legal

Posted Nov 10, 2005 16:53 UTC (Thu) by vmole (subscriber, #111) [Link]

You've missed the distinction between "mere aggregation" and "derived work". The claim is that when you distribute (say) dpkg with the Solaris libc, you are distributing a derived work combining the dpkg code and the libc code, because (this particular binary) of dpkg will not work without (this particular binary) libc. Remember API!=ABI, and by including the header files provided by the Solaris libc, you're including Solaris libc specific code.

Sounds like co-distribution is perfectly legal

Posted Nov 10, 2005 17:12 UTC (Thu) by khim (subscriber, #9252) [Link]

But aren't you disproving your own point here? Since the GPL expressly allows distributing non-GPL software in the same product, it would seem to allow distribution of GPL software with CDDL libc.

Not really. GPL allows "mere aggregation" of two programs on the same medium regardless of their license if they are not related (relevant part os quoted in previous post).

Furthermore, Sun and other proprietary unices have been distributing GPL gcc with proprietary libc implementations for literally decades without infringing, or at least without infringement suits. Why the sudden storm in a teacup over distribution with free software?

This is other question. Why FSF never sued Apple and/or Sun ? May be they had no money or they were not sure it's a good idea. Who knows. Copyright owner is not forced to sue anyone who violates copyright (that's not trademark).

I agree that all this problem is quite silly and looks like storm in a teacup but this does not make it less real.

Sounds like co-distribution is perfectly legal

Posted Nov 10, 2005 20:54 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

Oh, come on now. Before there even was Linux (and thus the possibility to even build a fully GPL-compatible system), all GPLed software had to run on propietary systems, simply because there was nothing else to be had. Before Linux, glibc was a sad joke, and everything used the propietary libraries that came with the OS. Standard joke was that the first task with a new Sun was GNU > /usr/local.

So now there is Linux. And glibc works. And what I did before to our Suns will not be tolerated anymore, just because?! I just can't see the difference between shipping gcc compiled for Solaris, and doing the same with dpkg. AFAICS (IANAL!) this kind of stuff is explicitly allowed by GPLv2.

Sounds like co-distribution is perfectly legal

Posted Nov 11, 2005 4:46 UTC (Fri) by kimoto (subscriber, #5244) [Link]

One rationale from Thomas Bushnell for why the funny wording is in the GPL2 (which was designed in the age of proprietary systems):
The special exception allows you to ship, for example, emacs binaries linked against the proprietary HPUX libraries, provided HP distributes those libraries along with the major components of HPUX (that is, they cannot have unbundled them), and provided you are not shipping those libraries yourself. This is specifically designed to prevent HP from including an emacs binary which is linked against their libraries, shipping the whole thing as part of HPUX, and not providing the source for their libraries.

Sounds like co-distribution is perfectly legal

Posted Nov 11, 2005 11:09 UTC (Fri) by khim (subscriber, #9252) [Link]

Oh, come on now. Before there even was Linux (and thus the possibility to even build a fully GPL-compatible system), all GPLed software had to run on propietary systems, simply because there was nothing else to be had.

Yes, but was GPLed software included with proprietary systems ? I know of one sample from that era: NEXTStep (later Mac OS X). All others shipped without any GPL components. If end-user does install GPL software on OS - this is one story (there are special exception in GPL), but if vendor ship GPLed component as part of base system... this is different story.

Sounds like co-distribution is perfectly legal

Posted Nov 11, 2005 13:12 UTC (Fri) by vonbrand (subscriber, #4458) [Link]

There sure were. DG-UX (Data General) used gcc as their stock compiler. The propietary (I believe source wasn't available) Pro toolset from Cygnus was built around gcc, gdb, binutils, etc. Not just some "shipping with" there, without those tools the rest made no sense at all.

Besides, this is more than a bit strange, all around: DEC provided a tape with "extraofficial software" with their systems, Sun later shipped a CD with such stuff. I'm sure other Unix vendors did likewise. There are vendor sites giving GPLed stuff compiled and packed for their systems (including whatever parts of the libraries and such this requires). And now, when the same thing is being done with an OS shipped in source form, under a somewhat free license (much freer that original Solaris or Ultrix, in any case),it is bad?

Sounds like co-distribution is perfectly legal

Posted Nov 13, 2005 20:28 UTC (Sun) by Ross (subscriber, #4065) [Link]

The same thing with NextStep. GCC was the system compiler. They modified it to support ObjectiveC, and were forced to release the source code to the ObjectiveC front end, but not for the whole operating system.

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