Copyright law vs software transformation
<p>As <a href="https://en.wikipedia.org/wiki/Copyright#Copyright_infringement" rel="nofollow noreferrer">wikipedia</a> says, </p>

<blockquote>
  <p>A major limitation on copyright on ideas is that copyright protects only the original expression of ideas</p>
</blockquote>

<p>Suppose there are two companies: A and B, that produce software. Now, suppose that A published some commercial program, but <a href="https://en.wikipedia.org/wiki/Obfuscation_(software)" rel="nofollow noreferrer">obfuscated</a> it, so that its functionality is unchanged, but the machine code produced looks completely different than in unobfuscated one. Subsequently, company B bought this program, deobfuscated its code and started selling it.</p>

<p>As I understand, the original way of expressing ideas by company A was by publishing obfuscated code (the original version was not published at all). Since after deobfuscation by company B, code looks completely different, does it qualify as another way of expressing the same ideas and is legal, or has company B broken the copyright law?</p>

<p>The above question concerns the case when B is selling the original program code that was extracted from published obfuscated version. But imagine that B transformed the code published by A to a completely different form different from both original and obfuscated one, but preserving functionality and sells it. Has company B broken the copyright law in this case?</p>

<p>Company B has created a derived work from company A's copyright-protected work, so yes, B has infringed on A's copyright.  It might be difficult for A to prove it, however, so B might get away with it, but it's still infringement.</p>

<p>On the other hand, if B creates software that behaves like A's through <a href="https://en.wikipedia.org/wiki/Reverse_engineering" rel="noreferrer">reverse engineering</a>, that is, by examining the program's function without examining its code, then they will not have infringed the copyright in the code.</p>

copyright software