The US government provides a number of closed-source software packages to the public for free. Some packages are explicitly listed as "public domain"; other packages list a specific agency as the copyright holder. Packages might be written by US government staff, contractors, or both.

These programs frequently contain EULA language forbidding decompilation or reverse engineering. Since the software is given away for free by the government (i.e. the US government does not profit from the software it releases), the reasoning for that EULA language is not entirely clear to me, and I wonder about its validity.

Is is legal to decompile or otherwise reverse engineer free, publicly available software from the US government? Has a case ever been brought against someone for reverse engineering such software?

  • 2
    "other packages list a specific agency as the copyright holder": this strikes me as odd, since works of the federal government are explicitly in the public domain in US copyright law. Can you point to an example? – phoog Feb 28 '20 at 20:21
  • 1
    @phoog one example is RASPLOT, which lists Copyright: FEMA in the About dialog, and makes no mention of being Public Domain. This struck me as odd, too. fema.gov/rasplot-version-30 – user321321 Feb 28 '20 at 20:38
  • 4
    The Wikipedia article Copyright status of works by the federal government of the United States lists some scenarios in which the US government can hold copyright, including those of work produced by a contractor or otherwise assigned after creation to the US government. Additionally, the copyright may be intended to apply in other jurisdictions, in which case the applicability of the license agreement may depend on whether one is in the US or not. – phoog Feb 28 '20 at 22:01
  • 1
    Is there reason to suspect the answer is any different from reverse engineering any other piece of software? Because there's a whole process for that involving multiple teams. – zibadawa timmy Feb 29 '20 at 3:14
  • 1
    @user321321 Clean room design, which is basically when you have one team that disassembles code in a way which, if used directly, would almost certainly be a copyright violation. But then they write up some specification and hands it to the second team, the "clean room", who proceed to implement the software/whatever with no actual knowledge of the original copyrighted works, or dependency on copies thereof, etc. – zibadawa timmy Mar 1 '20 at 4:16

Your Answer

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

Browse other questions tagged or ask your own question.