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