In my freetime I've started to develop this retrocomputing project. The nature of the community is such that as likely as not just going to pass around binaries and modify them as even attempt to comply with any license.

So what I'd like to do is place a license on it such that they can indeed lawfully do exactly that, but any changes made are tied in and I can freely disassemble any modified binaries and apply whatever changes I like from them back to the source code. (Keeping credit if possible).

Is there a well-known license suitable?


2 Answers 2


As long as the binary is under an open source license, you would have rights to disassemble it and distribute the results (optionally modified). However, with a permissive license like BSD or MIT/X11, people who use your work have no obligation to license their modifications under that same license.

With a copyleft license like the GPL, people can distribute their changes only under the GPL as well, and they must provide their full corresponding source code (or else you can take legal action against then, or at least credibly threaten to do so). However, this is quite a bit more than you want!

A middle ground might be the Creative Commons Attribution-ShareAlike (CC BY-SA) license, which requires that modified binaries must be distributed under the same license, but not necessarily be accompanied by corresponding source. That way you can be sure that you have full rights over the binary you receive, and others don't have to worry about distributing their source code if they don't want. CC BY-SA also means downstream redistributors can't monopolize their copy -- all recipients have the same redistribution and modification rights as the person they got it from.

Note that someone might carelessly or maliciously say, "I didn't say you could use my modifications! Stop or I'll sue you." In that case, you can answer back, "I said you could redistribute the contents of my original binary only if you shared modified forms freely. If you aren't interested in doing so, I can sue you right back." It sounds like community norms will prevent matters from getting to such a point in the first place, but this is the legal safety net CC BY-SA provides.


Any old open source license allows doing this as long as you get the binary under that license (i.e., not e.g. a BSD package modified and distributed under a closed license).

But it is quite nonsensical to go screwing around with the binary if source is available (even if it is assembly or a similar low-lewel representation).

  • 2
    Patching with a hex editor may well be easier than replicating a build environment down to the patch level of the assembler. :(
    – Joshua
    Commented Aug 27, 2021 at 2:17
  • @Joshua, yes, I remember writing a program to patch a binary (to replace some messages), even though we had C sources. Oh, the memories...
    – vonbrand
    Commented Aug 29, 2021 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.