[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

MIT vs. Ruby/GPL License

Trans

10/14/2007 1:32:00 PM

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?

Thanks,
T.


46 Answers

Randy Kramer

10/14/2007 3:30:00 PM

0

On Sunday 14 October 2007 09:31 am, Trans wrote:
> 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/fr...

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







Alexey Verkhovsky

10/14/2007 3:50:00 PM

0

MIT license does have one restriction:

QTE
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
UNQTE

Which in practice means that you should remember adding a copyright
statement at the top of the LICENSE file.

--
Alexey Verkhovsky
CruiseControl.rb [http://cruisecontrolrb.though...]
RubyWorks [http://rubyworks.though...]

Tim Hunter

10/14/2007 4:07:00 PM

0

Trans wrote:
> 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?
>
> Thanks,
> T.
>
>

T.,

I normally enjoy your posts, and I do hate to be negative, but it feels
like ruby-talk has been plagued with a lot of
200-followup-barely-on-topic threads lately, and your post could easily
be (given this strong opinions that people can form about FOSS
licensing) the start of yet another.

Would it be too much to ask for you to go off and read some of the
commentary on these licenses that can be found on the web, form some
conclusions, and then, if necessary (and I don't think it will be)
follow up with "I've read this material and this is what I think and
here are some RUBY-SPECIFIC questions I have or conclusions I've come to
that I'd like to share?"

You can start your research with the text of the licenses. MIT is here:
http://www.opensource.org/licenses/mit-l.... GPL here:
http://w.... I notice several books are available on Amazon,
including _Understanding_Open_Source_and_Free_Software_Licensing_.

To the list, I apologize. I try to keep my posts positive, contributory,
and on-topic. I recognize that this one is simply cranky.

Trans

10/14/2007 4:17:00 PM

0



On Oct 14, 8:29 am, Randy Kramer <rhkra...@gmail.com> wrote:
> On Sunday 14 October 2007 09:31 am, Trans wrote:
>
> > 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?)

Me too ;)

I've been using the Ruby license. But everything I've done until now
has been purely open. That's about to change though, so the question
becomes a more important one.

> 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/fr...
>
> 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).

So MIT is more akin to BSD --less restrictive.

> 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.

Very helpful thank you. For the moment I will hone in on one question:

If a gem is released under GPL and your app depends on it, does that
mean your source must also be freely available in a way compatible to
the GPL? If not, then what about if you drop the same library into
your vendor/ directory and redistribute it along with your app?

Thanks,
T.


Randy Kramer

10/14/2007 4:42:00 PM

0

On Sunday 14 October 2007 12:17 pm, Trans wrote:
>
> On Oct 14, 8:29 am, Randy Kramer <rhkra...@gmail.com> wrote:
> > On Sunday 14 October 2007 09:31 am, Trans wrote:
> I've been using the Ruby license. But everything I've done until now
> has been purely open. That's about to change though, so the question
> becomes a more important one.

Thanks!

I should point out that *after* I pressed send, I read the page that I
referred you to (and some pages linked from that page) a little more
carefully (they seem to be pages I hadn't seen before--I guess it's been
fairly a long time since I dug into this stuff), and realize that some of my
previous statements were not accurate.

The first being that Richard Stallman *does* consider some licenses without
copyleft to be free. If I recognize others as I reread what I wrote, I'll
try to point them out.

> So MIT is more akin to BSD --less restrictive.

That is my belief, but I should admit that I haven't had much exposure to the
MIT license.

> > At most, this is just a start. Do some reading and ask some questions.
>
> Very helpful thank you. For the moment I will hone in on one question:

You're welcome! (But after my further reading, I'm beginning to believe I
should have let somebody else dip their foot in the water first. ;-)

> If a gem is released under GPL and your app depends on it, does that
> mean your source must also be freely available in a way compatible to
> the GPL? If not, then what about if you drop the same library into
> your vendor/ directory and redistribute it along with your app?

I don't think I can give an instant (correct ;-) answer to that. I'd suggest
you look for and read up on the LGPL--it was originally intended to stand for
the Library GPL, but has since been changed to stand for the Lesser GPL, but
its focus is on issues related to your concern.

Good luck!

Randy Kramer





Terry Poulin

10/14/2007 5:01:00 PM

0

I don't think the difference between MIT and GPL License has much purpose in
connection with Ruby ^_^


As far as licenses go:

I generally find the ISC, MIT/X and BSD Style licenses (in that order) much
preferable to the GPL. Namely because it does not have much chance to get in
my way. I also don't trust the Free Software Foundation and their GPL not to
screw me over at a later day (e.g. GPL 2 or above; e.t.c.)

Any one with questions about the GPL should check the FAQ

http://www.gnu.org/licenses/gp...

and the actual text (yes it is boring)

http://www.gnu.org/copylef...

Older versions are probably available online.

Then compare it with the very short in comparason license texts of the other
licenses. That will help any one a lot more the chatter on Ruby-Talk (no
offense meant to other subscribers).


Most stuff I write with any intention of leaving ~/code/*/src/ has a topper in
it, some thing like this. Which is basically a template for the ISC License
for any language that uses the # symbol for comments. I keep a
~/code/licenses/<license/ directory with templates like this for a number of
licenses. And a version for different comment types, mostly /* */, //, and #
(C, C++, and Bourne style).


################################################################################
# Copyright (c) 2007, My Name < My E-mail address> #
# #
################################################################################
# #
# Permission to use, copy, modify, and/or distribute this software for any #
# purpose with or without fee is hereby granted, provided that the above #
# copyright notice and this permission notice appear in all copies. #
# #
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES #
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF #
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR #
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES #
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN #
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF #
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #
# #
################################################################################

I also like the joke version of the BSD License on the *uncyclopedia* although
I don't actually use it in programs. I think the joking makes a good point of
what a license should allow. I.e. Do what ever the hell you want with it,
just remember who wrote it, and the author is not responsible for damages.

http://uncyclopedia.org/wiki/B...

TerryP.


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ip...


Trans

10/14/2007 5:50:00 PM

0



On Oct 14, 10:00 am, "Terry Poulin" <bigbos...@ippimail.com> wrote:
> I don't think the difference between MIT and GPL License has much purpose in
> connection with Ruby ^_^

Let's go license free! Kind of like skinny dipping ;)

> As far as licenses go:
>
> I generally find the ISC, MIT/X and BSD Style licenses (in that order) much
> preferable to the GPL. Namely because it does not have much chance to get in
> my way. I also don't trust the Free Software Foundation and their GPL not to
> screw me over at a later day (e.g. GPL 2 or above; e.t.c.)
>
> Any one with questions about the GPL should check the FAQ
>
> http://www.gnu.org/licenses/gp...

That link helped --well almost. This is what it says on the subject:

<i>
What is the difference between "mere aggregation" and "combining two
modules into one program"?
Mere aggregation of two programs means putting them side by side
on the same CD-ROM or hard disk. We use this term in the case where
they are separate programs, not parts of a single program. In this
case, if one of the programs is covered by the GPL, it has no effect
on the other program.

Combining two modules means connecting them together so that they
form a single larger program. If either part is covered by the GPL,
the whole combination must also be released under the GPL--if you
can't, or won't, do that, you may not combine them.

What constitutes combining two parts into one program? This is a
legal question, which ultimately judges will decide. We believe that a
proper criterion depends both on the mechanism of communication (exec,
pipes, rpc, function calls within a shared address space, etc.) and
the semantics of the communication (what kinds of information are
interchanged).

If the modules are included in the same executable file, they are
definitely combined in one program. If modules are designed to run
linked together in a shared address space, that almost surely means
combining them into one program.

By contrast, pipes, sockets and command-line arguments are
communication mechanisms normally used between two separate programs.
So when they are used for communication, the modules normally are
separate programs. But if the semantics of the communication are
intimate enough, exchanging complex internal data structures, that too
could be a basis to consider the two parts as combined into a larger
program.
</i>

Kind of fuzzy.

T.


M. Edward (Ed) Borasky

10/14/2007 6:08:00 PM

0

Trans wrote:
> That link helped --well almost. This is what it says on the subject:
>
> <i>
> What is the difference between "mere aggregation" and "combining two
> modules into one program"?
> Mere aggregation of two programs means putting them side by side
> on the same CD-ROM or hard disk. We use this term in the case where
> they are separate programs, not parts of a single program. In this
> case, if one of the programs is covered by the GPL, it has no effect
> on the other program.
>
> Combining two modules means connecting them together so that they
> form a single larger program. If either part is covered by the GPL,
> the whole combination must also be released under the GPL--if you
> can't, or won't, do that, you may not combine them.
>
> What constitutes combining two parts into one program? This is a
> legal question, which ultimately judges will decide. We believe that a
> proper criterion depends both on the mechanism of communication (exec,
> pipes, rpc, function calls within a shared address space, etc.) and
> the semantics of the communication (what kinds of information are
> interchanged).
>
> If the modules are included in the same executable file, they are
> definitely combined in one program. If modules are designed to run
> linked together in a shared address space, that almost surely means
> combining them into one program.
>
> By contrast, pipes, sockets and command-line arguments are
> communication mechanisms normally used between two separate programs.
> So when they are used for communication, the modules normally are
> separate programs. But if the semantics of the communication are
> intimate enough, exchanging complex internal data structures, that too
> could be a basis to consider the two parts as combined into a larger
> program.
> </i>
>
> Kind of fuzzy.
>
> T.

All this proves is that the distinction between the English language and
code is starting to erode, and when a programmer, like Richard M.
Stallman, dabbles in Law, it gets worse. :)


M. Edward (Ed) Borasky

10/14/2007 6:25:00 PM

0

Trans wrote:
> 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?
>
> Thanks,
> T.
>
>
>

The Ruby license says that you can use the the GPL, or you can use the
explicit terms of the Ruby license. Here's the text of the Ruby license.
-----------------------------------------------------------------------
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
You can redistribute it and/or modify it under either the terms of the GPL
(see COPYING.txt file), or the conditions below:

1. You may make and give away verbatim copies of the source form of the
software without restriction, provided that you duplicate all of the
original copyright notices and associated disclaimers.

2. You may modify your copy of the software in any way, provided that
you do at least ONE of the following:

a) place your modifications in the Public Domain or otherwise
make them Freely Available, such as by posting said
modifications to Usenet or an equivalent medium, or by allowing
the author to include your modifications in the software.

b) use the modified software only within your corporation or
organization.

c) rename any non-standard executables so the names do not conflict
with standard executables, which must also be provided.

d) make other distribution arrangements with the author.

3. You may distribute the software in object code or executable
form, provided that you do at least ONE of the following:

a) distribute the executables and library files of the software,
together with instructions (in the manual page or equivalent)
on where to get the original distribution.

b) accompany the distribution with the machine-readable source of
the software.

c) give non-standard executables non-standard names, with
instructions on where to get the original software distribution.

d) make other distribution arrangements with the author.

4. You may modify and include the part of the software into any other
software (possibly commercial). But some files in the distribution
are not written by the author, so that they are not under this terms.

They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
files under the ./missing directory. See each file for the copying
condition.

5. The scripts and library files supplied as input to or produced as
output from the software do not automatically fall under the
copyright of the software, but belong to whomever generated them,
and may be sold commercially, and may be aggregated with this
software.

6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
-----------------------------------------------------------------------
It should be noted that the Google Summer of Code required software to
be released using an "open source license", and that the Ruby license
was *not* on their list of approved ones.


John Joyce

10/14/2007 6:28:00 PM

0

Ok, this is relevant in that it is a big software issue, but let's
just end this thread.
It will only become an argument, and often an un-civil one.
If you want to know more about the various licensing concepts, just
start in Wikipedia. There is plenty there to get you going.
It is a deeply contentious issue and extremely difficult to discuss
reasonably.
We will do good to Ruby-Talk by leaving this discussion for other
forums. Slashdot is a typical one.
If you have questions about the license of a particular gem or Ruby
itself, address their creators, they do put their e-mail addresses in
the licensing information in the software distribution.