Subject: Re: Exploring the limits of free software: Cygnus, and GPL
From: Brian Behlendorf <>
Date: Sun, 23 May 1999 23:43:18 -0700 (PDT)

On 24 May 1999, Russell Nelson wrote:
> Stephen J. Turnbull writes:
>  >     John> If they want to give people the option to make my code
>  >     John> proprietary, sorry; they'll have to rewrite it.
>  > 
>  > You should rewrite that sentence.  You cannot make BSD licensed code
>  > proprietary, as far as I know.  Not even the copyright holder can, I
>  > suspect, at least as a practical matter.  You can, of course, use it
>  > as a component (even the whole) of a proprietary product, but the
>  > original code is still available to the public.
> You can mix proprietary code with BSD licensed code, though.  The
> proprietary code is just as viral as the GPL.  If you mix 10%
> proprietary code with BSD licensed code, it all becomes proprietary.
> If you mix 10% GPLed code with BSD licensed code, it all becomes
> GPL'ed.  It's odd how advocates of the BSD license view the latter as
> a bug and the former as a feature.

Speaking personally, it's because when BSD code goes into a GPL project,
additions/contributions to the BSD code within the GPL's project become
(by force of the license), GPL'd and completely unavailable to the
original project*, whereas the maintainer of the proprietary version
always has the ability to contribute enhancements back to the BSD-based
original project at their discretion.

Companies are strongly incented to do this, but not forced to; this allows
companies to experiment with BSD code (in a production environment) before
deciding whether to contribute back or not.  Usually, those who don't
contribute back suffer when (if) the public version continues to be
developed and their proprietary branch loses its ability to merge in the
updates.  So, that's why Apple and IBM contribute to Apache (and the
former to [Free|Net]BSD as well).  And why BSDI is struggling.

* Sure, people who contribute patches to a GPL'd project can also (since
they are the author) submit the same code to the BSD equivalent as well.
But I'd be surprised if any of them are made aware of this option, or
realize why it'd be a Good Thing to do; and then as soon as the code base
diverges, it's too late to help.  If GNU offered to make sure that their
contributors were made aware of the idea of throwing enhancements back
upstream towards the original projects (as Apple is claiming it will do
with Darwin) then I think people would have a lot less to complain about.

I guess we'll get to see with the dual MPL/GPL licensing of the Mozilla
Javascript engine.  Anyone know what's going on with contributions to
that?  Are people contributing to both versions (as GPL advocates claimed
they would?)