TLDR: Please attach the CC0 license to your decompilation and disassembly projects. If you don't, it unnecessarily restricts what others can do with them.
Plea maintained at https://gist.github.com/Dragorn421/937dce411e81b326854c8c2cf1ae69e6
I am not a lawyer and this is not legal advice, but I do have a deep understanding of what I'm writing about here.
Due to laws and international treaties, anyone automatically has full copyright (all rights reserved) over their works. In order to share properly, one must explicit say the terms under which they want to share something. This is where (open-source) licenses come in: they grant rights to others about using, sharing and modifying your code.
More reading:
- https://choosealicense.com/no-permission/ "work is under exclusive copyright by default"
- https://opensource.org/osd "Open source doesn’t just mean access to the source code."
The CC0 license allows one to dedicate their work to the public domain, waiving any rights they have over a work, as much as possible.
It also like basically every other license out there includes a limitations of liability/warranty in the sense that what you can't be held accountable for misuse of the work by others (with respect to applicable law).
If you own the rights to a work, applying the CC0 license makes it public domain: anyone can do literally whatever they want with it, including copying, modifying and sharing without restrictions, without acknowledgement.
If you own only partial rights to a work, you can still apply the license and only your rights will be waived. The remaining rights will still apply and the full work will not be public domain.
More reading: (note the full CC0 license is pretty short and worth reading in full)
- https://creativecommons.org/publicdomain/zero/1.0/
- https://choosealicense.com/licenses/cc0-1.0/
- https://creativecommons.org/public-domain/cc0/
It is not clear if decompiled code and disassemblies are copyright the original developers or copyright the decompiler/disassembling reverse-engineering people. You may have an opinion on the matter and it may differ from others'. It doesn't matter for the purpose of this plea.
However, any documentation on top of the decompiled code or disassembly, is definitely an original work from the reverse-engineering people. And those reverse-engineering people own the rights on that work.
Hence decomp/disasm projects would benefit from a license at least on that front. Here I suggest CC0 "public domain" because that's the "people can do whatever they want" approach that most people in reverse engineering seem to have.
However the true reason behind using CC0, is that as mentioned above it works by waiving rights "as much as possible". Applying CC0 does not affirm copyright over the work: it merely waives the affirmer's rights. This is best for decomp and disasm projects given that not everyone has the same opinion on the copyright state of the work.
Note that choosing to use CC0 (or choosing to not use CC0) does not make a difference for how legal your project may be: that's still up to courts to decide.
For tools and build systems which are definitively fully original works, regular software licenses such as the MIT license should be used.
Inspired by Pascal's Wager
+-------------------------------------------------+
| LEGAL SITUATION OF DECOMP/DISASM PROJECTS |
+------------------------+------------------------+
| Reverse engineer holds | Reverse engineer holds |
| rights over the | NO rights over the |
v YOUR CHOICE v | decomp/disasm project | decomp/disasm project |
+------------------+------------------------+------------------------+
| You apply CC0 | The project is | Users have zero rights |
| | public domain | to use the project |
+------------------+------------------------+------------------------+
| You don't (all | Users have zero rights | Users have zero rights |
| rights reserved) | to use the project | to use the project |
+------------------+------------------------+------------------------+
Users have nothing to lose from you choosing CC0 for your decomp/disasm project, but they have a lot to gain!
Dragorn's Wager