[copyleft-next] [MERGE REQUEST] restore "install and run" text (was Re: app-stores and copyleft-next)

Richard Fontana fontana at sharpeleven.org
Wed Dec 5 04:05:57 UTC 2012


On 12/03/2012 05:59 PM, Richard Fontana wrote:
> I agree that there wasn't as much discussion about this as there could
> have been. I intend to follow up with some further thoughts on why I
> made the 'install and run' deletion.

As a preliminary matter, here is a review of the history of the
Corresponding Source definition.

GPLv1 (1989):

"For an executable file, complete source code means all the source
code for all modules it contains".

GPLv2 (1991):

"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."

GPLv3, Discussion Draft 1 (January 2006):

"The 'Complete Corresponding Source Code' for a work in object code
form means all the *source code* [EMPHASIS ADDED - RF] needed to
understand, adapt, modify, compile, link, install, and run the work
.... For example, this includes any scripts used to control those
activities, and any shared libraries and dynamically linked
subprograms that the work is designed to require, such as by intimate
data communication or control flow between those subprograms and other
parts of the work, and interface definition files associated with the
program source files.

"Complete Corresponding Source Code *also* [EMPHASIS ADDED - RF]
includes any encryption or authorization codes necessary to install
and/or execute the source code of the work, perhaps modified by you,
in the recommended or principal context of use, such that its
functioning in all circumstances is identical to that of the work,
except as altered by your modifications. It also includes any
decryption codes necessary to access or unseal the work's output...."

GPLv3, Discussion Draft 2 (July 2006)

"The 'Corresponding Source' for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, .... For example,
Corresponding Source includes scripts used to control those
activities, interface definition files associated with the program
source files, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by complex data communication or control flow between those
subprograms and other parts of the work.

"The Corresponding Source also includes any encryption or
authorization keys necessary to install and/or execute modified
versions from source code in the recommended or principal context of
use, such that they can implement all the same functionality in the
same range of circumstances. (For instance, if the work is a DVD
player and can play certain DVDs, it must be possible for modified
versions to play those DVDs. If the work communicates with an online
service, it must be possible for modified versions to communicate with
the same online service in the same way such that the service cannot
distinguish.) A key need not be included in cases where use of the
work normally implies the user already has the key and can read and
copy it, as in privacy applications where users generate their own
keys. However, the fact that a key is generated based on the object
code of the work or is present in hardware that limits its use does
not alter the requirement to include it in the Corresponding Source."

GPLv3 had a few more 'Discussion Drafts' but the major changes to the
Corresponding Source definition were largely complete by Discussion
Draft 3. That draft got rid of the controversial 'keys' part of the
definition of Corresponding Source and replaced it with a new
'Installation Information' requirement which supplemented the
requirement to 'convey' Corresponding Source where object code was
conveyed in a defined category of 'User Products'. Here is the
Corresponding Source definition in the released version of GPLv3:

"The 'Corresponding Source' for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.... For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work."

Here is the Corresponding Source definition in copyleft-next as of
this moment:

"Corresponding Source" of a Covered Work in Object Code form means (i)
the Source Code of the Covered Work; (ii) all scripts, instructions
and information known to you necessary for a skilled developer to
build, compile, generate and modify the Covered Work; (iii) all
relevant interface definition files; (iv) the Source Code of shared
libraries that the Covered Work is specifically designed to require,
such as by intimate data communication or control flow between those
libraries and parts of the Covered Work; and (v) a list clearly
identifying all Separate Works that were used in building, compiling,
generating and installing the Covered Work. Corresponding Source must
be in machine-readable form."





More information about the copyleft-next mailing list