restrictions on web service linking?

Clark C. Evans cce at
Sun Nov 19 20:56:44 UTC 2006

Thank you for your feedback.  I think I failed to communicate my
objective well, so perhaps another round would be in order?

Before I continue, let me reiterate my goal.  My application is a
typical web service, currently running on top of an open source
database.  I am searching for a "share alike" / "copyleft" license that
addresses at least two kinds of free riders:

 (a) those who would make proprietary changes directly to the software,
     use the software in a public web service, and fail to distribute
     their improvements, and

 (b) those who introduce proprietary changes to the software by replacing 
     the database (or any other library) upon which it depends.

The Open Software License (OSL v3.0) beautifully covers the first
category of free rider, but this leaves me concerned about the second. 

This "proprietary platform" category of free rider is particularly
important from a moral perspective.  The value of one's database (or
more generally, programming language or operating system) depends upon
the software which is available on those platforms.  By writing software
which is then easily ported to those platforms, one quite directly supports
proprietary platforms without reasonable "return" to the community.

By analogy, suppose that I have a program that is released under the GPL
which statically links to a particular graphics library (also GPL'd).
One is forbidden from replacing the graphics library with a proprietary
equivalent since it would violate the GPL.  In the same way, I'd like a
clause which prevents a service upon which I'm depending from being
replaced with a proprietary alternative.

The GPL license comes tantalizingly close to addressing this problem,
were it that platforms were always statically linked.  I see the use of
sockets and other dynamic linking mechanisms as a weak spot of this
license; one which prevents it from being enforced as intended.  I
realize that the GPL has a particular exception for operating system
libraries, but this was a matter of practicality, IMHO, not of intent.

My previous attempt at a clause for this case was summarily shot down by
Michael Poole and Matthew Flaschen, who both quoted #6 "Discrimination
against Fields of Endeavor".  I personally don't see the problem, since,
in my mind, the actual distinction is licensing -- which has historically
been fair game.  The restriction to databases was more a clarification
of my particular intent, not an actual requirement. That said, here is
another straw man for your comment:

    Let us define "Arrangement" as the static or dynamic combination of
    this Original Work and its Derivative Works with other software
    systems which together form a whole.  This could be accomplished
    through (a) static linking, (b) dynamic linking, (c) requests done
    over a network connection, (d) or any other mechanism which causes
    the Original and its Derived Works to directly or indirectly control
    the operation of another software system.
    Let us define "Combined Work" as including not only the Original and
    its Derivative Works, but also any software program which due to its
    Arrangement with the system, is part of a whole based on the
    Original Work.

The rest of the license would follow along the lines of OSL v 3.0, 
with a modification of clause 1c,

    To distribute or communicate copies of the Original Work and
    Derivative Works to the public (see External Deployment), with the
    proviso that copies of the Combined Work shall be licensed under
    this same License.

Thank you again for your kind consideration.  I am looking forward to
your thoughtful feedback.


On Sat, Nov 18, 2006 at 11:58:16PM -0500, Matthew Flaschen wrote:
| In my opinion, setting any constraints on the use of data produced by
| the program would be antithetical to open source/libre software
| principles.  There isn't always an open source alternative, and
| regardless data shouldn't be tainted by the license of the program
| manipulating it.  Also, in general licenses should not limit *use* (as
| opposed to distribution or modification) in any way.
| I believe your specific request would violate OSD #6, "No Discrimination
| Against Fields of Endeavor."  I am sure there are fields of endeavor
| that (currently) require proprietary SQL parsers.  Thus, in my opinion,
| any license (including an otherwise OSI-approved license) with this
| requirement wouldn't be OSI-compliant.
| Clark C. Evans wrote:
| > Legal Gurus and Open Source Gods,
| > 
| > I'm writing for a consultation regarding a licensing issue.  My application
| > is a typical web service, which converts web requests into database queries,
| > executes them, and returns the corresponding result to the user agent.
| > 
| > I am looking for a suitable reciprocal OSI license for my application,
| > one that prevents usage with a proprietary database.  Does such a license 
| > exist?  If not, rather than creating a brand new license, I wonder if it
| > would be possible to append a single clause to an existing license, like
| > the BSD or Rosen's OSL.  Here are two very rough drafts of such a clause:
| > 
| >   "This software cannot be linked, connected to, or otherwise made to
| >   operate with an SQL processor that is proprietary",
| >   
| >     or, perhaps more concretely,
| > 
| >   "The SQL generated by this software may not be routinely interpreted
| >   by programs which are not licensed through an approved OSI license."
| > 
| >     or, more generally,
| > 
| >   "this work may not be used in (but may be distributed as part of) a
| >   compilation or collective work with third party software that is not
| >   published though an OSI approved license." [1]
| > 
| > Is there a possibility that such a restriction (assuming it is framed in
| > an enforceable way) would be acceptable to the Open Source Initiative?
| > 
| > Thank you kindly,
| > 
| > Clark C. Evans
| > 
| > [1] Clause modified from Larry Rosen's post on 11 Sep 2000 titled
| >     "RE: FW: FW: Qt and the GPL".
| > 

On Sun, Nov 19, 2006 at 12:02:24AM -0500, Michael Poole wrote:
| No.  You are describing a restriction on fields of endeavor, which
| would violate item 6 of the Open Source Definition.

More information about the License-discuss mailing list