restrictions on web service linking?

Chuck Swiger chuck at codefab.com
Tue Nov 21 19:44:06 UTC 2006


Hi, all--

I've been trying to stay out of this discussion to avoid needless repetition, 
but I must say that I admire your persistence, Clark.  :-)

I also appreciate moving the discussion forward with a good example:

Clark C. Evans wrote:
> On Tue, Nov 21, 2006 at 05:09:50PM +0100, Arnoud Engelfriet wrote:
>| And *if* you agree that an application is a derivative of its
>| libraries, then OSD 9 permits putting restrictions in the
>| library license such as "if you distribute the application
>| it has to be under the same license as this library."
> 
> Let us say in the year BC, there is a well-known specification for a
> dynamic link library with a single export:
> 
>   readline(FILE *, char *, int buflen)
>  
> Let us say that shortly there after two parallel developments happen.
> First, a GPL licensed application FooBar is created with a libfoo.so,
> such that they are used together.  Let's say that libfoo.so implements
> exactly this well-known 'readline' function, and nothing more.  The
> FooBar application and libfoo.so are included on popular Linux
> distributions, since they are "free" software.
> 
> Second, another group makes a far superior version of this dynamic
> library they call libbar.so with wonderful buffering abilities, etc.
> Since this person wants credit for their work, they use the old-style
> BSD attribution license (incompatible with GPL).  This open source
> library also becomes popular, and is put on that same Linux distribution
> with FooBar.
> 
> Now, in the privacy of one's home, a user decides to "mv libbar.so libfoo.so"
> since they've discovered that FooBar actually works after the copy, and
> has greatly improved functionality.  Since this is done privately, the
> author of FooBar doesn't care.
> 
> Then, one day, another person makes a different distribution of the
> systems which causes FooBar to come configured to run with libbar.so
> instead of libfoo.so (via a copy, symbolic link, or any other system
> configuration at install time) as the FooBar author had anticipated.
> 
> The author of FooBar finds out about this, and demands that the one
> distributing FooBar /w libbar.so cease and desist, since his code has
> been incorporated into a whole which includes a part that is not
> licensed under the GPL license (and more so, even incompatible).
> 
> Either I don't understand the GPL well enough, this isn't possible, 
> I still don't get OSD#9, or, the GPL actually doesn't pass OSD#9 as it
> being currently described.  Thoughts?

The OSD does not mandate that all combinations of Open Source licenses be 
redistributable; license incompatibility is a significant and legitimate 
concern.  The GPLv2 predates the OSD and to some extent is grandfathered in, 
as are some other licenses (ie, Python has an ACCEPT button in the Python 
license).

If you can freely exchange libfoo.so and libbar.so and have the application 
still work fine, and especially if you can not have either one present and 
have the app continue to work (perhaps using its own built-in line handler, 
which is perhaps less capable than the full readline), then it's likely that a 
judge would not consider the degree of interaction and level of dependency 
between the software for FooBar+readline to constitute a significant 
infringement of copyright meriting strong action.

I believe it is generally held that simply running an application and 
dynamically linking against the system libraries/DLLs/so's does not require 
the application to be license-miscible with the system libraries.

In practice, libraries implementing well-known public APIs ought to be under 
the LGPL anyway, and this is especially true of libraries which are shipped as 
part of the base operating system.

That doesn't prevent someone from claiming infringement anyway, of course, 
although filing suit against entire groups of people using your software for 
highly questionable or trivial degree of infringement may very well result in 
the author not having a lot of users/customers.

However, most reasonable vendors try to avoid such problems and end up 
spending a lot of time and energy tracking licensing issues, and by responding 
promptly and reasonably when someone points out a problem.

It is hoped that the GPLv3 will help alleviate some of these concerns...

-- 
-Chuck



More information about the License-discuss mailing list