Ethically (as opposed to legally) speaking, I have a very difficult time
understanding how anyone can consider what amounts to an ex post facto
"contract" to be a good faith agreement. Any EULA or equivalent
"contract" is in fact based on an assumption of agreement, imposed after
it's too late rather than clearly agreed in advance as any enforceable
contract should be -- at least, the way EULAs and the like are currently
handled.
To see the GPL ethically enforceable as a contract, one would not be
able to download the software and GPL text as a single download, then
read or ignore the GPL. Rather, the user would need to download the
license or otherwise read it and agree to it *before* having access to
the download. Otherwise, the user already has the licensed content in
his or her possession before the so-called "contract" is ever brought
into play. That's a bit like telling someone that eating any of the
burrito he has already half-finished means he's bound by law to perform
some kind of service for you.
If the GPL were properly presented as an agreement before access to the
software is granted, I wouldn't have any problem with it as a contract.
As a general-purpose "license for all things open source", however, I
have pretty distinct issues with it (as I'm sure you're aware by now).
Have you actually read the GPL in its entirety? You seem to think
that I can't download and run a GPL program without being forced to
distribute source code. The GPL distinguishes between using a GPL
licensed program and re-distributing it in original or modified form.
Here's what it says:
"Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does."
And FSF has been careful to license tools like GCC and Bison to allow
their use to develop non-free software.
The provisions of the GPL which you seem to have issue with only come
into play when you re-distribute the code, or a derivative work. In
the case of redistributing code you got elsewhere, it just means that
you can't strip out the GPL license or references to it in the code.
The analogy is that you can't ethically distribute a copy of a book
which omits the copyright statement and expect to be free from
copyright infringement claims by the copyright holder. In fact, in
the case of a book, the lack of a license to redistribute means that
distributing copies of the book WITH or without the copyright
statement is infringement of the copyright holders rights.
I don't see how this is ex post facto. You had the agreement when you
decided to create the derivative work. And it's not a contract, it's
a license granted by the copyright holder(s). It's what allows you to
use the software to create derivative works. This is explained
clearly in section 5 of the GPL.
You may have to point out in exacting detail how the GPL was a critical
factor in ensuring that a specific good result came about, and how that
result was in fact better than all likely alternative results if it
wasn't GPLed software in the first place.
As for the first part of that, the FSF forced a large company Cisco in
this case, to make the software avaiable under the terms of the GPL.
The result is that I and many others are running much improved code on
our wireless router. I feel no obligation to explore all likely
alternative results.
No. Close, though.
cut = software licensed GPL
infection = have to distribute source to distribute binaries
bactine = don't distribute binaries, or only distribute if the
recipient will take the source at the same time
saw off your arm = spend hundreds or thousands of dollars maintaining
source archives with redundant backups over a period of no less than
three years after last distribution of a binary
Or burn a CD or two, save them in a safe place, and offer to provide
copies at your cost of copying the CD and sending them a copy at their
request.
My point was that the GPL requires *either* of:
1. bundling source code
2. maintaining source archives for long periods
. . . in most cases.
Which is why I prefer to use software licensed under the GPL.
The conflation to which I referred was *yours*, not the GPL's.
Well, here's the complete thread
Chad said:
Rick replied:
That's not requred by the GPL, the requirement is that if you
distribute such a live CD, you need to make the source used to create
it available. You don't need to deliver it concurrently.
Chad continues:
Rick replies:
So stop conflating them, the GPL doesn't.
The only things I see being conflated here are the requirements to
distribute binary and source *together*, and that wasn't done by me,
my friend.
. . . and my objection is that it grants greater "freedom" to software
than to people in possession of software, all else being equal. I never
objected to a failure to make software "free as in beer" to acquire.
No, it give freedom to people to use the software without restriction,
the freedom to redistribute it unaltered (without removing the
copyrights and license so the rights are extended to the recipients),
the freedom to make and use derivative works which include the
software in whole or in part, and the freedom to distribute those
derivative works.
Now as they say, with freedom comes responsibility, and when you
exercise that last freedom you have some responsibilities spelled out
in the license. This doesn't have to entail large resources, keeping
a few CDs and duplicating them on demand, charging for the expense of
duplication and mailing is enough to satisfy that responsibility. For
a larger project, it's quite likely though that the infrastructure to
provide source from a version control system already exists for the
projects purposes.
The real responsibility is not to be sloppy with your source code control.
My argument is not that I'd rather not follow all the laws in a given
jurisdiction just because I'm contrary, but that some of those laws are
unethical and/or lead to (hopefully unintended) negative consequences.
My goal has been to clear up your misconceptions that I don't know what
I'm talking about, to demonstrate that I *do* in fact know something
about what the GPL does and does not require, to eliminate some of the
spin on the GPL that obscures some of its shortcomings, and to ensure
that it's clear I don't prefer the BSD just because I'm some kind of
froot loop with a chip on his shoulder, but rather because of very real,
very pertinent effects that forced source distribution as a condition of
binary distribution (whether immediate or delayed) impose as costs on
those of us who would rather just be able to do whatever we want with
software *in our possession* as long as we respect others' rights to do
the same, barring explicit contractual agreements.
I think that you are greatly exaggerating the cost of source
distribution, particularly as a delta to the source code control which
any responsible project would and should exercise. I also think you
ignore the rights of the authors of software to ensure that their
contributions are used in a way consistent with *their* wishes.
And in the case of the GPL there is an explicit agreement, spelled out
in the GPL and triggered when one re-distributes the software, or
distributes a derivative work. And the requirement to supply source
code only comes in for derivative work. Re-distributing unchanged GPL
software, in it's entirety simply extends the originator's
responsibility to provide source to whoever you gave the copy to. In
other words the third party can't come to you for the source, he/she
has to go to the originator.
No, the GPL doesn't qualify as an explicit contractual agreement,
because the agreement part of that is only *implicit*.
Chad, I think we've run this into the ground. I'll leave it to others
to decide for themselves who understands what.
I'm getting tired of repeating myself, which, as an advocate of DRY bothers me.