On Thu, Apr 26, 2001 at 12:33:09AM -0700, Aaron Lehmann wrote: > An interesting hypothetical question is: what if there is no source > code? While impractical, I could quite concievably write a program just > by entering its machine code into a hex editor. How would the GPL's > restrictions bind me?
The GPL defines source code in section 3: "The source code for a work means the preferred form of the work for making modifications to it." It doesn't address the question of _whose_ preferred form, but I think that the form actually used by the author is a very good indication. So if you entered the program with a hex editor, and fix bugs the same way, then a hex dump is the source code. (If the program is truly write-only and not even the author can modify it, then I don't think it can be free in any sense.) In this particular case, if the firmware has a source that's not published, then putting the binary under GPL doesn't do anything except make it unredistributable. (The copyright holder is of course free to do so, but no-one else can satisfy the conditions of the GPL.) We've had a similar case with smalleiffel once, which only distributed the compiler as C files which had been generated from Eiffel sources. This was fixed upstream after the problem was pointed out. Richard Braakman