On Tue, Mar 9, 2010 at 10:09 PM, Walton Hoops <walton / vyper.hopto.org>wrote:

> On 3/9/2010 12:20 PM, Aytug Gurbuz wrote:
> > I write scripts under Linux using Ruby.
> >
> > It wouldn't matter releasing the code as long as the code is MINE.
> > However, if I develop software for a company, and if a rival gets a hold
> > of the code; you can consider me fired.
> >
> > So what are the options?
> >
> > I believe JRuby or IronRuby hide the code right? I haven't used these,
> > so please inform me.
> >
> > What about Ruby2Exe? Is it any good? Would it please Windows users?
> >
> > What about closing the code in UNIX or Linux?
> >
> > Thanks!
> >
> I don't about Ruby2Exe, as I understand it, it's been replaced by OCRA,
> which I've had good luck with. Of course, with both of them, it's not
> going to be very difficult for someone with a little bit of knowledge to
> extract the code.  Of course even technologies built on Java or .NET are
> fairly easy to reverse with a little knowledge (Or written in C for that
> matter).  I guess the real question is why in the world would you
> release your code to a rival?  Suffice it to say, if you have someone
> actively trying to steal your code, there is no programming language
> that will stop them.  There are tools that can help make it more
> difficult, but it's always possible by someone sufficiently knowledgeable.
>
>
The question of obfuscating code comes up a lot here. One of the more
reasonable desires for it is to stop a client tinkering with it, or
otherwise
control how it is updated with respect to support etc. I am sure python,
perl,Tcl mailing lists are full of this too.

Generally people are happy with packaging solutions, where the source is
not sitting on the file system and so cannot be tinkered with and repackaged
easily. JRuby offers a few options here with Rawr possibly, and Warbler
allows
you to create self contained Rails apps that are indistinguishable from
regular
java WAR files. Crate is another packaging solution that I have heard of
that
may be useful.

Once you are distributing your code, these options will only hide your code
from casual snooping. A determined individual will be able to unpackage the
application, inspect the code and repackage it. Signing the package may
provide some options to help you control this problem, but it wont hide
your source.

As to why Ruby source is being singled out in this case I don't know. Aytug,
if your employer takes a hard line on this, my sympathies. My experience on
this
is that naive false assumptions on how 'protected' the source is by language
can only rarely be undone. Its usually an emotive problem.

regards,
Richard





-- 
http://richardconroy.blogspot.com