Let's say I have propriety software which I recreate using solely my observations of its user interface, input and output.

I recreate this software to near-perfection leaving out only trademark icons and symbols.

Then, I publish the source code of my rewritten version of the software, under a different name to the original program, on GitHub (or something similar).

Does the owner of the original software have grounds to sue me or make me take my code down from GitHub? Is this still considered reverse-engineering even though I haven't disassembled the original binary or accessed the original source code in any way?

migrated from programmers.stackexchange.com May 3 '16 at 1:55

This question came from our site for professionals, academics, and students working within the systems development life cycle.

  • 3
    Ask a lawyer, not the internet. We don't know the laws where you live or how your exact circumstances factor in to whether what you are doing is legal or not. – Becuzz May 2 '16 at 18:04
  • 2
    There's really two parts to this question. Is it legal, and are you likely to have to deal with a legal battle. The answers to those two questions are not always the same. – Steven Burnap May 2 '16 at 18:05
  • Are we assuming they don't have a patent? Amazon's one-click comes to mind. Not hard to reverse engineer, but Apple paid them for the right anyway. I'm guessing it's not cheap. In Europe, Amazon didn't get a patent. – JeffO May 2 '16 at 18:09
  • 4
    I'm voting to close this question as off-topic because it requires the expert advice of an IP attorney in an unknown jurisdiction, as opposed to programmers' knowledge of IP and licensing. – user385 May 2 '16 at 18:44
  • 1

What you're talking about is called black-box reverse engineering. It can be done, and as long as you are meticulous in your record keeping the fact that it has been done should be an appropriate defence against copyright infringement. But that doesn't help against patent claims - while in copyright cases the fact that code has or has not been directly copied is critical, in patent cases it its irrelevant: if you use a patented method, it's a violation. You therefore will need to be careful about any patents that may have been issued to the original author, as well as avoiding copying.

  • 1
    It doesn't help against being sued and suffering major cost. And you can lose a lawsuit even if you are in the right. – gnasher729 May 2 '16 at 21:49
  • @gnasher729 - I don't know about you, but I have legal expenses insurance that would cover me for my reasonable costs if I am sued (and, in the reasonable opinion of my insurers' lawyers have a fair chance to win). Such insurance is not expensive, and I would hope most independent software developers have it. – Jules Jul 14 '16 at 10:17

"Does the owner of the original software have grounds to sue me?" You are asking the wrong question. The question should be: Can or will the owner of the original software sue me? Answer: Yes, they can. And yes, they will, if they are sufficiently upset with what they are doing.

They can send a DMCA notice and your work will be taken down. Sending a DMCA notice is legal if they reasonably believe that you are infringing their copyright, which they arguably will.

Whether what you are doing legally is right or wrong, it will either be ineffective and nobody cares, or it will hurt them, and then they will hurt you.

And please answer me this: Why? Why on earth would you do this? If you are successful, the result will be a bankrupt company, a lot of unemployed people, a lot of customers out in the rain with no support. Not that believe you have a chance to succeed, but that's what the result would be.

  • "If you are successful, the result will be a bankrupt company, a lot of unemployed people, a lot of customers out in the rain with no support." That's the way it is with competition in the marketplace. While that company goes under all of society now can benefit from the software instead of just the company owners. You're basically arguing against ever trying to enter an existing marketplace. – whatsisname May 2 '16 at 22:25
  • 3
    " Why? Why on earth would you do this?" Well if you are Compaq/Dell/HP you get to build a $Bn business from re-implementing the IBM PC bios – Martin Beckett May 3 '16 at 1:15
  • Well, whatsisname, society benefits while people lose their jobs and customers lose support, so how does society benefit? If you don't charge, you are not competing. It's called "dumping". – gnasher729 May 3 '16 at 12:21
  • it's only dumping if the OP is planning to drive competitors out then control pricing. The OP makes it sound as though he wants to publish it as FOSS software, so therefore he'd have no price setting power. What is it unethical to make facebook when it resulted in the extinction of myspace? – whatsisname May 3 '16 at 15:40

You can do it, but you face the following issues:

  • Everyone can sue anyone else. On paper the case is in your favor, but not strongly enough that you can win without hiring an expensive defense team.
  • Patents, although they are only an issue if you live or do business in one of the very few countries where software patents are valid.
  • Copyright: Oracle sued Google because they copied an API, you're intending to copy a user interface.
  • Trademark infringement: You might screw up with the naming or advertisement of the product.
  • Third parties that host the code can and will be bullied into removing it, so you'll either need to host it yourself or look into something like torrents.
  • An influential group with a strong lobby can convince police to break the law while pursuing you, as has happened repeatedly in various torrent-related cases.
  • A strongly offended party might consider using means from the legal grey zone, such as DDoS attacks, or sending mobsters to pay you a friendly visit.
  • Last but not least, a very strongly offended party might consider using means from beyond the legal grey zone, such as death threats, SWATting, or sending mobsters to pay you an unfriendly visit.

The last 3 points sound like a joke, but they are a serious concern. In the eyes of the offended party your actions may have destroyed them several $100,000 (or more), which may encourage them to seek justice even if courts do not provide it.


I worked for a company that had a lot of patents. You cant copyright lines of code but you can take a patent on a algorithm that solves a certain problem.

Code that is written in a company for a certain reason, for example vhdl-code for a FPGA (Xilinx, Altera etc) cant be copied from a company and sold to another company without permission. They can sue you. Code of that kind is copyrighted.

But you can buy code of course. It is called IP "Intellectual Property"

  • Thanks Olan. However, I'm specifically referring to the case where reproduction of the program is done without knowing the algorithms or code used in the original program. – Dziugas May 2 '16 at 18:55
  • 2
    You can infringe upon the company's patent without knowing any details of their patent, or even knowing it exists. Independent creation is no defense there. – kbelder May 3 '16 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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