Derivative/collective works and OSL

Chuck Swiger chuck at
Mon Feb 7 06:21:03 UTC 2005

David Dillard wrote:
>> [ ... ]  You can compile a source code file with one 
>> compiler into an object file, decompile the object file via a 
>> disassembler or debugger like gdb, and then recompile that 
>> result into a new object file using a different compiler.  
>> You will end up with a program that has the same exact 
>> behavior and meaning as the original program.
> It has the same behavior, but the process of deassembling isn't going to
> give you something equivalent to what you started with (assuming some sort
> of high-level language).

It is true that source code contains comments intended for developers to read 
as well as the instructions intended for the machine to execute.

As far as the computer or the end-user running the compiled program is 
concerned, source-code comments are invisible, non-functional, and have no 
meaning or impact on the behavior of the program.

> Thus, what you have after disassembly isn't nearly
> as easy to successfully modify as the original.

Sure.  The original source code is the preferred version of a program for a 
developer to work with.  A compiled version is the same program, only in the 
preferred format for a particular computer architecture to execute.

[ ... ]
>>> ...and if when compiled it is still a collective work, then 
>>> it is not derivative of any of the works contained in the tarball.
>> You can't compile a tarball without extracting the contents 
>> any more than one could read a book mailed to you in a box 
>> without opening that box, first.
> I don't think you want to go there.  Someone could easily write a compiler
> or a compiler preprocessor so that you could indeed compile a tarball.

And just how would this compiler preprocessor work?  Would it not extract the 
contents of the tarball precisely as I'd said above...?

There are filesystems out there which compress files transparently to the 
user, and decompress the data when the file is accessed.  The fact that an 
compressed file has a different sequence of bits on disk than an uncompressed 
file is a matter of packaging: the contents of the file remain the same.  Tar, 
zip, and other archive formats used for source code are lossless, so you can 
get the original contents back exactly.  Even with the comments, too.  :-)


More information about the License-discuss mailing list