Problem using Ruby as script language, which limits its distribution speed

I am (or was) a big fan of ruby (except some unexpected function names, but
who cares <g>).

Now I need to write a text filter in a commercial application. In the last
one or two years I've become accustomized using Ruby and its advantages, but
now I see that using Ruby in a commercial application is not failsafe legal,
thus I can/may not use it.

This means I have to learn another script language, although I don't like
to.

This also means that I will have to give up Ruby more and more, as I cannot
handle too many languages (Delphi, C/Cpp, Ruby and a new one - it's already
complicated enough). And I guess that happens to other developers as well,
thus effectively keeping the number of Ruby developers less than it could
be. I doubt I'm alone with that problem.

Is there an official statement on Ruby and commercial usage? I know LICENSE
and it is neither bulletproof (the "exceptions" in the file list, see LEGAL,
give our legal department heartaches) nor does it state clearly whether it's
allowed to use the library (*.DLL in my Windows' case) alone - which in my
case would be sufficient - I don't need to compile any C source code, I just
want to be able to evaluate a .rb script.

If commercial developers could use it, they would contribute [more], as for
when they need to add functionality, this could/should be published for all
users. Being able to use the language as an extension (like a DLL) will
improve the spreading and usage of Ruby.

So again: Is there an official statement on Ruby and commercial usage which
a legal department can accept?

Christian

Hi,

Is there an official statement on Ruby and commercial usage? I know LICENSE
and it is neither bulletproof (the "exceptions" in the file list, see LEGAL,
give our legal department heartaches) nor does it state clearly whether it's
allowed to use the library (*.DLL in my Windows' case) alone - which in my
case would be sufficient - I don't need to compile any C source code, I just
want to be able to evaluate a .rb script.

No license in LEGAL file should stop you from using Ruby in the
commercial applications. No obligation but honoring copyrights, in
different expression unfortunately. The only exception is LGPL
applied to regex.[ch], which may cause problem when it requests
re-linking of your application. But it can be easily avoided by
replacing it by Oniguruma (new regex engine). A company in Japan
embedded Ruby 1.8.1 interpreter (with Oniguruma) in its commercial
role playing game generator, just released this month of July.

              matz.

···

In message "Problem using Ruby as script language, which limits its distribution speed" on 04/07/15, "Christian Kaiser" <bchk@gmx.de> writes:

I am (or was) a big fan of ruby (except some unexpected function names, but
who cares <g>).

Now I need to write a text filter in a commercial application. In the last
one or two years I've become accustomized using Ruby and its advantages, but
now I see that using Ruby in a commercial application is not failsafe legal,
thus I can/may not use it.

What do you mean by 'failsafe legal'?

This means I have to learn another script language, although I don't like
to.

This also means that I will have to give up Ruby more and more, as I cannot
handle too many languages (Delphi, C/Cpp, Ruby and a new one - it's already
complicated enough). And I guess that happens to other developers as well,
thus effectively keeping the number of Ruby developers less than it could
be. I doubt I'm alone with that problem.

Is there an official statement on Ruby and commercial usage? I know LICENSE
and it is neither bulletproof (the "exceptions" in the file list, see LEGAL,
give our legal department heartaches) nor does it state clearly whether it's
allowed to use the library (*.DLL in my Windows' case) alone - which in my
case would be sufficient - I don't need to compile any C source code, I just
want to be able to evaluate a .rb script.

Depends on what you're using Ruby for in your application. The current
regex engine is GPL, however Onigumura (sp?) the new regex engine (I
believe it's included in the 1.9.0 source now) is LGPL and so has less
restrictions. So you may just have to replace the current regex engine
with Onigumura (aka the new regex engine :wink:

If commercial developers could use it, they would contribute [more], as for
when they need to add functionality, this could/should be published for all
users. Being able to use the language as an extension (like a DLL) will
improve the spreading and usage of Ruby.

So again: Is there an official statement on Ruby and commercial usage which
a legal department can accept?

Yes (well it depends a lot on how you want to use Ruby in your
application).

In fact at my previous job we used Ruby to script some installation
issues on a CD. So we included Ruby on the CD as well as our scripts for
doing the install checks. The user ends up running a Ruby script after
the CD is inserted in their system (well, it's a lot more convoluted
than that, but I don't want to go into all the details) We passed all of
this by legal and it was approved.

[Just a side note: This CD I refer to is put out by a large microprocessor
company (I'm sure you'd recognize the name). It is an evaluation CD of
compilers & libraries optimized for their processors. Sometimes these CDs
get distributed with Dr. Dobb's Journal and other programming mags. It
now has Ruby on it :wink: ]

In your case it would seem that you want to use Ruby as a DLL - that's
certainly different than the way we were using Ruby. However, I think if
you were to replace the current regex engine with the new LGPL'ed regex
engine you probably would have no legal difficulties with using Ruby as a
DLL or shared library.

Phil

···

In article <cd63i5$gmm$1@online.de>, Christian Kaiser <bchk@gmx.de> wrote:

Sorry, what do you mean "in different expression unfortunately"?

And AFAIK, the LGPL allows using of libraries with LGPLed code in them, so
when I link to the Ruby DLL only, there should not be any problem. Microsoft
states " The LGPL allows software programs to link to, or 'call,' programs
governed by the LGPL without running the risk of subjecting the calling
program to the GPL". Anyway, I'll look into Oniguruma, but I'd better not
recompile Ruby unless I need to.

Thanks for your answer, you're giving me hope!!! :slight_smile: I "just" have to
convince the lawyers...

Christian

"Yukihiro Matsumoto" <matz@ruby-lang.org> schrieb im Newsbeitrag
news:1089905598.192198.16016.nullmailer@picachu.netlab.jp...

Hi,

>Is there an official statement on Ruby and commercial usage? I know

LICENSE

>and it is neither bulletproof (the "exceptions" in the file list, see

LEGAL,

>give our legal department heartaches) nor does it state clearly whether

it's

>allowed to use the library (*.DLL in my Windows' case) alone - which in

my

>case would be sufficient - I don't need to compile any C source code, I

just

···

In message "Problem using Ruby as script language, which limits its distribution speed" > on 04/07/15, "Christian Kaiser" <bchk@gmx.de> writes:
>want to be able to evaluate a .rb script.

No license in LEGAL file should stop you from using Ruby in the
commercial applications. No obligation but honoring copyrights, in
different expression unfortunately. The only exception is LGPL
applied to regex.[ch], which may cause problem when it requests
re-linking of your application. But it can be easily avoided by
replacing it by Oniguruma (new regex engine). A company in Japan
embedded Ruby 1.8.1 interpreter (with Oniguruma) in its commercial
role playing game generator, just released this month of July.

matz.

Phil,

>Now I need to write a text filter in a commercial application. In the

last

>one or two years I've become accustomized using Ruby and its advantages,

but

>now I see that using Ruby in a commercial application is not failsafe

legal,

>thus I can/may not use it.

What do you mean by 'failsafe legal'?

That means that it passes our legal department, so that they can say we are
allowed to use Ruby for our purpose - embedding a ruby DLL into a small
application (actually I could use rubyw.exe, but to protect our script I
need to create something like rubyw.exe but which decrypts our script before
passing it to the ruby engine).

It's just a "script in, source file in, processed file out"-type of
application. But either I use the DLL or I need to compile the lib - both
not clearly stated what I need to do.

The lawyers fear that we need to pass all the files on to the user (which
would by itself not be an absolute no-no), but then we would need to look at
all files, make sure all of them can be copied legally, and so on; add all
the copyright information to our own terms of use. Lawyers are payed for
looking danger in every corner, but I need to accept their statement.

Right now they said that it's not clear that we can use Ruby at all.

>Is there an official statement on Ruby and commercial usage? I know

LICENSE

>and it is neither bulletproof (the "exceptions" in the file list, see

LEGAL,

>give our legal department heartaches) nor does it state clearly whether

it's

>allowed to use the library (*.DLL in my Windows' case) alone - which in

my

>case would be sufficient - I don't need to compile any C source code, I

just

>want to be able to evaluate a .rb script.

Depends on what you're using Ruby for in your application. The current
regex engine is GPL, however Onigumura (sp?) the new regex engine (I
believe it's included in the 1.9.0 source now) is LGPL and so has less
restrictions. So you may just have to replace the current regex engine
with Onigumura (aka the new regex engine :wink:

The old RegEx is already under LGPL, so then there would be no difference. I
assume Oniguruma is free. LGPL _should_ be no problem for us (it allows
linking to an executable or library that is under LGPL without restriction,
which we would do), but nobody can tell for sure.

But you see what I mean, if you write "you may have to"... It is not stated
clearly what can be done. And in these days where a lawyer is behind the
next corner, waiting for something to do, this is just too dangerous.
Software-patent-issues that will grow more and more add to the threat, but
that's another story and unrelated to Ruby (I hope).

>So again: Is there an official statement on Ruby and commercial usage

which

>a legal department can accept?

Yes (well it depends a lot on how you want to use Ruby in your
application).

Again a "depends" :)))

In fact at my previous job we used Ruby to script some installation
issues on a CD. So we included Ruby on the CD as well as our scripts for
doing the install checks. The user ends up running a Ruby script after
the CD is inserted in their system (well, it's a lot more convoluted
than that, but I don't want to go into all the details) We passed all of
this by legal and it was approved.

So this is because you use the EXE, not the DLL, I assume.

In your case it would seem that you want to use Ruby as a DLL - that's
certainly different than the way we were using Ruby. However, I think if
you were to replace the current regex engine with the new LGPL'ed regex
engine you probably would have no legal difficulties with using Ruby as a
DLL or shared library.

Yes, but you also seem to be unsure about these issues... "you _probably_
would have no legal difficulties". That's what I want to show: it's really
hard as it is now, to be sure of the legal issues of commercial use. Which
as a single one-man-show developer would stop me from using it as I have no
lawyers. Some of them will ignore the problems, and some will use a
different script language - the latter bad for Ruby and its acceptance.

I don't blame Matz - he mabe did not have an alternative to the old regex
(and other files mentioned in LEGAL), or he did not care, but this is an
issue that should be taken care of.

Thank you,

Christian

Depends on what you're using Ruby for in your application. The current
regex engine is GPL, however Onigumura (sp?) the new regex engine (I

No it's not, it's LGPL (don't know why so many people believe so).

believe it's included in the 1.9.0 source now) is LGPL and so has less
restrictions. So you may just have to replace the current regex engine
with Onigumura (aka the new regex engine :wink:

Oniguruma is subject to Ruby's license when used with Ruby.

···

On Fri, Jul 16, 2004 at 02:52:18AM +0900, Phil Tomson wrote:

--
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com

snafu = Situation Normal All F%$*ed up

Hi,

The lawyers fear that we need to pass all the files on to the user (which
would by itself not be an absolute no-no), but then we would need to look at
all files, make sure all of them can be copied legally, and so on; add all
the copyright information to our own terms of use. Lawyers are payed for
looking danger in every corner, but I need to accept their statement.

Right now they said that it's not clear that we can use Ruby at all.

[...]

The old RegEx is already under LGPL, so then there would be no difference. I
assume Oniguruma is free. LGPL _should_ be no problem for us (it allows
linking to an executable or library that is under LGPL without restriction,
which we would do), but nobody can tell for sure.

"I am not a lawyer".. etc... But...

I'm trying to understand what it is that "nobody can tell
for sure." Do you mean that nobody can tell for sure what
the LGPL allows?

Yes, but you also seem to be unsure about these issues... "you _probably_
would have no legal difficulties". That's what I want to show: it's really
hard as it is now, to be sure of the legal issues of commercial use. Which
as a single one-man-show developer would stop me from using it as I have no
lawyers. Some of them will ignore the problems, and some will use a
different script language - the latter bad for Ruby and its acceptance.

I'm confused. Are you suggesting that you need a staff of
lawyers to feel comfortable using LGPL code?

I don't blame Matz - he mabe did not have an alternative to the old regex
(and other files mentioned in LEGAL), or he did not care, but this is an
issue that should be taken care of.

Matz definitely cared... It's one of his stated reasons for
wanting a new regexp engine, so it could be under Ruby's
license, which is even less restrictive than LGPL.

But even so - LGPL code is used in commercial (closed source)
apps all the time, via dynamic linking. That's the whole
point of the LGPL as I understand it.

Still unclear on what it is that you're asserting needs to
be "taken care of".

Regards,

Bill

···

From: "Christian Kaiser" <chk@online.de>

Christian Kaiser wrote:

Phil,

Now I need to write a text filter in a commercial application. In the

last

one or two years I've become accustomized using Ruby and its advantages,

but

now I see that using Ruby in a commercial application is not failsafe

legal,

thus I can/may not use it.

What do you mean by 'failsafe legal'?

That means that it passes our legal department, so that they can say we are
allowed to use Ruby for our purpose - embedding a ruby DLL into a small
application (actually I could use rubyw.exe, but to protect our script I
need to create something like rubyw.exe but which decrypts our script before
passing it to the ruby engine).

It's just a "script in, source file in, processed file out"-type of
application. But either I use the DLL or I need to compile the lib - both
not clearly stated what I need to do.

The lawyers fear that we need to pass all the files on to the user (which
would by itself not be an absolute no-no), but then we would need to look at
all files, make sure all of them can be copied legally, and so on; add all
the copyright information to our own terms of use. Lawyers are payed for
looking danger in every corner, but I need to accept their statement.

Right now they said that it's not clear that we can use Ruby at all.

Is there an official statement on Ruby and commercial usage? I know

LICENSE

and it is neither bulletproof (the "exceptions" in the file list, see

LEGAL,

give our legal department heartaches) nor does it state clearly whether

it's

allowed to use the library (*.DLL in my Windows' case) alone - which in

my

case would be sufficient - I don't need to compile any C source code, I

just

want to be able to evaluate a .rb script.

Depends on what you're using Ruby for in your application. The current
regex engine is GPL, however Onigumura (sp?) the new regex engine (I
believe it's included in the 1.9.0 source now) is LGPL and so has less
restrictions. So you may just have to replace the current regex engine
with Onigumura (aka the new regex engine :wink:

The old RegEx is already under LGPL, so then there would be no difference. I
assume Oniguruma is free. LGPL _should_ be no problem for us (it allows
linking to an executable or library that is under LGPL without restriction,
which we would do), but nobody can tell for sure.

But you see what I mean, if you write "you may have to"... It is not stated
clearly what can be done. And in these days where a lawyer is behind the
next corner, waiting for something to do, this is just too dangerous.
Software-patent-issues that will grow more and more add to the threat, but
that's another story and unrelated to Ruby (I hope).

So again: Is there an official statement on Ruby and commercial usage

which

a legal department can accept?

Yes (well it depends a lot on how you want to use Ruby in your
application).

Again a "depends" :)))

In fact at my previous job we used Ruby to script some installation
issues on a CD. So we included Ruby on the CD as well as our scripts for
doing the install checks. The user ends up running a Ruby script after
the CD is inserted in their system (well, it's a lot more convoluted
than that, but I don't want to go into all the details) We passed all of
this by legal and it was approved.

So this is because you use the EXE, not the DLL, I assume.

In your case it would seem that you want to use Ruby as a DLL - that's
certainly different than the way we were using Ruby. However, I think if
you were to replace the current regex engine with the new LGPL'ed regex
engine you probably would have no legal difficulties with using Ruby as a
DLL or shared library.

Yes, but you also seem to be unsure about these issues... "you _probably_
would have no legal difficulties". That's what I want to show: it's really
hard as it is now, to be sure of the legal issues of commercial use. Which
as a single one-man-show developer would stop me from using it as I have no
lawyers. Some of them will ignore the problems, and some will use a
different script language - the latter bad for Ruby and its acceptance.

I don't blame Matz - he mabe did not have an alternative to the old regex
(and other files mentioned in LEGAL), or he did not care, but this is an
issue that should be taken care of.

Thank you,

Christian

A semi-secure way to distribute ruby scripts to customers/users would be highly desireable for commercial applications. After all, even compiled c/c++ apps can be reverse-engineered with enough time/effort.

Are you planning to open-source the secure interpretation portion? You might find a smart volunteers to contribute effort. And having extra eyes on it would certainly make it more secure so your company would benefit too.

Whether you choose symetric/public key encryption or simple obfuscation, I think there's strong demand for this (just look at commercial perl or java obfuscator products & pricing).

Hi,

Sorry, what do you mean "in different expression unfortunately"?

Most licenses in the LEGAL file state that "the author wants you to
honor his copyright" in the different words.

And AFAIK, the LGPL allows using of libraries with LGPLed code in them, so
when I link to the Ruby DLL only, there should not be any problem. Microsoft
states " The LGPL allows software programs to link to, or 'call,' programs
governed by the LGPL without running the risk of subjecting the calling
program to the GPL". Anyway, I'll look into Oniguruma, but I'd better not
recompile Ruby unless I need to.

Additional information that may give you more hope:

  * the core interpreter is covered by the single license but regex
    engine (LGPL). But you can even replace regex engine to avoid
    LGPL.

  * Ruby will not include any software that covered by the license
    that force you to open your source.

              matz.

···

In message "Re: Problem using Ruby as script language, which limits its distribution speed" on 04/07/16, "Christian Kaiser" <bchk@gmx.de> writes:

In article <20040715222135.GA15628@student.ei.uni-stuttgart.de>,

Depends on what you're using Ruby for in your application. The current
regex engine is GPL, however Onigumura (sp?) the new regex engine (I

No it's not, it's LGPL (don't know why so many people believe so).

believe it's included in the 1.9.0 source now) is LGPL and so has less
restrictions. So you may just have to replace the current regex engine
with Onigumura (aka the new regex engine :wink:

Oniguruma is subject to Ruby's license when used with Ruby.

Sorry, I had it kind of backwards. I guess the old regex engine is
already under LGPL (which makes me wonder again why there is a problem
with it?) and the new regex engine (Onigumura) is under the Ruby license
which is even less restrictive than LGPL.

I guess the main worry with some interpretations of the LGPL is that if
you dynamically link to an LGPL module it could subject the rest of your
code to the LGPL. I think this may vary from project to project. Some
projects like FLTK which is under LGPL explicitly state that you cannot
use a dynamically linked FLTK with closed-source software - you can
statically link with it, however, which seems rather odd to me. ( Perhaps
if you statically linking Ruby to your application is another option?)

At any rate, if he gets rid of the old regex engine and replaces it with
Onigumura he should be safe using Ruby as a dll or shared lib.

Maybe this would be a good project for the Ruby Foundation (is that what
it's called?) after they get their non-profit status. They could hire a
lawyer to look into these issues and issue a definitive statement. This
issue comes up periodically, so maybe it would be worth $1000 or so to
clear it up. Or, perhaps the EFF or some similar organization would be
willing to lend some pro-bono help in looking into this.

Phil

···

Mauricio Fernández <batsman.geo@yahoo.com> wrote:

On Fri, Jul 16, 2004 at 02:52:18AM +0900, Phil Tomson wrote:

> Right now they said that it's not clear that we can use Ruby at all.

"I am not a lawyer".. etc... But...

I'm trying to understand what it is that "nobody can tell
for sure." Do you mean that nobody can tell for sure what
the LGPL allows?

Concerning Ruby, there's a problem.

a) Ruby is GPL, or

b) it's under Ruby license, but then

c) some files have other copyrights (Regex is only one of them, but if I
read the LEGAL file correctly, it's not only the regex engine we need to
care about).

So it's (c) which gives them problems.

I know that a lot of people use it, but given only COPYING and LEGAL, it's
not as clear to know what can be done and where potential problem lies.

I'm confused. Are you suggesting that you need a staff of
lawyers to feel comfortable using LGPL code?

If it were only LGPL, I would not (anyway, I don't need that staff and I
would gladly hit them anywhere where it hurts - but the firm I work for).

> I don't blame Matz - he mabe did not have an alternative to the old

regex

> (and other files mentioned in LEGAL), or he did not care, but this is an
> issue that should be taken care of.

Matz definitely cared... It's one of his stated reasons for
wanting a new regexp engine, so it could be under Ruby's
license, which is even less restrictive than LGPL.

And about the other files?

And what about derivative work? When we use Ruby in a commercial tool, and
mention the copyright of the ruby parts, and others use our tool - do they
have to mention the ruby copyrights also? These convoluted thoughts are the
things lawyers think about all the time.

Thanks for your help!

Christian

Phil,

Maybe this would be a good project for the Ruby Foundation (is that what
it's called?) after they get their non-profit status. They could hire a
lawyer to look into these issues and issue a definitive statement. This
issue comes up periodically, so maybe it would be worth $1000 or so to
clear it up. Or, perhaps the EFF or some similar organization would be
willing to lend some pro-bono help in looking into this.

Yes, we would contribute. Ruby saves an enormous amount of work (which
script language is that object oriented and has such regex capabilities
built-in), so we would actually pay $$$ to have an official valid statement
that we can use ruby as intended. I assume it will even be cheaper than our
lawyer's work for that topic until now.

Christian