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

DFSG2: The patch exception



I'm still firmly opposed to a patch exception along the lines of the
current DFSG.  I've given a number of reasons, and it is my view that
few of them have been rebutted.

1. Examples where patch-only is or would have been bad

Some people have given examples of how patch-only licences can cause
problems.  For example, Minix was killed at least in part because it
wasn't possible to distribute a whole patched Minix.

For another example, consider XEmacs.  No doubt many people reading
this will use XEmacs rather than FSF Emacs as their primary editor.
The development of XEmacs would have been made very difficult by a
patch requirement, and there's little likelihood that the FSF, if
they'd imposed such a requirement, would have waived it in this case.

2. Patch requirement vs. provide-original requirement

Several people have pointed out that a patch requirement is not as bad
as a requirement to distribute unmodified original sources along with
any changes.

After having considered the matter, I've come to the conclusion that
the latter requirement is not _too_ bad.  It still prevents forking
without some trouble, but the trouble is just administrative rather
than actually involving the code, so perhaps we can live it.

It also effectively prevents code-mixing, but neither the DFSG1 nor
the DFSG2 require code-mixing to be possible.  Much as I'd like to
make a system which consisted entirely of GPL-compatible code, I don't
think it's practical yet (politically or technically).

So, my next draft will have the following extra exception:

 (i) Provision of original source alongside modifications (discouraged)

 The licence may require distribution of modified source code or
 executables to be accompanied by the canonical or unmodified source
 code.  Such a restriction must meet the same tests as for a
 requirement to distribute corresponding source code, in exception (a).

 We would prefer authors not to rely on this exception, as it can
 significantly impede the ability to reuse and enhance software
 effectively.

3. Existing software

Several people have complained that some important existing software
(notably TeX) has a patch requirement.  How about if we have a special
grandfather exception for this ?

Eg,

 (z) Patch requirement (deprecated)

 The licence may require that modified source versions be distributed
 in the form of original source files with `patches' (ie,
 machine-readable representations of the changes).

 This exception is only available if the restriction was imposed no
 later than the 1st of January 1999.  The exception is likely to be
 removed in a future version of these guidelines.  For rationale, see
 Appendix B.

Or possibly without the `likely to be removed' clause, if we can't
persuade eg Knuth.

Ian.


Reply to: