[Twisted-Python] Dumb Question (Please don't eat me)
Glyph Lefkowitz
glyph at twistedmatrix.com
Tue May 20 04:07:22 MDT 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