Picking a license

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri May 14 22:32:24 EDT 2010


On Fri, 14 May 2010 08:04:53 -0700, Patrick Maupin wrote:

> On May 14, 1:08 am, Steven D'Aprano <st... at REMOVE-THIS-
> cybersource.com.au> wrote:
>> On Thu, 13 May 2010 19:10:09 -0700, Patrick Maupin wrote:
>> > The broken window fallacy is about labor that could have been spent
>> > elsewhere if someone else had done something differently.  The only
>> > time that comes into play in my programming life is when I have to
>> > recode something that is nominally available under the GPL, so I'm
>> > not sure this is really making the point you think it is.
>>
>> You've never had to recode something because it was nominally available
>> under a proprietary licence that you (or your client) was unwilling to
>> use? Lucky you!
> 
> Don't be silly.  That's why I started writing open source software in
> the first place.  But if I start writing stuff to put in the commons
> with strings removed, why would I bother with a license that just adds
> some strings back?

To maximise the likelihood of it staying in the commons, of course.


>> The GPL ensures that once software has entered the commons (and
>> therefore available for all), it can never be removed from the commons.
> 
> No it doesn't.  It just insures that if people actually *distribute* the
> software to others, they have to distribute the source.  In any case,
> for software to remain in the commons, it has to be available where
> people can get to it.  Somebody has to care enough to maintain a
> repository, or it has to be good enough for people to distribute.

The reality is that most software never gets very far. There are millions 
of packages and libraries and applications which have few than a dozen 
users, thousands with a few hundred, and only one Microsoft Windows. 
Since web sites shut down and people lose interest, move on or die, 
software can disappear. This is a fact of life, and if you're looking for 
any guarantees, neither the GPL nor MIT-style licence will give you one.

But consider the case of Ed Keith, who posted some Boost-licenced 
software to the commons. (See his message in this thread, about 30 
minutes before yours.) The website he posted it to has shut down and he 
has lost his original code.

Obviously no licence can guarantee that people will want to use your 
software. Unpopular software will remain unpopular no matter what licence 
you use. But it is precisely the viral nature of the GPL that means that, 
*if* your software is useful enough for people to want to distribute it, 
it will remain in the commons even if you, the original author, are hit 
by a bus, your web server crashes, and you lose the original sources.

Under a MIT-style licence, it is possible for you to put a work into the 
commons, somebody else to copy it and distribute it as a proprietary 
work, then the original to disappear. For all we know, Ed's software has 
made it into a thousand different proprietary applications. Nevertheless, 
it has been lost from the commons, at least until such time as he 
recreates it.

Under the GPL, of course work can be lost from the commons if nobody 
distributes it and the original is lost. But the viral nature is designed 
so that *if* the software propagates legally, it remains in the commons 
and not out of it. This is different from MIT-style licences, which are 
indifferent to whether the software propagates in the commons or not, and 
proprietary licences, which typically prohibit it.


[...]
>> In practice, I believe most MIT-licenced code never even makes it into
>> the commons in the first place.
> 
> Interesting assertion.

I think it is a safe one. So far in the discussion, you and Ed (and 
possibly others, I may have forgotten) have repeatedly declared that you 
use the MIT licence for work you write for clients. This implies two 
obvious business models:

(1) You write open source software, put it on the Internet, and wait for 
the donations to come flooding in.

(2) Clients pay you to write software for them, which you then use a non-
GPL open source licence so that they don't need to release the source 
code if/when they distribute it further.

Given that you're able to pay for an Internet connection, chances are 
that your model is closer to #2. This implies that most of the software 
you write is bespoke software for clients, which means they're probably 
not distributing it as open source, simply because most software is still 
proprietary.



>> I'm willing to predict that the majority of code you've written for
>> paying customers (as opposed to specifically for open source projects)
>> has disappeared into their code base, never to be seen by anyone
>> outside of the company. Am I right?
> 
> That's true, but what on earth does that have to do with the MIT
> license?


The motive behind the GPL is to maximise the amount of code in the 
commons. The motive behind the MIT is to maximise the convenience, 
regardless of whether people keep your code in the commons or not. Unless 
people understand that the *motives* behind the models are different, all 
this talk of "freedoms" is just talking at cross-purposes. To those who 
want to maximise code in the commons, allowing people to take code out of 
the commons isn't a desirable freedom at all; and to those who want to 
maximise convenience, obliging people to distribute source code isn't 
desirable either.


It's strictly irrelevant to this discussion, but I'm curious why you 
choose to licence your work to your clients rather than just working for 
hire and assigning copyright to them.



-- 
Steven



More information about the Python-list mailing list