MIT vs GPL vs LGPL for open source project

I intend to release a project I wrote with Rails.

What is the right licensing scheme for a web application (content
managing system) which could grow with plugins and add-ons ?

Personally, I would prefer the GPL but does that mean any add-on to the
CMS (like task management) will have to be GPL ?

If some people contribute to the code could it still be double-licenced
so that the people who would want to use it in proprietary applications
could pay for a license (thus financing the work on the CMS) ?

Why did Typo choose the MIT license ?

So to resume all these questions :

  1. cons and pros of GPL
  2. add-on, plugin license if base application is GPL
  3. Why MIT license for Rails, Ruby and Typo ?

Many thanks for your answers,

Gaspard B.

Short answer. You should use the GPL over MIT only if you want to
prohibit
anyone from ever taking your software and making a closed-source
derivative. MIT licenses let users do anything (so long as they give
credit, I believe). Berkley and Apache licenses are similar to MIT. GPL
says derivatives must stay open source. LGPL provides explicit
exemptions to
GPL for plug-in type modules.

I guess i’ll answer this…

Why did Typo choose the MIT license ?

So to resume all these questions :

  1. cons and pros of GPL

If typo was GPL you would have to release the source upon request of
every application which uses typo in any way shape or form. This
includes even just copying some lines of code from the flickr parser
for example. GPL taints all source code its copied into.

  1. add-on, plugin license if base application is GPL

Plugins get their own license. But if the host application is GPL
licensed your addons have to be GPL if you hope that your plugin will
ever be distributed with the core application.

  1. Why MIT license for Rails, Ruby and Typo ?

Because it means “no strings attached”

My experience is that programmers like to be able to do whatever they
want. If you tell them to use your source but only if you do a,b and c
then chances are they won’t particularly care for your work. In
general I always got more contributions back on MIT licensed libraries
then I did on GPL.


Tobi
http://shopify.com - modern e-commerce software
http://typo.leetsoft.com - Open source weblog engine
http://blog.leetsoft.com - Technical weblog

Larry W. wrote:

Short answer. You should use the GPL over MIT only if you want to
prohibit
anyone from ever taking your software and making a closed-source
derivative.

So the real question I should be asking is :

Should I let people create closed-source derivatives out of this CMS ?

The answer would be: yes for me, no for others… Is this possible ?

On 4/8/06, Gazoduc [email protected] wrote:

What is the right licensing scheme for a web application (content
managing system) which could grow with plugins and add-ons ?

The right licensing scheme is the one that you prefer.

Personally, I would prefer the GPL but does that mean any add-on to the
CMS (like task management) will have to be GPL ?

Essentially? Yes. The GNU GPL (and it’s important to include GNU in
front of it because there are other General Public Licences out there)
is a Share Alike licence. The GNU GPL v2 does not allow for any
restriction above and beyond what (severe) restrictions are already in
the GNU GPL v2. The GNU GPL v3 will allow for some additional
restrictions, but not many, and it has philosophical positions that many
people (myself included) make it an untenable licence as currently
written.

If some people contribute to the code could it still be
double-licenced so that the people who would want to use it in
proprietary applications could pay for a license (thus financing the
work on the CMS) ?

I think that you fundamentally misunderstand the GNU GPL. The GNU GPL
requires that I distribute modifications to your software released under
the GNU GPL to the people to whom I give binaries and that I not
restrict them from distributing it further (either binary or source
form). If you release WBCMS (World’s Best CMS) under the GNU GPL, Evil
Ltd. can take that and modify it on their site to their hearts’ content.
They do not have to give you back their modifications, or give their
modifications to anyone who does CMS-related work on Evil Ltd.'s
website. If they sell WBECMS (World’s Best Evil CMS) to a customer,
though, they have to give the customer the source code and they cannot
restrict the customer from giving away the binary or source to anyone
they choose.

The GNU GPLv3 has a clause in it which essentially indicates that if you
release WBCMS with a source download link, downstream users MAY NOT
REMOVE that source download link, and the source download link must
point to their modified source. This is but one of many untenable things
in the GNU GPLv3.

Why did Typo choose the MIT license ?

I can’t really answer that, but I can offer a guess, related to why
PDF::Writer is under the MIT licence:

I don’t want to restrict the choices of my users. I have made a
moral choice to allow my software to be used as needed. I like
it when my users communicate back with me and contribute code
(as they have done, and will hopefully see light of day soon),
but I see no reason by which I should force them to give me code
or open other code because they are using my library as a subsytem.

I also have fundamental disagreements with the politics and lies
surrounding GNU GPL advocacy and the political preamble in the GNU GPL
itself, even though I have no problem with a Share Alike licence.

  1. cons and pros of GPL
  2. add-on, plugin license if base application is GPL
  3. Why MIT license for Rails, Ruby and Typo ?

Note: Ruby is not currently under an MIT licence. It’s just not solely
under the GNU GPL.

-austin

On 4/8/06, Gazoduc [email protected] wrote:

The answer would be: yes for me, no for others… Is this possible ?
If and only if you are the only contributor of the source … ever. Or
if you get copyright assignments. If your open source users contribute
code back, you can’t then turn around and use their code in your
closed source version.

-austin

Interestingly enough though, among some of the bigger corporate open
source
contributers, the gpl is preferred, as it prevents a competitor from
taking
advantage of the company’s contribution.

Austin Z. wrote:

I think that you fundamentally misunderstand the GNU GPL. The GNU GPL
requires that I distribute modifications to your software released under
the GNU GPL to the people to whom I give binaries and that I not
restrict them from distributing it further (either binary or source
form). If you release WBCMS (World’s Best CMS) under the GNU GPL, Evil
Ltd. can take that and modify it on their site to their hearts’ content.
They do not have to give you back their modifications, or give their
modifications to anyone who does CMS-related work on Evil Ltd.'s
website. If they sell WBECMS (World’s Best Evil CMS) to a customer,
though, they have to give the customer the source code and they cannot
restrict the customer from giving away the binary or source to anyone
they choose.

Ok, so this means that web-applications that are not sold (they sell
some kind of hosting) have the right to do whatever they like with any
kind of license… as they do not sell code ?

I understand that there is some dislike around the GNU GPL. Is it
because of it’s idealistic views on commercial vs open software ? About
the statement that a developer can make a living out of open source
software just as he could with commercial applications (or even better)
?

“Gazoduc” == Gazoduc [email protected] writes:

Ok, so this means that web-applications that are not sold (they sell
some kind of hosting) have the right to do whatever they like with any
kind of license… as they do not sell code ?

Well, yes and no. None of the major Open Source licenses in use today
try to restrict how the code is used, only how it’s distributed. But
it’s possible to write restrictions on use into licenses, and
closed-source ones often have such restrictions. So a company can take
a GPL- or BSD-licensed software and build a service on it without
redistributing their changes to the code, since those licenses only
talk about redistribution.

I understand that there is some dislike around the GNU GPL. Is it
because of it’s idealistic views on commercial vs open software?

Sort of. The GNU GPL is a tool with which the Free Software Foundation
tries to bring about political and cultural change. Not everybody
agrees with their goal, and some who agree with the goals don’t agree
with their means.

To bring this at least slightly on-topic: You are using Ruby on Rails
to build the project you’re thinking of releasing. Does it really seem
right to you to release your code under a license that is more
restrictive than the licenses of the tools you used to build it?


Calle D. [email protected]
http://www.livejournal.com/users/cdybedahl/
“You know, if I garbage collected my brain I wouldn’t have anything
left.”
– Paul Tomblin, BofhNet

Calle D. wrote:

To bring this at least slightly on-topic: You are using Ruby on Rails
to build the project you’re thinking of releasing. Does it really seem
right to you to release your code under a license that is more
restrictive than the licenses of the tools you used to build it?

You are right about this last point. I just need to understand the
choices I make. I am not a big fan of idealistic and/or political means.
I like the idea to let downstream users do whatever they like.

So it will be MIT license: freedom to do whatever you like with this
code.

On 4/8/06, Gazoduc [email protected] wrote:

Best Evil CMS) to a customer, though, they have to give the customer
the source code and they cannot restrict the customer from giving
away the binary or source to anyone they choose.
Ok, so this means that web-applications that are not sold (they sell
some kind of hosting) have the right to do whatever they like with any
kind of license… as they do not sell code ?

Hmmm. It depends on how they give access to the web application, really.
My web host, when I install PHP mySQL Administration, simply copies the
source down to my hosting directory. Distribution of the source or
binary is the key here.

I understand that there is some dislike around the GNU GPL. Is it
because of it’s idealistic views on commercial vs open software ?
About the statement that a developer can make a living out of open
source software just as he could with commercial applications (or even
better) ?

No. The GNU GPL is a highly restrictive licence. However, the zealots
tend to pretend that this is “more free” than an unrestrictive licence.
It’s a handy piece of doublespeak that Orwell would have envied, because
the people have done it to themselves without any intervention by a
government.

The GNU GPL doesn’t actually make a statement about a developer being
able to make a living on open/closed software. It makes a moral
statement about closed software and “free” software (there’s that lie
again!). Stallman rejects “open source” as a useful tag, and only
considers software on how “free” it is.

Basically, I tend to release my software under an MIT-style licence
because I don’t want to restrict my downstream users. I prefer to give
greater freedom to everyone.

-austin

On Sat, Apr 08, 2006 at 11:14:43AM -0400, Tobias Lütke wrote:

includes even just copying some lines of code from the flickr parser
for example. GPL taints all source code its copied into.

Which, of course, is seen as a feature, not a bug, as it grows the pool
of
Free Software available to the world at large.

  • Matt

On Sat, Apr 08, 2006 at 08:43:14AM -0700, Joseph K. wrote:

Interestingly enough though, among some of the bigger corporate open source
contributers, the gpl is preferred, as it prevents a competitor from taking
advantage of the company’s contribution.

s/advantage/unfair advantage/

Lock-in software is what you can’t take advantage of. But GPL’d
software is
out there for everyone to take advantage of – it’s just that, if you
take advantage of some GPL’d software, you have to let others then take
similar advantage with your modifications. It levels the playing field,
and
all that.

  • Matt

If typo was GPL you would have to release the source upon request of
every application which uses typo in any way shape or form. This
includes even just copying some lines of code from the flickr parser
for example. GPL taints all source code its copied into.

Which, of course, is seen as a feature, not a bug, as it grows the pool of
Free Software available to the world at large.

Its easy to make this mistake. Good programmers love sharing beautiful
code.
In a GPL project you get all the code back, no matter what the
quality. That leads
to a lot of useless code for the project lead to wade through.
The beautiful code, the one you really want, you get in a MIT project.
But you even get
such code by people using your project for commercial reasons. As all
the extractions from projects such as Basecamp clearly show this is
the code a open source project lead wants to get his hands on.

To summarize this quickly: MIT licence leads to fewer but higher
quality code contributions.


Tobi
http://shopify.com - modern e-commerce software
http://typo.leetsoft.com - Open source weblog engine
http://blog.leetsoft.com - Technical weblog

On Sat, Apr 08, 2006 at 11:49:55AM -0400, Austin Z. wrote:

No. The GNU GPL is a highly restrictive licence. However, the zealots
tend to pretend that this is “more free” than an unrestrictive licence.
It’s a handy piece of doublespeak that Orwell would have envied, because
the people have done it to themselves without any intervention by a
government.

Wow, you’ve really got a burr in your shorts.

The GPL is a licence whose stated aim is to ensure that software is free
for users, which was a pretty revolutionary concept at the time
(and,
for the most part, still is). It doesn’t even go particularly far about
doing so, either – it doesn’t require you to give up any more to your
downstream users as your upstream users gave up for you. On the one
hand,
it’s great that you’re giving downstream users the ability to make your
changes closed, but you have to balance that against the potential loss
of
freedom for other people who are downstream from your downstream users.

It’s not a simple tradeoff, and different people will value different
outcomes differently. But calling the GPL “doublespeak”, or it’s
advocates
“zealots”, is pretty nasty.

  • Matt

On Sat, Apr 08, 2006 at 05:34:07PM +0200, Gazoduc wrote:

though, they have to give the customer the source code and they cannot
restrict the customer from giving away the binary or source to anyone
they choose.

Ok, so this means that web-applications that are not sold (they sell
some kind of hosting) have the right to do whatever they like with any
kind of license… as they do not sell code ?

The key to understanding here is not to think about selling, but rather
‘distributing’. They also don’t have the ability to do whatever they
like
with any licence, because they have to adhere to the terms of the
licence –
it’s just that licences like the GPL only restrict the act of
redistribution.

I understand that there is some dislike around the GNU GPL. Is it
because of it’s idealistic views on commercial vs open software ? About

Not commercial software, but rather proprietary (or more accurately
‘lock-in’) software.

the statement that a developer can make a living out of open source
software just as he could with commercial applications (or even better)
?

The GPL doesn’t talk about how much money you can or can’t make out of
software, it’s all about growing the “software commons”.

  • Matt

On Sat, Apr 08, 2006 at 11:32:58PM -0400, Tobias Lütke wrote:

If typo was GPL you would have to release the source upon request of
every application which uses typo in any way shape or form. This
includes even just copying some lines of code from the flickr parser
for example. GPL taints all source code its copied into.

Which, of course, is seen as a feature, not a bug, as it grows the pool of
Free Software available to the world at large.

Its easy to make this mistake. Good programmers love sharing beautiful code.

What mistake?

In a GPL project you get all the code back, no matter what the quality.

No you don’t.

That leads to a lot of useless code for the project lead to wade through.

That’s a feature of open contributions, not the licence.

The beautiful code, the one you really want, you get in a MIT project.

Do you realise just how ridiculous that sounds?

To summarize this quickly: MIT licence leads to fewer but higher
quality code contributions.

How does the licence manage to dictate that only master programmers are
going to write code for your project?

  • Matt


[On LDAP] “Lightweight my ass. The fact that X.509 has the weight of an
18-wheel rig doesn’t make a minivan something you shove in your
backpack.”
– Zed Pobre, ASR

Gazoduc wrote:

It is true that with the MIT license, I ensure my “children” get the
code but not my “grandchildren”. The question boils down to : will my
“children” do anything useful with this code and will they want to pass
their work on to their “children” ?

The GNU GPL can be seen as a pessimistic approach: if we do not enforce
lock-out, all code will soon be locked-in.

Maybe this was correct ten years ago, but I do not think it like this
now as open source is becoming some kind of culture (things can change
though).

Another point : I am not against locked-in code. I am happy that Apple
could build mac os X on top of a BSD licence. If Darwin was GPL, maybe
Cocoa would simply not exist…

PS: or another example, closer from Rails : Basecamp. If Rails was GNU
GPL, then Basecamp would have to be open source. Anyone could install
Basecamp anywhere. There would be very cheap Basecamp hosting making
money without adding much value and out goes 37signals…

Matthew P. wrote:

On Sat, Apr 08, 2006 at 11:49:55AM -0400, Austin Z. wrote:

No. The GNU GPL is a highly restrictive licence. However, the zealots
tend to pretend that this is “more free” than an unrestrictive licence.
It’s a handy piece of doublespeak that Orwell would have envied, because
the people have done it to themselves without any intervention by a
government.

Wow, you’ve really got a burr in your shorts.

The GPL is a licence whose stated aim is to ensure that software is free
for users, which was a pretty revolutionary concept at the time
(and,
for the most part, still is). It doesn’t even go particularly far about
doing so, either – it doesn’t require you to give up any more to your
downstream users as your upstream users gave up for you. On the one
hand,
it’s great that you’re giving downstream users the ability to make your
changes closed, but you have to balance that against the potential loss
of
freedom for other people who are downstream from your downstream users.

It is true that with the MIT license, I ensure my “children” get the
code but not my “grandchildren”. The question boils down to : will my
“children” do anything useful with this code and will they want to pass
their work on to their “children” ?

The GNU GPL can be seen as a pessimistic approach: if we do not enforce
lock-out, all code will soon be locked-in.

Maybe this was correct ten years ago, but I do not think it like this
now as open source is becoming some kind of culture (things can change
though).

Another point : I am not against locked-in code. I am happy that Apple
could build mac os X on top of a BSD licence. If Darwin was GPL, maybe
Cocoa would simply not exist…

Sun, 09 Apr 2006, Gazoduc skrev:

Another point : I am not against locked-in code. I am happy that Apple
could build mac os X on top of a BSD licence. If Darwin was GPL, maybe
Cocoa would simply not exist…

Ore another example: If Linux used BSD licence, Microsoft would have
the opportunity to make an closed source Linux who would make it
possible to run MS programs, better integration with Windows
etc. witch would get a lot of existing and new Linux users, and that
way be a big hit against the free software movement.

I think it’s better not to give MS and other anti-free software
companies such opportunities.

Besides: If there had not existed any BSD Unix, maybe Apple would have
build OS X on top of Linux, and been forced to give back their further
development on top of Linux. I’m not in doubt what I would prefer.

  • Henrik