Raul Miller wrote: > On Tue, Feb 15, 2000 at 12:02:31PM -0500, Andreas Pour wrote: > > I think this is where you went off-track. Section 2 only refers to > > source code distributions (as it requires the modifications to be > > distributed under Section 1 and Section 1 deals only with source > > code). > > I disagree. > > Section 0 includes the text: > <quote> > (Hereinafter, translation is included without limitation in > the term "modification".) > </quote> > > Section 2 begins: > <quote> > 2. You may modify your copy or copies of the Program or any portion > of it, thus forming a work based on the Program, and copy and > distribute such modifications or work under the terms of Section 1 > above, provided ... > </quote> > > Since executables are a translation of the source, the provisions of > section 2 also apply to executables.
It's obvious that a binary is a derived work of the Program, but that does not mean that every single provision of the GPL applies to it. You can only apply what makes sense to apply. Section 2 requires distribution under Section 1 -- which explicitly refers only to source code. If you can explain to me how you can distribute a binary under Section 1, then we can explore the conditions to such distribution (found in 2(a) - 2(c)). Note that Section 1 specifically says: You may copy and distribute verbatim copies of the Program's *source code* as you receive it. It could have left out "source code" if it was to mean what you say it means. But since those words are there, we must give them meaning. Since w/out the terms "source code" there, a binary might be covered by Section 1, one can only conclude that a binary does not fall under Section 1. Since the conditions to Section 2 apply only to distributions of modified works under Section 1, and since Section 1 does not apply to binaries, the conditions of Section 2 do not apply to binaries. Isn't logic wonderful? Incidentally, it is my reading that translation does not refer to compilations into binary. I think it refers to translation into another human-readable language -- like translating C++ into C, or C into Perl, or C into assembler. That way use of the terms makes sense -- Section 3 deals with binaries and Section 2 with source code (including translations into other languages). Also, it is not common usage to refer to a binary as a "language" -- rather, a binary is referred to as a set of"instructions". Binary is really not a language -- nobody can read it :-). For dictionaries noting the difference b/w computer languages and machine code, see, e.g., http://www.instantweb.com/~foldoc/foldoc.cgi?machine+code and http://www.instantweb.com/~foldoc/foldoc.cgi?programming+language. Incidentally, if notwithstanding the very clear language you believe that Section 2 does apply to a binary, Section 2(a) says: (a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change If you can explain to me how Debian does that with the binaries it distributes, I would consider myself enlightened. Ciao, Andreas