Python is slow?

Steven D'Aprano steven at REMOVE.THIS.cybersource.com.au
Tue Sep 30 06:04:18 EDT 2008


On Tue, 30 Sep 2008 19:04:41 +1000, Ben Finney wrote:

> Steven D'Aprano <steven at REMOVE.THIS.cybersource.com.au> writes:
> 
>> On Tue, 30 Sep 2008 14:50:26 +1300, Lawrence D'Oliveiro wrote:
>> 
>> > In message <gbr4ks$1vv$1 at aioe.org>, r0g wrote:
>> > 
>> >> You can only distribute modifications to gnuplot itself as patches,
>> >> but you can distribute it freely ...
> […]
> 
>> Where's the non-free bit?
> 
> You're not free to modify gnuplot and redistribute the result.
> 
> That you're free to distribute patches is nice, but it's not enough to
> make the work free. The freedom to help people by giving them an
> *already-modified* gnuplot is restricted by the copyright holder.
> 
> It's an artificial restriction on redistribution of derived works,
> making them second-class for the prupose of getting them into people's
> hands.

Yes it is. It seems a strange, unnecessary restriction. But is it 
sufficient to make it non-free? I don't think so.

In case you are thinking that gnuplot allows people to *only* distribute 
the diffs, not the original source to apply the diffs onto, that is not 
the case. I quote from gnuplot > help copyright

"Permission to distribute the released version of the source code along
with corresponding source modifications in the form of a patch file is
granted with same provisions 2 through 4 for binary distributions."

Those provisions aren't terribly onerous, although #3 may be considered a 
privacy issue:

2. add special version identification to distinguish your version
in addition to the base release version number,
3. provide your name and address as the primary contact for the
support of your modified version, and
4. retain our contact information in regard to use of the base
software.




>> Personally, I don't get the whole "only distribute patches"
>> requirement. It's a bit like saying "You're free to distribute this
>> software, but only as a tarball". It seems silly to me.
> 
> That, too, would be a non-free requirement.
> 
>> But I don't see it as non-free, except in the sense that "only licences
>> approved by the FSF are free".
> 
> I try to judge freedom of a software work by the freedoms granted to all
> recipients of the work, not by the approval of some organisation.

Yes, but you accept some restrictions as legitimate. For example, you 
accept the restriction that the GPL makes that says you may not 
redistribute a modified work without making the source code available. 
That's a restriction, but it's not enough to disqualify it from being a 
free software licence. In fact, that restriction is *necessary* to make 
it a free software licence in the sense we're talking about. So "free" 
does not mean "no restrictions", it merely means "none of some sorts of 
restrictions, but other restrictions are okay". Likewise the restriction 
that GPL software must be distributed with a copy of the appropriate 
licence.

It is useful to compare the "diffs only" licence to two different GPL-
related scenarios. Scenario one is clearly against the spirit of the GPL, 
and possibly (hopefully!) the letter as well. Scenario two is not.

(1) I distribute the modified source code encrypted and charge $1,000,000 
for a NON-TRANSFERABLE licence to the encryption key. If you don't have 
the encryption key, that's your bad luck.

(2) I distribute the modified source code archived in a tar file, and 
refuse to offer it in any other format. If you don't have an untar 
application, that's your bad luck.

It's my contention that the restriction of supplying diffs is closer to 
Scenario 2 than to Scenario 1. The modified source is supplied, but it is 
split into two pieces: the official source, plus a set of diffs. 
Reversing that to get the modified source is not much more difficult than 
untarring a tarball.




-- 
Steven



More information about the Python-list mailing list