united-states copyright software is-x-legal oregon
Is it legal to reverse-engineer and reimplement a file format?
<p>If I reverse engineer a file format used by proprietary software and write (a) a specification and (b) a third-party program for reading and writing the format, and I publish both (a) and (b) online under open source licenses, is that legal? I am not looking at the software's code, only its interface and the file.</p>

<h2>Yes, it is legal to do that</h2>
<p>More exactly, it is not copyright infringement.</p>
<p>Reverse engineering has been found to be a fair use under US copyright law in:</p>
<ul>
<li><em>Sega Enterprises v. Accolade</em> 977 F.2d 1510 (9th Cir. 1992);</li>
<li><em>Sony Computer Entertainment v. Connectix</em> 203 F.3d 596 (9th Cir. 2000).; and</li>
<li><em>Atari Games Corp. v. Nintendo of America, Inc.</em> 975 F.2d 832 (Fed. Cir. 1992).</li>
</ul>
<p>In general pure reverse engineering is fair use when the reuser has not agreed to a contract limiting reverse engineering and has not obtained a copy through deception.</p>
<p>But  a file  format is considered to be an idea or a method of operation, and so is not protected by copyright at all, and nothing that is done with it could ever be copyright infringement. See <a href="https://social.msdn.microsoft.com/Forums/windows/en-US/3269d4f3-8b39-4a2c-8205-1a55e0c6774d/are-file-types-copyrighted?forum=Vsexpressvcs" rel="nofollow noreferrer">https://social.msdn.microsoft.com/Forums/windows/en-US/3269d4f3-8b39-4a2c-8205-1a55e0c6774d/are-file-types-copyrighted?forum=Vsexpressvcs</a> and <a href="https://www.lexology.com/library/detail.aspx?g=b5ab25ca-872b-43bf-8040-a5e9e3c94e67" rel="nofollow noreferrer">&quot;Does copyright protect data file formats?&quot;</a> from Lexology, the latter citing EU law and the case of <em>SAS Institute Inc. v World Programming Ltd</em> in the  Court of Justice of the European Union (CJEU).</p>
<p>Thus there is no copyright infringement in reverse engineering a file format, or in then writing and distributing code to read, write, or, modify files in such a format.</p>
<p>If a valid patent applies, that may prevent creating or using such software without a license from the patent holder. But my understanding is that in most cases a file format will not be subject to a patent.</p>
