Compulsory checkin clauses.

Ross N. Williams ross at rocksoft.com
Sat Aug 5 06:56:01 UTC 2000


At 1:56 AM -0400 23/7/2000, John Cowan wrote:
>RMS wrote an article on the Plan 9 license, available at
>http://www.gnu.org/philosophy/plan-nine.html .
>I have made excerpts from it here as a matter of fair use.
>
> > First, here are the provisions that make the software non-free.
> > 
> > > You agree to provide the Original Contributor, at its request, with
> > > a copy of the complete Source Code version, Object Code version
> > > and related documentation for Modifications created or contributed
> > > to by You if used for any purpose.
> > 
> > This prohibits modifications for private use, denying the users a
> > basic right
>
>I agree with RMS here.  Not allowing the private use of private changes
>is way unreasonable.

Hi all. I am just polishing my Free World Licence for release (you
might remember it from when I was working on it last year) and am
agonizing somewhat over compulsory checkin clauses.

Last year's version (never formally released) had this clause:

   5.11 COMPULSORY CHECKIN: Within sixty days of modifying the
   Module, you must communicate through the internet (e.g. by
   email or through a web form) to Original Licensor (or its
   authorized representative) the modified Module (in text
   form) so that the modifications can be integrated into the
   Official free version. The communication must contain your
   name, your email address, your web address (if any),
   reference to this Licence and clause, a copy of the modified
   Module, and a brief description of the change(s) made. You
   must submit each modification even if you do not publish it.

Based on some recent feedback, I have deleted it in the current
draft. However, now I'm not so sure whether it's best to delete it
and am thinking of putting it back in. Here are some examples of
why it might be a good thing:

* A programmer discovers a bug and fixes it, but doesn't tell anyone!

* Two companies A and B in some market are competing. They both install
some free software. Company A then modifies the free software to improve
productivity, but it doesn't publish the change, so company B can't make
use of the change to increase ITS productivity. Seems to me that if one
of the aims of free software is to reduce wasteful isometric struggles
(via the duplication of development effort in competing proprietary software)
then to eliminate compulsory checkins is to forsake an opportunity to avoid
some of these struggles. I guess from the FSF perspective, this is a case
where the issue of freedom takes precedecence over economic efficiency,
but it seems to me to not align with the spirit of free software.

* A company adds 10,000 lines to some free software to make it much
better, but simply *couldn't be bothered* checking it in. After having
spent $100K on improving the software, they say "Why should we waste
a programmer day checking this stuff in just to help OTHER companies?".
Many companies are this ruthless.

So here's an idea. Why not have a clause that requires checkin if:

  1. A bug is fixed. (7 day checkin).
or
  2. A total of more than 300 lines of code is changes/added (90 day checkin).

This will allow people to tool around with the code unhindered, but
will ensure that they have to checkin if they find a bug or do some
non-trivial development work.

I am under no illusions about the practical enforceability of these
kinds of provisions, but I think it's a good idea at least to define
what's required so at least people know.

Comments? Flames? 


Ross.

Dr Ross N. Williams (ross at rocksoft.com), +61 8 8232-6262 (fax-6264).
Director, Rocksoft Pty Ltd, Adelaide, Australia: http://www.rocksoft.com/ 
Protect your files with Veracity data integrity: http://www.veracity.com/



More information about the License-discuss mailing list