J.D. Hood said: > I suggest that the definition of 'preferred form for > making modifications' be information-theoretical. > > When source code is compiled into binary code there is a > loss of information, as indicated by the fact that you > cannot get the original source back, given only the binary > code. > > On the other hand, if there is a set of different forms > each of which is convertible into the others by means of > freely available tools then any member of the set is as > good as any other.
Unfortunately, there is a class of tools which do not meaningfully change source code, but result in an information-theoretical loss. indent(1) is a prime example of this class. Running indent(1) on Free Source should not make it non-Source. There is also a class of tools which makes source effectively unmodifiable, but is not information-theoretically lossy. For example, an obfuscator which translates everything to C trigraphs. Running this on Free Source makes it non-Source. Finally, there is a very lossy conversion which must be Free, and that is linguistic translation. --Joe