copyright
Can software be legally rewritten if the original source code is not used?
<p>Let's say I have propriety software which I recreate using solely my observations of its user interface, input and output.</p>

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

<p>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).</p>

<p>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?</p>

<p>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.</p>

<p>"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. </p>

<p>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. </p>

<p>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. </p>

<p>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. </p>

<p>You can do it, but you face the following issues:</p>

<ul>
<li>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.</li>
<li>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.</li>
<li>Copyright: Oracle sued Google because they copied an API, you're intending to copy a user interface.</li>
<li>Trademark infringement: You might screw up with the naming or advertisement of the product.</li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
</ul>

<p>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.</p>

<p>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. </p>

<p>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. </p>

<p>But you can buy code of course. It is called IP "Intellectual Property"   </p>
