[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Defining 'preferred form for making modifications'




On Tuesday, Jun 24, 2003, at 16:36 US/Eastern, Thomas Bushnell, BSG wrote:

Why would C stay the preferred form for modifying a work for eternity,
even when the current work bares hardly a resemblence to its C
original?

It is *PART* of the source.  Not the whole source, but part of it.

Well, "The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable." (GPL 3)

To be source code for the new version, the C original would have to:
	a) be a form of the (new) work
	b) be a the form that modifications would be made to
	c) it must be possible to transform the source code form into the
	   object or executable form [implied by (b) and GPL 3(a)]

In the scenario above, the C code clearly fails (c) for all reasonable amounts of effort[0]. It does not correspond to the executable; it can not be transformed into the executable. Because it can't be transformed into the executable, (b) fails: No one prefers to modify the wrong program! It's questionable if the C code even passes (a).

Thus, since it's not the preferred form for making modifications, it's not source code (under the GPL definition).


So, essentially, you're saying that for either images or translations
to other programming languages, the GPL is a original source + patches
license? Does this apply to human-language translations as well? What
about changes to C code in C?

No, that's not what I'm saying.  What I'm saying is that editing a
binary cannot remove your obligation to distribute the C source which
produced that binary, even if you do a bunch of significant extensive
edits, even if you threw away the C source.

I think it's silly to say that translation to assembly is any different than translation to C, Pascal, Fortran, COBOL, BASIC, Intercal, etc., from a legal standpoint: If it's just an automated translation, it's clearly "object" form under the GPL, and the preferred form is still the original. If it's a largely manual translation, it's now the preferred form, object or not.



[0] Its possible to recompile the C code and then re-make (by hand) all the extensive changes to the assembly output, of course.



Reply to: