[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Recently released QPL



in a pathetic attempt to reign this flamewar in a bit, i'm going to offer
a few (ok, realliy just one, but it's big ;p) simple, factual objections to
the gpl, which knightbrd and i have both made at least twice, although the
arguments have occasionally been lost in the midst of a sea of aspersions
cast against rms/esr/whoever. the simple fact of the matter is, by some
trick of wording, intentional or not, the "copyleft" or "viral" (depending
on the author of the mail ;p) sections of the gpl offer as a reasonable
interpretation (by reasonable i mean that it would have a decent chance of
being upheld in a court of law over the less objectionable interpretation)
that no non-gpl works may be used in conjunction with gpl code (for example
by linking with a gpl'ed library, readline being the famous example). that
covers even software that's dfsg-free, although there are those (notably
the author of the gpl, but that has no bearing on this discussion besides
the obvious -- that those views are expressed in the license) who would
claim that these licenses are not "free enough". in short, the gpl has some
serious compatibility issues, not only with non-free software but with 100%
genuine dfsg-free stuff. this cannot be a good thing from the point of view
of anyone who thinks the dfsg are a good guideline for freeness, because it
means that constructive sharing of code between free software -- which is
the whole point of having free software in the first place -- is on occasion
made impossible.

this merits an example, and i'm far too lazy to think of an original one,
so please accept my use of the ash/readline conflict here, and read to the
end of the paragraph. firstly, ash is a nice simple sh-style shell, kind of
a compromise between sh and bash (hence the name, i think). i am not certain
but i think that ash actually predates libreadline; thus the original author
had no reason to consider whether the license would be an issue for linking
with the library. even had readline existed it is doubtful that he would
have decided to release ash under the gpl for the sole purpose of readline,
because ash's intended purpose was to be the sh for netbsd. therefore ash
was released under the bsd license, and contributed anonymously to netbsd.
later, someone in debian decided it might be really nice to link ash with
libreadline, and that he would actually use bash if it had readline's
features. unfortunately the libreadline license does not allow ash to use
it. well, we could get the author to change ash's license... oops, the
original author has been lost in the mists of time; therefore no amount of
proposals to have it released under gpl in parallel with its existing
license will have any effect because they are impracticable. this is really
a shame, because the restrictiveness of the gpl took a useful library away
from a piece of free software which would have used it. you can claim that
this is really ash's fault, or netbsd's fault, for not using the gpl on
their software. from the mouth of a debian developer, these claims are
pointless contradictory zealotry. pointless, because they won't solve any
problems no matter how loudly or frequently they are made; contradictory,
because by becoming a debian developer one has implicitly acknowledged that
other licenses can be free; and zealotry, because that's the only word to
describe advocacy in the face of rational argument, without a like return
of rational argument.

so i've spouted for over two pages on why the gnu general public license has
a problem. if i saw someone else do that and not provide any kind of better
solution, i would feel cheated. so here we go. a better copyleft license
than the gpl would not prevent the code from being used by free software.
this is a bit of a difficulty, because simply allowing derived works to
carry any free license can cause the copyleft-ness to be removed in a
derivative work, which makes the whole copyleft pointless. but we can make a
compromise, by allowing non-copyleft free code to link with the code, like
the similar clause from the lgpl (but more restrictive because only free
software can take advantage of it; if someone modified some x-licensed code
that was linked with code under this license, and made their modifications
proprietary, they couldn't link with the code, and the copyleft would be
unstained).

1 licensee may use the work, free of any obligation.
2 licensee may modify the work for his own use, free of obligation.
3 licensee may distribute verbatim copies of the work with the constraint
  that the copyright notice and license must be retained.
4 licensee may distribute modified copies of the work (derivative works)
  under any free license, free meaning that sections 1-4 apply.
5 as a special exception, any dfsg-free (or some other reasonable definition
  of free; i'm not all that bigoted, but we have all pretty much agreed that
  it's a damn fine set o' guidelines ;) program may be compiled or linked
  with the work, so long as any portions of this work or its derivatives
  that are used are distributed under terms complying with this license.

note that section 4 is my own devising, and it could just require you to
use the same license and acheive the desired affect. i proposed a more
liberal one because i like it that way; it gives the authors of derivateive
work some freedom of expression while maintaining the important parts of the
license. however, it may be worthwhile to note that without that extra bit
in section 4, this is almost exactly the same as the lgpl v2. the lgpl2 even
has a less general (and thus any software developer realizes less good)
version of that liberalness i propose, because it lets you redistribute the
library under gpl. this special-casing is a bad thing, for the very same
reason it is in code; what if one day you want another special case? best
to just realize that all of the acceptable licenses have some common and
unique property: they are copylefts (the author of the lgplp may disagree
with me here, but i would find it quite hypocrtical. no snide comments, mr.
carter, please). now, richard stallman has expressed his distaste with the
lgpl for use with much more than libc. however, the lgpl already states that
works using the library must allow modification and reverse engineering --
a term many proprietary software developers, if they read carefully, might
not be so happy about. i think it would be a good idea to point this out to
rms, and propose to him that the next version of the gnu lgpl allows only
free (not necessarly copylefted) work to use the library, and to change the
license of glibc to specially exempt users of glibc from that restriction
(the whole point of the lgpl was to make glibc useable for proprietary
software which would otherwise use some proprietary libc, causing only the
free software community to suffer). in fact, i'm going to make that
suggestion to him (does he read -legal?) myself, and throw in the anti-
special-casing argument. judging by what he claims to represent, i think
he would be much happier with that as an lgpl.

ok, my fingers are very tired now, so i will leave you without a conclusion.
if you've gotten this far, you are very patient, and i thank you. sensible
comments that expose flaws in my reasoning will make me happy. flames and
zealotry will result in additions to my killfile, and especially if they are
thoughtlessly cc'd to the list. so don't do that, because i like my killfile
short.

--phouchg
"Reasoning is partly insane" --Rush, "Anagram (for Mongo)"
PGP 5.0 key (0xE024447449) at http://cif.rochester.edu/~phouchg/pgpkey.txt


Reply to: