Subject: Re: Dispelling BSD License Misconceptions (fwd)
From: Chuck Swiger <chuck@codefab.com>
Date: Tue, 16 Jan 2007 18:24:32 -0800

On Jan 16, 2007, at 4:53 PM, Brian Behlendorf wrote:
> In particular, I think his claim in his paper, section 3.3:
>
>   It is likely that the reasonable person would read the license  
> and think
>   that the licensor intended that the warranty disclaimer was to  
> run with
>   the redistribution without qualification.
>
> and then the immediate leap in 3.4 to:
>
>   On this analysis, the warranty disclaimer travels with the  
> distribution
>   and the distributor has no ability to qualify it.
>
> is where the author goes astray, and with it the rest of the  
> argument. The need to "retain" the original license in any  
> redistribution does not imply that any redistribution must be under  
> that original license.

True.  But neither does the BSD license grant people the right to  
relicense code under the terms of some other license or to modify the  
terms of the license as it appears in the README or source code files.

> It is included to communicate to the recipient that some subset of  
> the code, perhaps even all of it, was originally under that older  
> license.  It doesn't preclude the possibility that there is a newer  
> license, perhaps even to cover newer modifications or newer code.   
> Nor would a newer license prevent a recipient from exercising their  
> rights around the older code under the older license.

If they produce a modified version or they combine BSD-licensed code  
with additional software they've written, the portions they wrote or  
changed can be licensed under whatever terms that author wishes  
(assuming for the sake of discussion that the changes are not so  
trivial that they would not merit copyright protection), but the  
original unmodified sources are still under the terms of the BSD  
license.

On the other hand, if someone modifies or adds code to a BSD-licensed  
program, and their changes are also put under the BSD license (which  
is the normal case, as the BSD projects will generally not  
incorporate changes made under other licensing terms), that person is  
a "contributor", and the terms of the license including the  
DISCLAIMER would apply to that person as well as to the original  
authors.

> That suggests that no, the warranty disclaimer doesn't  
> automatically apply to the redistributor.  Most redistributors who  
> care about this issue have probably separately disclaimed their  
> liability for any third-party software they are redistributing, and  
> separately for any of their own code. Another angle to this is that  
> a redistributor could establish a code-insurance business, whereby  
> they sell policies that assume liability for someone else's code,  
> because they've vetted the risk against the price they think people  
> will pay for such a guarantee.

Sure.  If you want to build your own version of a BSD-licensed  
program (creating a binary version which is a derivative work of the  
original sources), and offer a warranty yourself for your particular  
version of the program, you are free to do so-- but you'd need to  
preserve the original DISCLAIMER in order to indicate that the  
original authors have no liability with regard to your modified/ 
derivative version that you've decided to provide support in exchange  
for a fee.

> At the same time, I have sympathy for:
>
>   What the court is looking to determine is what the reasonable person
>   (ie an idealized and dispassionate citizen who is called on to  
> assess
>   the scope of the license) would make of the words.
>
> Would a reasonable person who found the BSD license in a bundle of  
> code assume that the notice applied to the whole thing?  Is that  
> what the original Berkeley Software Distribution copyright holders  
> intended by the word "retain"?

Part of licensing software includes clearly identifying the software  
(or portions of the software) to which the license applies.

This perhaps isn't especially clear in the article on Groklaw as it  
is discussing a generic BSD license template, but in real-world  
usage, the software for which the BSD license terms applies is  
clearly identified in the README, COPYRIGHT file, source code files,  
or all of the above.

For example, the COPYRIGHT file on a FreeBSD system starts with:

> # $FreeBSD: src/COPYRIGHT,v 1.5.2.2 2006/02/16 14:49:38 kensmith Exp $
> #       @(#)COPYRIGHT   8.2 (Berkeley) 3/21/94
>
> The compilation of software known as FreeBSD is distributed under the
> following terms:
>
> Copyright (C) 1992-2006 The FreeBSD Project. All rights reserved.
>
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions
> are met:
> [ ...snipping the rest of the BSD license terms for brevity... ]

...and this is generally true in NetBSD, OpenBSD, Apple's OSX/Darwin,  
and elsewhere.  For example, if you check the header files under /usr/ 
include, you'll find that the name of the header file is included in  
the same comment block as the BSD license terms.

> He continues the mistake of confusing sublicensing with  
> relicensing, it seems, by saying in 3.5:
>
>   Moreover, if anyone could license the code under different terms,  
> then
>   any person redistributing the unmodified code could remove the  
> warranty
>   disclaimer and other terms, removing the protections expressly  
> included
>   by the copyright holder.
>
> It seems to me that even if the license were modified, the  
> protections would continue to exist for the copyright holder - if a  
> redistributor removed the disclaimer and a recipient decided they  
> needed relief, they'd seek that from the redistributor, and both  
> the recipient and the redistributor would be unable to seek that  
> from the copyright holder due to the original disclaimer from  
> holder to redistributor.

I would agree with this, although it seems to be a moot point as  
nothing in the BSD license gives anyone [aside from the original  
author(s) or copyright holder(s)] the right to change the actual  
terms of that license with regard to the original version of software  
which they'd written.

> I feel the author takes a further unsubstantiated leap when he says  
> in 4.3:
>
>   However, the original licensor has mandated specific wording to be
>   included which purports to apply to the code as a whole (ie as
>   modified).
>
> I don't read BSD that way, and I don't believe most others do  
> either. Someone reading it for the very first time, without being  
> introduced with a description of what the BSD license is supposed  
> to mean, though, might be forgiven for thinking this.

There are some people who feel that software licenses somehow  
automatically apply their terms to any and all other software used in  
conjunction with the original software in question (ie, as part of a  
compilation, or via dynamic linking, or via pipelines, RPC, or other  
form of network communication).  A canonical example is when people  
claim that you can't dynamically link libreadline.so with software  
under another license unless the other software is also under the GPL.

[ My canonical response to such claims is to have them re-read the  
section of the GPL between clause 2c & 3. ]

-- 
-Chuck