Rails uses the MIT license. The Ruby license is essentially the GPL
(it's a dual license).
So what are the basic differences between the two and why would you
pick one over the other?
Interesting question, and one I'm tempted to answer even though others are
certainly better quailified. (I.e., IANAE(xpert)) I guess I'll consider this
a learning exercise, to see how much I do know.
(Aside: I'm curious: I'm a little surprised you haven't come across and come
to some resolution on the issues involved--do you program primarily in
Windows as opposed to Linux?)
I have trouble remembering things, I remember less about the MIT license than
the GPL license, and know (if I can remember) most about the GPL version 2.
First of all both the MIT and GPL licenses are in some sense "free".
The meaning of free in this context is freedom as opposed to free beer.
Richard Stallman, the guy who, at least in some sense, started the drive
towards a free operating system, originated and advocates the GPL license.
He lists four freedoms that could be associated with software--can I remember
them to recite them or must I look them up?
Hmm, I guess I'll refer you to the following page which contains the GNU's
"Free Software Definition" (gnu is (one of?) the organizations founded by
Richard Stallman, the other being the FSF (or are they the same
organization--I guess I don't really know)):
http://www.gnu.org/philosophy/free-sw.html
When you read over that page, pay particular attention to "copyleft"--the
primary difference between the GPL and other free (??) licenses (like the MIT
license) is the copyleft part--the GPL requires copyleft, many others (MIT,
BSD, ... do not). (Richard Stallman considers free licenses without copyleft
to be non-free.)
I anticipate releasing any software I write under the GPL license.
There are other choices like dual licenses and, hmm, I forget what they call
them, but like what Ghostscript and some others do--(iirc) they initially
release their software (i.e., current versions) under a license other than
the GPL, and then after some period of time (or at the release of the next
version) they release the older version under the GPL.
Aside: If you get into dual licenses, take any recent writings on the subject
by Theo de Raadt (the OpenBSD founder) with a grain of salt--in a fairly
recent dispute, he made the claim that dual licenses required that the terms
of both licenses be applicable, whereas most dual licenses are specified with
an "or" (you can license it this way or that way--of course a dual license
could be written with an "and"--I'm not sure that would be useful in any
way).
BTW, other issues to consider are which software can be intermixed in some way
even though they use different licenses.
Another way of looking at it the general subject is this:
With a license like the MIT (and BSD, and ...) you give away your software
(almost) unconditionally, anybody can take your software and use it for any
purpose without returning anything to you (they can make a proprietary
package from it, make a fortune, and not share anything with you).
With a license like the GPL, your software gift is conditional--the receiver
of the gift must (to use a phrase that I haven't heard in this context
before) "pay it forward". In other words, they must keep the gift available
including any improvements they may make.
You can make money with either type of license, but it is ususally by means of
a service model than a use model. To clarify, a way of making money with
free software is selling support for it, as opposed to selling a license for
its use.
Note that the GPL does allow you to charge for the software, but anyone who
buys your software can re-distribute it at a lower price, down to zero (or
negative numbers??).
There is also a (potential) different issue (??) related to selling the source
code--the intent (and words), iirc, is that you can only recoup your
(copying) costs (or a reasonable fee--I forget what it says) for the source
code.
At most, this is just a start. Do some reading and ask some questions.
regards,
Randy Kramer