[Twisted-Python] Dumb Question (Please don't eat me)

Glyph Lefkowitz glyph at twistedmatrix.com
Tue May 20 06:07:22 EDT 2003


On Monday, May 19, 2003, at 08:32 PM, matiu wrote:

> Why does one have to relinquish copyright when submitting patches?

Because I'm an evil bastard.

> What's to stop the project leader re-releasing under a closed lisence, 
> or selling that right to a company behind the scenes?

Nothing - and in fact, I have done this and will continue to do it in 
the future.

However, there is really nothing for you to worry about here.  As 
frederico said, "if the project leader re-release under a closed 
license, too bad, we still have the sources under the old LGPL."

This should really be a FAQ, but I can't find a good explanation of 
this online wit a few minutes work, so I'll just re-explain.

I often work in the games industry, which is a sufficiently strange 
place to most of us free-software types that you would probably think 
it looks like an alien planet.  At the time I started writing Twisted, 
I was disappointed with the paucity of available frameworks to do 
certain things that I wanted to do in the professional environment I 
was working in - massively multiplayer games.  Creating a GPL framework 
was therefore out of the question, because those are rejected 
out-of-hand by the corporate flunkies who control the money in most 
places commercial software (and especially games) get produced.  I 
seriously wanted to get my boss to use the results of my spare-time 
work, once I demonstrated that my approach was viable.  (I _still_ want 
to sell the framework to that boss, actually, and he works somewhere 
similar now.)

At this point in the narrative, someone will predictably say, "Why 
didn't you just make it BSD/Python/MIT/X11 licensed, you commie 
RMS-worshipping tree-hugging commie!"  Things are, as usual, a bit more 
complicated than that.  Making the software licensed that permissively 
would just be like tossing my time into a black hole: people might use 
it, they might not use it, and I would never know, because that variety 
of licensing requires no understanding of the process that produces the 
software.

I didn't want to place any serious restrictions on the use of this 
software, BUT, I wanted to make sure that anyone using it understood 
the mores and culture of the community that created it before they 
could use it in an environment potentially hostile to that community.  
I wanted to foster communication and understanding.  (I think that this 
has actually worked, in some small measure, in the places I have been 
able to introduce Twisted.)

So, anyone with a clear understanding of the open source community and 
the technology at hand should be able to figure out that LGPL licensing 
is merely a ruse - Python's extremely flexible nature makes LGPL 
essentially the same as BSD-licensed software.  Thankfully, interests 
with a less clear understanding of the community, like game development 
companies, are afraid of the letters "GPL".  They raise a specter of 
fear, uncertainty, and doubt.  This fear can be used as a foothold to 
understanding and better mutual cooperation as it is allayed and 
explained, however.

Still, asking a large company to try to understand how to work with a 
distributed, informal community is a bit too much.  So the solution 
that is proposed is this - I am Twisted's ambassador to this audience.  
I don't pretend to understand the psychology of executives terribly 
well, but I do know that they prefer to deal with individuals who have 
some sort of decision-making power.  By requiring copyright assignment, 
I have the power to make the decision to give them a slightly less 
restrictive licensing agreement than what the general public gets.

There is almost no money in this, but it does afford me an important 
opportunity: I get to sit down in a room (usually, figuratively 
speaking) with the executive that is making the decision, and explain 
to them how the community works, what they can do about support and 
maintenance, and who they can contract with in order to make sure that 
it doesn't go away.

There are other benefits - with my name plastered all over the 
codebase, and no stated path back to the original authors, any 
liability claims would have to be leveled against me directly, and not 
against the community at large.  By no means would I welcome sitting in 
a courtroom for months on end, explaining over and over again to a 
judge what "no warranty" means using very long words, but it's better 
that one person be forced to endure that than 50.  (Plus, if a company 
knows that all they can go after are my savings, they're less likely to 
do that than if Twisted were owned by a large corporation or a large 
group of people that could be sued collectively.)

Also, if for some resaon we have to change the license (let's say that 
a court ruling shows the LGPL to be unenforceable or illegal for some 
reason, for example) we don't have to consult 200 people.





More information about the Twisted-Python mailing list