Re: Bacula and OpenSSL (original) (raw)
- To: debian-legal@lists.debian.org
- Cc: "Shane M. Coughlan" <coughlan@fsfeurope.org>, Kern Sibbald <kern@sibbald.com>, John Goerzen <jgoerzen@complete.org>
- Subject: Re: Bacula and OpenSSL
- From: Anthony Towns <aj@azure.humbug.org.au>
- Date: Thu, 26 Jul 2007 14:26:57 +1000
- Message-id: <[🔎] 20070726042657.GA30699@azure.humbug.org.au>
- Mail-followup-to: debian-legal@lists.debian.org, "Shane M. Coughlan" <coughlan@fsfeurope.org>, Kern Sibbald <kern@sibbald.com>, John Goerzen <jgoerzen@complete.org>
- In-reply-to: <[🔎] 20070725051233.GA23686@azure.humbug.org.au>
- References: <[🔎] 200707121641.53917.kern@sibbald.com> <[🔎] 20070712182916.GB15906@dario.dodds.net> <[🔎] 469F738E.4010209@fsfeurope.org> <[🔎] 200707201210.45474.kern@sibbald.com> <[🔎] 46A61668.6090100@fsfeurope.org> <[🔎] 20070725051233.GA23686@azure.humbug.org.au>
On Wed, Jul 25, 2007 at 03:12:33PM +1000, Anthony Towns wrote:
In particular, going by the GPLv3: ] The "System Libraries" of an executable work [...]
So I've done the "here's what the license says, let's parse it to see if we can extract any meaning" thing, but I haven't done it the other way -- "here's what's intended, let's see if that fits the case we're considering, and if that helps understand the wording".
(Well, to be fair, I haven't seen a very clear statement of what the FSF intends by the clause -- beyond "minimal changes to the GPLv2 to make OpenSolaris okay" anyway)
I figure the exception is to allow people to write GPL programs on non-GPL operating systems and use the standard OS features and compilers/interpretors without having to worry. But that exception needs to be limited, so that when you add features to a GPLed program that would otherwise have to be freed, you can't avoid freeing them by carefully packaging and making use of some loophole in the exception.
Some characteristics of legitimate uses of that exception seem to me to be:
(1) they're readily available features that come standard with the
"system" (whether that be operating system, windowing system,
programming language, etc)
(2) they're not designed specifically for the program being used
(3) they're independent of the program being used
(4) they're used by standard components of the system, other than
your program
(5) they're used by other programs than the ones included with
the system and that are unrelated to your program
(6) they implement standard interfaces, with altnerate implementations
that you could rebuild your program against without much bother
(7) they implement standard interfaces, with source or docs available,
so you could create your own implementation and build your
program against that
(8) the implementation is widely available and is easily and
practicably obtained by anyone, either commercially or freely
So writing GPLed apps that use Solaris features like dtrace or similar seem reasonable, in that dtrace hits (1)-(5), and (7) and (8); and GPLed programs that use the Windows API hit (1)-(5) and (8), though probably not (6) or (7), and programs that use non-free .NET or Java APIs probably hit (1)-(8).
Having the test be something like:
(1) and (2) and (3) and
( (4) or (5) ) and
( (6) or (7) or (8) )
seems to allow the things we want, and restrict the things we don't -- eg, trying to implement an add-on to GCC or emacs would fail (2) and (3), even if specially packaged so they met (1), (4), (5) and (8), eg.
The above could be applied to writing GPLed software that used libraries with special proprietary packages like Mathematica or similar too; YMMV.
To be a bit more concrete; say you have some GPLv3 code -- an implementation of an interesting peer-to-peer IM protocol, say. Then:
- if you're running Vista or OS X, you can integrate it into the
environment, add a native GUI and add new features that will
be a pain to port back to a free OS because they use libraries
that haven't been reimplemented elsewhere yet; then send it
to Apple or Microsoft and have it be included as a standard
part of the OS.
- if you're running Debian, you have openssl as a standard
component, but you can't add openssl support to your p2p IM
app without making use of the system library exception and
can't distribute it in Debian. So if Debian wants to have
the same features as the new versions of Vista or OS X do,
we can't just use our existing libraries and the GPL app as
Microsoft and Apple did, we either have to reimplement the
app with an OpenSSL friendly license, or reimplement OpenSSL.
That is: it's easier for non-free OSes to incorporate GPLed
code than for free OSes.
Maybe that is the result of the way the GPLv3's been drafted, and maybe it actually has to be that way for some reason -- but is there really any question that the above's a bad outcome?
If we can agree it is a bad outcome, it seems worth exploring other interpretations of the new System Library exception to see if we can avoid them.
Cheers, aj
Attachment:signature.asc
Description: Digital signature
Reply to:
- Follow-Ups:
- Re: Bacula and OpenSSL
* From: "Shane M. Coughlan" coughlan@fsfeurope.org
- Re: Bacula and OpenSSL
- References:
- Bacula and OpenSSL
* From: Kern Sibbald kern@sibbald.com - Re: Bacula and OpenSSL
* From: Steve Langasek vorlon@debian.org - Re: Bacula and OpenSSL
* From: "Shane M. Coughlan" coughlan@fsfeurope.org - Re: Bacula and OpenSSL
* From: Kern Sibbald kern@sibbald.com - Re: Bacula and OpenSSL
* From: "Shane M. Coughlan" coughlan@fsfeurope.org - Re: Bacula and OpenSSL
* From: Anthony Towns aj@azure.humbug.org.au
- Bacula and OpenSSL
- Prev by Date:Re: License and copyright in generated code from wsdl2h in gsoap package
- Next by Date:Re: Why is firebird in Debian?
- Previous by thread:Re: Bacula and OpenSSL
- Next by thread:Re: Bacula and OpenSSL
- Index(es):