Problems with the GPL as I see them (was: Re: Kernel developers' position on GPLv3)
Niall Douglas
s_fsfeurope3 at nedprod.com
Thu Sep 28 01:11:27 UTC 2006
On 27 Sep 2006 at 20:06, simo wrote:
> > > "The Corresponding Source also includes any encryption or authorization
> > > keys necessary to install and/or execute modified versions from source
> > > code in the recommended or principal context of use, such that they can
> > > implement all the same functionality in the same range of
> > > circumstances."
> > >
> > > If you sign a program so that i know that the program comes from you i
> > > can "install and/or execute modified versions from source
> > > code in the recommended or principal context of use, such that they can
> > > implement all the same functionality in the same range of
> > > circumstances." So you don't have to give me your signing key.
> >
> > Ah but that doesn't permit "all the same functionality" now does it!
> > It means that if you were to run a signing authenticator, you'd get
> > different functionality.
>
> You are confusing "different functionality" (of the GPLed program) with
> different output (of the signing authenticator).
> They are 2 different things, the GPLv3 draft obviously can only refer to
> the functionality of the GPLv3 program it covers.
Of course I know that! It's obvious to any normal, rational, sane
human being!
However, the GPL is not an ordinary document. It's a LEGAL document.
Legal documents are rules for lawyers to work around, and if there is
ANY ambiguity then it's a BAD legal document.
To a judge - and let us remember that most judges are old, very
technologically unaware and rather pedantic - to them, the difference
between a program, its DLL's and the shell which runs it is virtually
none. As an example, you try explaining why a program signed
differently functions IDENTICALLY to an old person. They will surely
say "but no, when you run it it shows different text on the screen.
This is a difference".
> > We all know what it means, it's just it's ambiguous. Under a tight
> > interpretation, it means you must disclose signing keys.
>
> No, only under a broad and tendentious interpretation.
Which is the entire point of the legal profession!
> > One could interpret a SSL connection as a form of encrypted
> > container. Therefore, transferring a file over it DOES require a
> > special password or key for unpacking/copying. Of course, SSL
> > connections generate a random once-off key per connection to which
> > the user normally has no access.
>
> This is complete nonsense.
>
> 1st there is no way you can interpret an SSL connection as a container,
> as it is a mean. You never keep your file on your disk as a network
> trace of an SSL connection.
So you're telling me that a network connection does not package up
chunks of data into packets and unpack them on the receiving end?
I see no difference from a split RAR file commonly used on binary
newsgroups. It's just a TCP/IP stack does the reassembly for you.
> 2nd you don't need a *special* password to unpack/read/copy the source
> code. The SSL layer is transparent and accessible to anyone.
Of course you do! Otherwise anyone could listen in to your data
stream! Just because it's generated randomly during Diffie-Hellman
negotation does not make it unspecial!
> 3rd SSL is also publicly documented with an implementation available in
> source code form, so even if some silly person could conceive and
> convince someone that SSL is a container you have no problems under this
> license.
Lawyers exist to FUD. Do you really want to dispute this?
> > Again, we know what is intended. The problem is, how precisely do you
> > disambiguate an encrypted zip file from a SSL connection which copies
> > it between computers? At a binary level there isn't really much
> > difference between what is being copied and that which copies it.
> > Again, we simply need clarification here.
>
> There is a big difference between the two, there is no need to clarify
> further. If you really want to be silly you can go down and require to
> include a whole dictionary with the license, to be sure each word
> meaning is really really really clear.
That's not necessary. It's easiest just to drop the key disclosure
requirement altogether. Far better actually to require that signing
binaries can be bypassed by asking the user. For example, if I
replace the flash image on a tivo box, I'd be okay with it flashing a
light to say it's an unsafe image and then you have to press an extra
button to make it go.
We're talking less than half a percent of tivo users here. Pressing
an extra button every time they turn it on isn't the end of the world
for power users.
> > Also, ultimately, there could be actually useful implementations of
> > trusted computing. Hard to see them currently, but why rule them out
> > entirely before we know for sure. Better wait another five years and
> > then decide. In the meantime, software patents are far more of a
> > problem.
>
> I can't conceive any good use of trust computing that requires something
> like the tivoization. You need proof that something is what it it is,
> that doesn't mean preventing the user to run something else.
> If it is compulsory it's not ok, if the user can choose than it is ok.
Trusted computing doesn't necessarily deny choice. Much like nuclear
weapons don't necessarily mean nuclear war. It may have use we can't
see yet. I personally don't want a knee-jerk reaction.
> > No. I was waiting for draft 3 to see if they'd get fixed on their
> > own. I'm not a fan of the GPL, everyone knows that, so I was doubting
> > they'd take much notice.
>
> Why not waiting till GPLv4 is out then?
> If you see problems and want them fixed at least please file a bug :-)
Ah, but in some ways I see the point of the GPL dying. In the long
run, we are better off without the GPL at all. I'm just not sure when
the GPL will outlive its usefulness.
Cheers,
Niall
More information about the Discussion
mailing list