Subject: Re: Returns to service professionals (was Re: New ESR paper: The Magic Cauldron)
From: Ian Lance Taylor <ian@airs.com>
Date: 30 Jun 1999 15:20:44 -0400

   From: Jean Camp <Jean_Camp@harvard.edu>
   Date: Wed, 30 Jun 1999 14:58:30 -0400

   >  For example, perhaps somebody could write a license
   >saying that you are permitted to use software to communicate across
   >the net provided it uses protocol such-and-such and only imposes
   >certain restrictions on how the data may be used.  This could then be
   >used to build a community of communicating applications which could
   >not be subverted into a proprietary communication system.
   >
   >I'm not sure how I feel about that.

   I don't think that would work. The control points could only check for
   known algorithms and protocols. New protocols, http comes to mind, would be
   booted off.  So there is the potential to stiffle innovation rather than
   supporting it.  Alternatively you chould check for known 'bad' algorithms,
   but really the phone companies have no interest in booting microsoft off
   the net. It certainly was an interesting thought - governance thru router.
   There is some small element of that emerging with the search to find a way
   to implement packet drop so that 'badly behaved' TCP implementations don't
   get an advantage. But I would bet it can't  being taken it to a higher
   layer.

I expressed myself poorly.  I didn't mean to suggest governance
through router.

What I am trying to get at is a set of restrictions on how certain
software could be used or modified.  For example, let's take mapping
software, since Tim O'Reilly mentioned it in his original post.  I
write some new cool mapping software and put it under the GPL.  Yahoo
snaps it up and puts it on their site.  In fact, they enhance it.
They permit users to connect to it on their site, but they don't
distribute their changes.  Yahoo has now in some odd but meaningful
sense made a proprietary fork of my code, the very thing the GPL was
supposed to prevent.

What I am thinking of is a license restriction along the lines of
``you may not enhance this mapping software to run any protocol other
than what I have defined, unless make the changes publically
available.''

The GPL imposes certain restrictions on code in order to ensure its
freedom (please let's skip any arguments about whether this is a good
idea).  Those restrictions are less effective in this day of Internet
enabled software, because many people no longer distribute software;
instead, they just run it and let others connect to it over the
network.

Therefore, in the spirit of the GPL, I'm considering whether there are
additional restrictions we can place on the software in order to
achieve the goal that Tim is after.

Ian