James Britt
9/24/2008 6:41:00 PM
Dido Sevilla wrote:
> On Tue, Sep 23, 2008 at 2:43 PM, Sasha Bee <rubyman77@gmail.com> wrote:
>> We are just starting a new project and it is going to be a commercial
>> application. So we have a reasonable question now - how can we protect
>> our code? I have searched the web but found nothing really useful. Can
>> anyone suggest any solutions or ideas about code protection for Ruby?
>
> Call a good lawyer. Have the lawyer draft a contract that everyone
> who buys your application must sign before receiving your code. The
> contract should state that they must not reverse engineer your
> application or look at the code. Hold them to it, and sue them if you
> ever find any evidence of them breaching your contract.
>
You run the risk of having your customers feel that you consider them
criminals-in-the-making (See: MPAA and RIAA for classic examples).
> Seriously, there is no real way to prevent people from trying to
> reverse engineer your code if they are really determined to do so.
> Everything you try to do to prevent this will only make it more
> complicated, but anyone determined enough will eventually succeed. All
> technological schemes are eventually doomed to failure, your only real
> recourse is legal.
Or not. You *could* accept that a small number of people will do bad
things, but that most folks won't, and especially if there's even a
moderate barrier to pirating or reverse engineering. And if and when
someone does do something bad, weigh the cost of legal action (both in
terms of dollars and in PR) and maybe consider it a cost of doing business.
If you make it hard or onerous to buy or use a product, you may
inadvertently encourage people to use a pirated version (as seems to be
the case with Spore).
When looking to prevent pirating or reverse engineering, consider *why*
people might even bother to do that (e.g. pricing, annoying product
activation scheme, DRM, etc.), and consider that maybe legal action and
technology are not always the best solution.
--
James Britt
www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff