Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm asking this after reading a SO question where the OP asked for help decoding obfuscated code, which looks like it belongs to a closed-source company.

The OP's client is saying "I don't know the full legal particulars of the contract (if there was one) for the code development. They claim it was fully paid for and released to them. If the code development was completely outside the scope and use of Ioncube, then it's debatable if it is unethical. "

To me the whole thing stinks of: the client bought the product and hired the OP to decode it, but either doesn't understand he didn't buy a licence to modify, distribute, reverse engineer, or reproduce the software. But it's easy to just accept a job and say "whatever" to these sorts of things, but there is room for this to be legit.

What considerations should we take to ensure we're doing the right thing, and furthermore protect ourselves?

share|improve this question
And how did CW contribute to this question? – TheLQ Oct 8 '10 at 2:50
I know it's being discussed… ... I'm opening it up to let other people edit or expand on this. – Incognito Oct 8 '10 at 3:03
up vote 7 down vote accepted

Technically, as a programmer, you're not a member of a professional society, and hence aren't bound by any specific code of ethics, so there's not much risk in just going ahead and doing what they ask (it's Somebody Else's Problem).

Practically, if you want to be taken seriously in your work, then you'll probably want to adopt something similar to the engineering code of ethics, which includes, among other things, taking any and all steps necessary to ensure that the not only the work you do but the work your clients do is complying with the law.

If it were me, and the client says they own all rights to the product (including decompilation/reverse engineering/etc.) then I would ask to see "legal particulars of the contract." Surely the section in question could not be more than a few paragraphs, so it's not like I'd be asking for all sorts of confidential business information - just snip out the part where it says you have those rights.

And if a client claims something that is legally questionable but is unable or unwilling to produce evidence to back it up - then be very, very suspicious careful.

share|improve this answer
You don't bind yourself to your own personal code of ethics? You need a watchdog group hounding you in order to know right from wrong? – John Dibling Oct 7 '10 at 20:01
@John: Could you point me to where exactly I said that? – Aaronaught Oct 7 '10 at 20:23
I also think serious professinal won't go into that kind of stuff – user2567 Oct 7 '10 at 20:46
"you're not a member of a professional society, and hence aren't bound by any specific code of ethics" – John Dibling Oct 7 '10 at 20:57
@John: And in what way does that statement imply that one shouldn't practice their own ethics? Did you read the rest of the answer, or just the first paragraph? – Aaronaught Oct 7 '10 at 21:07

There's both legal and ethical issues, so I'll tackle them separately.

In US law, there's nothing personally criminal in copyright violation, it's mostly civil law, which means that somebody gets sued, not prosecuted. Keep solid evidence that you're being told to do what you're doing by superiors, and it's a corporate action and the company gets sued, not you. You're almost certainly off the hook, legally. Be aware that I'm not a lawyer, this isn't legal advice, and you shouldn't rely on what I say about the law for anything. Moreover, other countries have different legal systems, and I know little or nothing about how this would apply in them.

Ethics is a stickier matter, and Aaronaught has already said useful things. There is no widespread professional certification in programming, so you are literally on your own ethically. What to do depends on your personal ethics, any ethical code your company actually takes seriously, how much you're respected, how much you need that particular job, etc.

share|improve this answer
Copyright in USA and Canada does include criminal violations. Section 42 of the Canadian Copyright Act. Check for US law. I suspect EU is similar. – mctylr Jan 13 '11 at 18:19
I believe most every labour laws (codes) legally allow an employee to refuse duties that would mean the employee would have to commit a crime or participate in illegal / unlawful activities. – mctylr Jan 13 '11 at 18:21
It might be more accurate to say that there's almost never anything personally criminal found in corporate dealings like this, and that the criminal parts of copyright law usually don't show up in cases like this. Again, don't rely on what I say if you're worried about it; in the US, the local Bar Association can probably set you up with a short session with a lawyer of appropriate specialty quite reasonably. – David Thornley Jan 13 '11 at 18:46

I'm not sure there are any measures to take. It happens both ways in the real world.

Where I work we bought the source code with a large million dollar software product, so we have the right to play around with it. So it does happen.

share|improve this answer
But if you buy the source code, you usually get access to the source code (surprise surprise). Compare this with "reverse engineering obfuscated code" as in the OP. While it may happen in same cases that a company has the rights to an application without source code, but that's relatively rare. – CodesInChaos Sep 29 '14 at 14:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.