ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Some concerns about the ConTeXt license.
@ 2005-09-04 22:55 Brooks Moses
  0 siblings, 0 replies; only message in thread
From: Brooks Moses @ 2005-09-04 22:55 UTC (permalink / raw)


I have a number of concerns about wording of the ConTeXt license (as given 
in the readme file), which I'd like to bring up.  In virtually all cases, 
my concern is simply that the actual wording of the license does not appear 
to be sufficient to provide the permissions that it intends to -- that is, 
the letter of the license does not live up to its spirit.

(Note that I am not a lawyer, and that none of the below comments should be 
construed as legal advice.)

I'm going by the text on http://wiki.contextgarden.net/Read_Me, which I 
believe to be the current version.

----

First, starting with section 3.1: "ConTeXt is available as free software in 
the spirit of the gnu general public licence."

"In the spirit of the GPL" is not really useful in a license -- my idea of 
what's "in the spirit of" may be vastly different from Hans's idea of 
it.  So this unfortunately offers nothing solid with regards to 
permission.  It is, at best, a statement of intent.

So, what else is there in the license that actually and clearly offers me a 
grant of permission to redistribute?  I can find only the following:

"2.7: ConTeXt is available for free for everyone who want to use it. 
Distributors are free to choose between the latest official release and the 
(in most cases stable) beta version."

"7.2: We hereby grant permission to the de facto official TeX distributors 
teTeX, fpTeX and TeXlive to replace this licence with their own, i.e. their 
licence may supersede or enhance this one."

"7.3: ConTeXt may be distributed as part of a public distribution in the 
spirit of free distributions."

In addition, there is the following comment, which appears to be a 
restriction, but is relevant here:

"3.3: The official version (i.e. the original zipped archive recognized by 
the prefix cont-) may only be redistributed as a whole and under this licence."

To analyze those in turn: 2.7 does not offer any permission to 
redistribute; all it appears to offer is that ConTeXt will not charge for 
downloads.  It implicitly offers "distributors" the opportunity to 
distribute the latest official release and the beta version, but it does 
not offer permission for any other versions.

Of the items in section 7, 7.2 is not useful to the end user, as teTeX seem 
to incorporate the existing license rather than superceding it.  Section 
7.3 is, again, merely a description of intent with "in the spirit of" 
language rather than a clear grant of permission.

Finally, 3.3 appears to restrict all distributions of any part of ConTeXt, 
as there is no "unofficial" version available from Pragma, and there is no 
provision for anyone else creating one -- we can only redistribute the 
"official" version as a whole, and thus it remains the official version.

Thus, in sum: there is what appears to be an implicit grant for people to 
distribute the latest release or the current beta version, so long as it is 
complete and unchanged.

There is nothing that I see as a clear grant of permission to distribute an 
unofficial modified copy, nor of permission to extract a portion of the 
code for use in another project, except for the "in the spirit of the GPL" 
language, which is IMHO very insufficient for this.

Further, there is not even a clear grant of permission for the distribution 
of non-current official versions, aside again from the "in the spirit of" 
language.

----

Suppose that we consider the above issues to be addressed, by treating 
section 3.1 as saying effectively "The permissions granted under the GPL 
are also granted by this license."

Let us now consider how the rest of the license actually agrees with that 
(and with section 4.1: "This sections will not introduce limitations in use 
that conflict with the gnu general public licence.").

First, section 2.7, as quoted above.  The GPL would allow distribution of 
any released version, whether current or not.  It is not clear whether 2.7 
is supposed to be a restriction of this or merely a statement about what 
Pragma offers.

Section 4.2: "However, the interface of such modules should fit the general 
scheme philosophy."  In the context of a file which purports to be a 
license file, this appears to be a legal requirement, not merely as a 
friendly guideline.  If treated as a requirement, this would not be in the 
spirit of the GPL.

Section 4.3: "Keywords and command names should conform to the already 
defined ones and therefore not clash with existing functionality."  Again, 
same problem as 4.2.

Section 4.5: "This also means that for instance in the texmf directory 
structure, the context/base, context/extra and context/sample locations are 
reserved for the official distribution."  This prohibits the distribution 
of a modified unofficial version, which is contrary to the spirit of the 
GPL, though perhaps in the spirit of the LPPL.  It also appears to restrict 
what I can personally do on my own computer, which is definitely contrary 
to the spirit of the GPL.

Section 4.8: "When adapted versions of ConTeXt are distributed, these 
versions must contain the original distribution as a separate item."  This 
prohibits me from taking, say, thirty lines of ConTeXt code and using them 
in a LaTeX package I'm writing (with, of course, appropriate citation), 
unless I distribute the entirety of ConTeXt with the package.  This is very 
much contrary to the spirit of the GPL.

Section 4.8, again: "The runtime versions (format files) must have 
different names...."  See all the discussions on the Debian mailing list 
about whether this is in the spirit of Free Software.  The latest version 
of the LPPL backs off slightly on the "no using the same filename" 
restriction, for this reason.  It is also unclear whether the 
"\mycntxt\base\cont-xxx.tex" is a "different name" from 
\context\base\cont-xxx.tex" or not; I think this should be addressed.

Section 4.8: again: "... and changed files must have an additional 
\writestatus message, expressing that something is changed."  This, at 
present, would seem to apply to anything that uses any ConTeXt code, even 
if it is very obviously not part of ConTeXt (e.g., the hypothetical LaTeX 
package mentioned earlier).  If taken as a general restriction, this is not 
in the spirit of the GPL, in my opinion; the restriction should apply only 
to things that could otherwise be mistaken for an official distribution.

Section 4.9: "Those who write extensions or change files, must make sure 
that the original ConTeXt does not suffer from loading the wrong 
files."  This is a restriction on parts of my system that may not be 
derived from ConTeXt at all, which is definitely against the spirit of the 
GPL.  It is fair to place this as a restriction on "systems that include an 
Official distribution of ConTeXt", however.

Section 4.11: "The functionality however must not be changed."  Again, this 
is contrary to the spirit of the GPL, unless it is restricted only to 
things that are described as official releases of ConTeXt.

----

Some miscellaneous comments on things that are otherwise unclear.

Section 4.7: "Distributers may add configuration settings to cont-usr and 
cont-sys."  It's not clear who qualifies as a "distributor" in this statement.

Section 4.11: "The auxiliary programs may be adapted to local conditions, 
such as operating systems specifics. The functionality however must not be 
changed."  It is not clear here what is an auxiliary program.

Section 7.4: "Each distribution of ConTeXt should include a copy of this 
text."  Is a "distribution" the entirety of ConTeXt, or is it anything that 
includes any ConTeXt code?  Does this mean that I need to include the whole 
text about Pragma's ConTeXt philosophy with anything that uses any ConTeXt 
code?

----

Some final notes:

The redistribution requirements include the requirement that the text of 
the README file/license be included in the distributed version.  This is 
incompatible with section 3.2, which says "This is the official version".

For that reason, and a number of others, I think that the license and the 
readme should be separated -- and, in particular, there should be a clear 
delineation between what are Pragma's statements about the official release 
(including any promises of support), what are restrictions for 
redistributing ConTeXt as an "official release", what is part of the 
redistribution-as-free-software license, and what are friendly but 
non-binding suggestions for making modifications in the spirit of ConTeXt.

My particular recommendation would be that the ConTeXt license should 
explicitly offer me the following three options for redistribution, in 
order to live up to its intent of being "in the spirit of free software":

1.) Redistribution of the entirety as an "official version of 
ConTeXt".  This requires that all of the compatibility and completeness 
requirements be met.  If the redistribution is part of a system, the entire 
system must meet the compatibility requirements -- e.g., no overriding 
ConTeXt functionality improperly.  Redistribution must use the same license 
as the official version, with exceptions for teTeX et al.

2.) Redistribution as an "unofficial version based on ConTeXt".  This 
permits redistribution of the system as a whole with modifications, but 
requires that the distribution clearly distinguish itself from the official 
version, and that it not call itself "ConTeXt" or be presented as 
such.  (This may also require inclusion of an official version as well as 
the unofficial version.)  The unofficial version must not install itself on 
the /context directories of a TeX distribution, all changed files must 
explicitly declare themselves to be changed, and so forth.  Modifications 
must include all source code, when appropriate.  These redistributions 
(including modifications) must use the same license as the original, again.

3.) Redistribution and reuse of portions of ConTeXt in other 
projects.  This permits reuse of up to (for example) 30% of the ConTeXt 
code in other projects, without the requirements of distributing a full 
version.  These portions can be taken as licensed either under the GPL or 
the LPPL, with no additional requirements other than provided by those 
licenses.

I would be quite willing to elaborate on these suggestions, if requested.

- Brooks

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-04 22:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-04 22:55 Some concerns about the ConTeXt license Brooks Moses

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).