My brief and torrid affair with Ruby

Stephyn Butcher wrote:

They don’t call GPL a legal virus for nothing:

The problem with the term virus is that it implies malevolence. A
virus imposes itself on its victim without consent. That is not the
spirit of the GPL. The GPL is attached to something that is given away
freely. Likewise, anyone is free to use it, or to choose some other
solution.

If I decide to give you something for free, it is not unreasonable to
ask that you, if you decide to accept and use it, also make any derived
works available with the same freedoms from which you benefitted.

You are, of course, free to decline my offer. That is hardly a virus.

james_b wrote:

Now, it might seem disingenuous to be the provider of both the core,
non-GPL app, and one or more GPL’ed helper library classes,

Of course, you could just tell the user that there’s an open source library that might profitably be used with your product, which can be downloaded from your web site, where you generously provide a distribution point for … a very select subset of :slight_smile: … available open source libraries.

Yes, shockingly devious and I certainly don’t recommend that approach !!

Ray,

I’m glad you had a positive experience. You won’t get a lot of flames in
this list. Plus, your email was very respectful. There was nothing to
flame you about.

This happens with your permission because you decide to use the GPL
component in the first place. Therefore, there are no ‘surprises’
here. It is pretty clear by using a GPL (not LGPL) component you are
agreeing to GPL the rest of your code as well.

Not quite. Using a GPL component does not imply an agreement to GPL your
code. This is a common misconception. Rather, if you don’t GPL your code
you are in violation of the license. You can correct that violation
either by GPL’ing your code, or by removing the GPL component.

The GPL is totally safe.

In my opinion, one way to ensure the growing popularity of Ruby is to
promote the tradition of releasing Ruby modules under licenses
friendly to commercial and proprietary use.

Furthermore, if we release everything under Ruby’s license it’ll reduce
confusion. That’s very important.


Daniel Carrera | OpenPGP fingerprint:
Graduate TA, Math Dept | 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88
UMD (301) 405-5137 | http://www.math.umd.edu/~dcarrera/pgp.html

···

On Wed, Jul 09, 2003 at 08:52:34PM +0900, Ray Cote wrote:

I don’t believe the GPL is specific about the library sharing the same
memory space as the linking application; for example, the library may be
linked through a TCP/IP pipe where the application is running on a different
machine than the library is. If the application links intimately with the
GPL library, the application must also be GPL unless the library is
distributed as a normal part of a development environment or operating
system.

Sean O'Dell

“Jim Cain” list@jimcain.us wrote in message
news:3F0B6C78.6030301@jimcain.us

Daniel Carrera wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Daniel:
Thanks for your comments.

I believe these two items from the GPL FAQ cover the question:
http://www.gnu.org/licenses/gpl-faq.html#WhyUseGPL


If a library is released under the GPL (not the LGPL), does that
mean that any program which uses it has to be under the GPL?
Yes, because the program as it is actually run includes the library

You have a GPL’ed program that I’d like to link with my code to
build a proprietary program. Does the fact that I link with your
program mean I have to GPL my program?
Yes.

Well, it’s not that simple. Ruby modules are not linked into your
program the way
a binary library would be. On the other hand, they are not exactly
external
programs either. So it’s not quite clear there.

Judging from the first question, I am now leaning towards saying that
yes, it is a
derivative work, on the basis that (I think) a “require” actually does
“stick in”
the module code into your program, hence making it a derivative.
Perhaps someone
could correct or confirm this.

So, yes, it seems that you are right on that.

There are a variety of ways of ‘hiding’ code. One of the projects
we’re currently designing consists of a sealed box delivered to the
user, a sort of ‘payment appliance’ if you will. The end user not
only has no access to the code on the machine, they have no need for
access. However, under the GPL, I would be legally bound to
distribute source code for the program on that machine.

Well… you’d be legally bound to provide it upon request. I apologize
if this is
a dumb question, but if the user has no use for the source anyways,
what’s the
problem with the GPL?

The user doesn’t need the source. You don’t have to provide the source
unless
they want it. What’s the problem?

If I have a choice of working in an environment where the licenses
promote commercial use or working in an environment where I need to
check and perhaps get permission for special licenses, I’m going to
take the path of least resistance.

Well… don’t mixup “commercial” and “propietary”. I still don’t
understand why
the GPL would inhibit you from selling your commercial product. I’m
sure that
there’s something obvious I’m not seeing. Perhaps you can clarify the
problem?

···

On Wed, Jul 09, 2003 at 09:35:47AM +0900, Ray Cote wrote:

It’s my understanding that the GPL requires anything that links to a
GPL-licensed library to have a GPL license as well. Of course in the
case of shared libraries, the executable and library are in separate
files. But when the thing is actually being executed, the object code
all occupies memory at the same time, if code in the library is being
used. According to the GPL, this is a derived work based on the GPLed
library, and so the GPL applies to the executable in memory.

Paul Prescod paul@prescod.net writes:

The discussion was about the use of GPLed components. My point was that
if you use those components you can no longer license it under any terms
you care to and that in turn means that it is not really practical to
“sell” it in the sense of selling the bits. Once you allow
redistribution, someone else can redistribute your code at a price much
lower than your own.

And my point is that they must do so under the terms of the GPL. You
have to offer your code under the GPL as well-- which seem fair to me,
since you’re piggybacking on the work of others who’ve released their
code publicly. But if you want to use non-GPL components, perhaps as
an option, then you can also license your code under any onerous,
nasty, proprietary license you choose. If a customer wants to use
code that forces them to release their code as GPL, they can buy from
anyone (or just download), but if they don’t, they have to come to
you.

Many media projects do this successfully-- I think Ogg Vorbis is
dual-licensable.

-=Eric

···


Come to think of it, there are already a million monkeys on a million
typewriters, and Usenet is NOTHING like Shakespeare.
– Blair Houghton.

Exactly. The GPL does not impose anything. It sets a condition upon the use a
pice of software. You have two choices: comply with the conditions, or don’t use
it. There is nothing viral about that.


Daniel Carrera | OpenPGP fingerprint:
Graduate TA, Math Dept | 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88
UMD (301) 405-5137 | http://www.math.umd.edu/~dcarrera/pgp.html

···

On Wed, Jul 09, 2003 at 11:09:07AM +0900, Jim Cain wrote:

Stephyn Butcher wrote:

They don’t call GPL a legal virus for nothing:

The problem with the term virus is that it implies malevolence. A
virus imposes itself on its victim without consent. That is not the
spirit of the GPL. The GPL is attached to something that is given away
freely. Likewise, anyone is free to use it, or to choose some other
solution.

If I decide to give you something for free, it is not unreasonable to
ask that you, if you decide to accept and use it, also make any derived
works available with the same freedoms from which you benefitted.

You are, of course, free to decline my offer. That is hardly a virus.

Harry Ohlsen wrote:

james_b wrote:

Now, it might seem disingenuous to be the provider of both the core,
non-GPL app, and one or more GPL’ed helper library classes,

Of course, you could just tell the user that there’s an open source
library that might profitably be used with your product, which can be
downloaded from your web site, where you generously provide a
distribution point for … a very select subset of :slight_smile: … available
open source libraries.

Yes, shockingly devious and I certainly don’t recommend that approach !!

Why not?

I hope this topic isn’t drifting too far OT, though it strikes me as a
critical area of discussion (but by no means a strictly-Ruby subject).

So, why not write your applications as a set of loosely-coupled objects
or services (probably not a bad idea anyway), with each part licensed in
accordance with your needs and the reqirements of any GPL’ed code?

It’s mostly where I’m headed with my own code (at least for the larger
projects), and largely because I want the most flexibility in
determining licensing. I see nothing devious about it.

BTW, there is a ruby garden wiki page on license issues
(http://www.rubygarden.org/ruby?LicenseIssues) but it appears to be
focsed on some specific set of code (maybe the code examples on the Wiki
iteslf?). The page was last edited on June 24, 2001. Perhaps we can
co-opt this page for a broader discussion of the topic and collect
references to more definitive information on the varous licensing options.

James

well, there are groups where just writing G,P and L in the same line
would call raving maniacs from most of usenet.

But as usual people on comp.lang.ruby/ruby-talk is kind and quiet. I
suppose this is related to the use of a programming language that
saves you headaches :slight_smile:

···

il Thu, 10 Jul 2003 03:57:29 +0900, Daniel Carrera dcarrera@math.umd.edu ha scritto::

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ray,

I’m glad you had a positive experience. You won’t get a lot of flames in
this list. Plus, your email was very respectful. There was nothing to
flame you about.

The FSF isn’t really the arbiter of this. Their claim that dynamic
linking creates a derivative work has not been resolved in any court
of law or by legislation (I’m not sure that it’s been shown for
static linking, either, but that’s much more likely to be shown as
derivative work creating). Further, the GPL itself applies to
distribution, not to execution. So if I distribute an
application (A) that requires library (L), but do not distribute the
library (L), then I am technically not in violation of the GPL,
because the putative derivative work (A+L) exists only in memory and
is not distributed.

Note that GPL2 says nothing about remote access (e.g., GPLed
programs that are accessed via the web or via SOAP or some other
mechanism); GPL3 is likely to say something about this, although it
will force me to immediately change any software that I own to
“GPL2”, not “GPL2 or later”. If the GPL3 is changed the way that the
Affero licence has been changed, then it truly is viral and
anticommercial.

  • -austin

austin ziegler * austin@halostatue.ca * Toronto, ON, Canada
software designer * pragmatic programmer * 2003.07.09
* 16:48:47

···

On Thu, 10 Jul 2003 05:14:31 +0900, Sean O’Dell wrote:

I don’t believe the GPL is specific about the library sharing the
same memory space as the linking application; for example, the
library may be linked through a TCP/IP pipe where the application
is running on a different machine than the library is. If the
application links intimately with the GPL library, the application
must also be GPL unless the library is distributed as a normal
part of a development environment or operating system.

Eric Schwartz wrote:

Paul Prescod paul@prescod.net writes:

The discussion was about the use of GPLed components. My point was that
if you use those components you can no longer license it under any terms
you care to and that in turn means that it is not really practical to
“sell” it in the sense of selling the bits. Once you allow
redistribution, someone else can redistribute your code at a price much
lower than your own.

And my point is that they must do so under the terms of the GPL. You
have to offer your code under the GPL as well-- which seem fair to me,
since you’re piggybacking on the work of others who’ve released their
code publicly.

We are in violent agreement.

… But if you want to use non-GPL components, perhaps as
an option, then you can also license your code under any onerous,
nasty, proprietary license you choose.

How can you do so if your code uses a GPL component (which was the
context of the original question)? Once you embed the GPL code, you lose
the right to add an onerous, proprietary license.

Many media projects do this successfully-- I think Ogg Vorbis is
dual-licensable.

Yes, this business model works if a) you do not depened on any GPLed
components and b) you expect your customers to embed the software in
some larger work which they will want to distribute under a non-GPL
license. This would rarely be the case for a word processor, for example.

But the original thread was about a). The poster was afraid of using
GPLed code because they didn’t want to have to GPL their own code.

“”“Specifically, I just happened to look at the source code in DBI.rb
and Oracle.rb and was astonished to discover that these modules are
GPL. Then I quickly found trace.rb, and proxy.rb were GPL as well.”“”
I use Perl and Python to build commercial products for my own company
and for clients. Unfortunately, until Ruby provides a non-GPL
alternative I need to go back to Perl or Python.“”"

Licensing issues tend to become more and more severe as a language ages
and people try to use it for more mission-critical and/or commercial tasks.

Paul Prescod

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stephyn Butcher wrote:

They don’t call GPL a legal virus for nothing:

The problem with the term virus is that it implies malevolence. A
virus imposes itself on its victim without consent. That is not the
spirit of the GPL. The GPL is attached to something that is given away
freely. Likewise, anyone is free to use it, or to choose some other
solution.

If I decide to give you something for free, it is not unreasonable to
ask that you, if you decide to accept and use it, also make any derived
works available with the same freedoms from which you benefitted.

You are, of course, free to decline my offer. That is hardly a virus.

Exactly. The GPL does not impose anything. It sets a condition upon the use a
pice of software. You have two choices: comply with the conditions, or don’t use
it. There is nothing viral about that.

The term ‘viral’ refers to the fact that if you want to use GPLed code, your code
must become GPL. So it spreads. Unlike more flexible licenses,
such as the BSD or Apache licenses, which don’t restrict you in the same way.

I presume that’s why the LGPL exists?

···

On Wed, Jul 09, 2003 at 11:09:07AM +0900, Jim Cain wrote:

You’ve been leading a dog’s life. Stay off the furniture.
Rasputin :: Jack of All Trades - Master of Nuns

Hmmmm…

Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and “any later
version”, YOU HAVE THE OPTION [emphasis mine] of following the terms and
conditions either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of this
License, you may choose any version ever published by the Free Software
Foundation.

So couldn’t you basically ignore GPL3?

Jason Creighton

···

On Thu, 10 Jul 2003 06:18:48 +0900 Austin Ziegler austin@halostatue.ca wrote:

Note that GPL2 says nothing about remote access (e.g., GPLed
programs that are accessed via the web or via SOAP or some other
mechanism); GPL3 is likely to say something about this, although it
will force me to immediately change any software that I own to
“GPL2”, not “GPL2 or later”. If the GPL3 is changed the way that the
Affero licence has been changed, then it truly is viral and
anticommercial.

Paul Prescod paul@prescod.net writes:

Eric Schwartz wrote:

… But if you want to use non-GPL components, perhaps as
an option, then you can also license your code under any onerous,
nasty, proprietary license you choose.

How can you do so if your code uses a GPL component (which was the
context of the original question)? Once you embed the GPL code, you lose
the right to add an onerous, proprietary license.

You can replace the GPL component with a non-GPL component, or
re-license the GPL component under another license. So you see, you
don’t lose the right to add an onerous proprietary license, it’s just
harder to do so than it otherwise might be.

-=Eric

···


Come to think of it, there are already a million monkeys on a million
typewriters, and Usenet is NOTHING like Shakespeare.
– Blair Houghton.

Rasputin wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stephyn Butcher wrote:

They don’t call GPL a legal virus for nothing:

The problem with the term virus is that it implies malevolence. A
virus imposes itself on its victim without consent. That is not the
spirit of the GPL. The GPL is attached to something that is given away
freely. Likewise, anyone is free to use it, or to choose some other
solution.

If I decide to give you something for free, it is not unreasonable to
ask that you, if you decide to accept and use it, also make any derived
works available with the same freedoms from which you benefitted.

You are, of course, free to decline my offer. That is hardly a virus.

Exactly. The GPL does not impose anything. It sets a condition upon the use a
pice of software. You have two choices: comply with the conditions, or don’t use
it. There is nothing viral about that.

The term ‘viral’ refers to the fact that if you want to use GPLed code, your code
must become GPL. So it spreads.

They say good news travels fast, but good news is not a virus.

···

On Wed, Jul 09, 2003 at 11:09:07AM +0900, Jim Cain wrote:

I could. However, remember that the licence on my work doesn’t apply to me – I’m the copyright holder. The licence applies to those whom I give it to. If I have (unlikely) chosen to GPL something, I don’t want to give anyone else the power to say “you’re exposing this software over a network; I therefore have a right to the source code.” That’s what the Affero PL does and what a proposed GPL3 does. It changes the GPL from primarily a programmer’s licence to a use licence as well.

-austin

···

On Fri, 11 Jul 2003 14:49:56 +0900, Jason Creighton wrote:

Austin Ziegler austin@halostatue.ca wrote:

Note that GPL2 says nothing about remote access (e.g., GPLed
programs that are accessed via the web or via SOAP or some other
mechanism); GPL3 is likely to say something about this, although it
will force me to immediately change any software that I own to
“GPL2”, not “GPL2 or later”. If the GPL3 is changed the way that
the Affero licence has been changed, then it truly is viral and
anticommercial.
Hmmmm…

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", YOU HAVE THE OPTION [emphasis mine] of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

So couldn’t you basically ignore GPL3?


austin ziegler * austin@halostatue.ca * Toronto, ON, Canada
software designer * pragmatic programmer * 2003.07.11
* 10:53:53

The problem with the term virus is that it implies malevolence.

To you, maybe.

The term ‘viral’ refers to the fact that if you want to use
GPLed code, your code must become GPL. So it spreads.

They say good news travels fast, but good news is not a virus.

They also say laughter can be infectious, but laughter is not malevolent.

Pithy sayings don’t prove much and are hardly universal. I understood the
OPs meaning when he said the GPL was viral in nature. Did some HONESTLY
not, or are they picking semantic nits?

Rasputin wrote:

You are, of course, free to decline my offer. That is hardly a virus.

Exactly. The GPL does not impose anything. It sets a condition upon
the use a pice of software. You have two choices: comply with the
conditions, or don’t use it. There is nothing viral about that.

The term ‘viral’ refers to the fact that if you want to use GPLed code,
your code must become GPL. So it spreads.

They say good news travels fast, but good news is not a virus.

Yeah, but if I hear good news, I can choose to pass it on.

I’m not a lawyer, so I prefer BSD, because it’s truly free.
It has no strings other than ‘give credit where it’s due’.
GPLs ‘might/might not be free in your situation’ is too much hassle.

If I spend the effort to write code, I think I should be allowed to
choose what to do with it, rather than leave that choice to the author
of a library I used. That’s not free in my book.

Sorry if that’s seen as a troll, let’s knock this on the head now.

···


Egotism is the anesthetic given by a kindly nature to relieve the pain
of being a damned fool.
– Bellamy Brooks
Rasputin :: Jack of All Trades - Master of Nuns

Rasputin wrote:

Rasputin wrote:

You are, of course, free to decline my offer. That is hardly a virus.

Exactly. The GPL does not impose anything. It sets a condition upon
the use a pice of software. You have two choices: comply with the
conditions, or don’t use it. There is nothing viral about that.

The term ‘viral’ refers to the fact that if you want to use GPLed code,
your code must become GPL. So it spreads.

They say good news travels fast, but good news is not a virus.

Yeah, but if I hear good news, I can choose to pass it on.

Right, and if you come across a GPLed library, you can choose whether
to use it.

This is exactly what people get wrong about the GPL!!!
The GPL does NOT inhibit your ability to choose what to do with your
work!!

The GPL does NOT change the license of your work. It is simply not
possible for copyright law to do that, and the GPL doesn’t try to. The
GPL will NOT alter the license of your work.

You are given a library and you are allowed to use it under certain
conditions. You have a choice. Either comply, or don’t use it. If you
“mistakely” break the license (e.g. by including some of it’s code into
your programs) your work does not suddenly change license. It’s still
yours and you choose what to do with it. Rather, you are in violation of
the GPL license, and if you don’t like the GPL terms you should remove the
relevant code.


Daniel Carrera | OpenPGP fingerprint:
Graduate TA, Math Dept | 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88
UMD (301) 405-5137 | http://www.math.umd.edu/~dcarrera/pgp.html

···

On Thu, Jul 10, 2003 at 01:29:05AM +0900, Rasputin wrote:

If I spend the effort to write code, I think I should be allowed to
choose what to do with it, rather than leave that choice to the author
of a library I used. That’s not free in my book.

I’m not sure what you mean by your question. I honestly interpret
malevolence in the term “viral”. And I honestly think that the term viral
is very incorrect (even if you remove the malevolence bit). I honestly
believe that the GPL does not share any resemblance to a virus.

Does any of this answer your question? Or did I misinterpret it?


Daniel Carrera | OpenPGP fingerprint:
Graduate TA, Math Dept | 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88
UMD (301) 405-5137 | http://www.math.umd.edu/~dcarrera/pgp.html

···

On Thu, Jul 10, 2003 at 12:02:01AM +0900, Michael Campbell wrote:

Pithy sayings don’t prove much and are hardly universal. I understood the
OPs meaning when he said the GPL was viral in nature. Did some HONESTLY
not, or are they picking semantic nits?