Subject: RE: question about copying small amounts of code from BSD, MIT or Apache 1.1 licensed open source...
From: "Lawrence Rosen" <lrosen@rosenlaw.com>
Date: Wed, 5 Jan 2005 18:46:50 -0800

> >Pete Eakle wrote:
> >>if I am looking for examples of how a certain API is invoked, and I
> >>find a good example within a method of some open source with a
> >>permissive license, such as BSD, can I copy those few lines of code
> >>into my program without having to also add the BSD copyright statement
> >>to my program? 

Rod Dixon responded:
> This response assumes facts about the code snippet and the poster's
> software we don't know. If those assumptions about the code copied and the
> new program created happen to be correct (Big IF), then the derivative
> work, if publicly distributed, would be subject to the rather
> unrestrictive
> BSD license.

You're quite right to point that out, Rod. And the considerations (What's a
snippet? What's a derivative work? What's fair use?) in your earlier email
today on this topic are also dead right. 

But assuming ("Big IF") those assumptions, wouldn't the derivative work also
be subject to whatever license Pete applies to his derivative work? The BSD
license allows that result. Pete's license need not be the BSD license.

But also to be clear, Pete does have to add the BSD copyright and license
notices into his program. I suggest that the source code is the best place
to put those notices. (see below)

Mirabile wrote:
> >You're effectively creating a derived work of both your old programme
> >and the BSD licenced code, thus the derivate has to fulfil *both*
> >licences, and list both.

I don't think this is always correct. If we assume that Pete created a
derivative work out of two preexisting open source programs, then the
derivative work indeed has to fulfill *both* licenses, as you say. But if
Pete wrote his program from scratch, with the only contribution being the
BSD-licensed snippets, then Pete can choose any license at all for his
program, as long as he *also* satisfies the conditions of the BSD license.

As for Chad Woodford's point in another email:
> If you comply with the terms of the
> BSD license in this kind of situation, it can be difficult to
> communicate to downstream licensees which code is actually licensed
> under the BSD license and which code isn't, thereby making at least the
> surrounding code (probably the entire file) subject to the BSD license.

It shouldn't be difficult at all. Pete can place all the relevant copyright
and licensing notices in the source code of his software. Any downstream
licensee who intends to create and distribute a derivative work of Pete's
program can look in the source code and see notices of all of the
obligations he will incur by doing so. It is easy for Pete to say: "The BSD
license applies to the following snippets of code, but Pete's license
applies to all the rest and to the work as a whole."

/Larry Rosen

Lawrence Rosen
Rosenlaw & Einschlag, technology law offices (www.rosenlaw.com)
3001 King Ranch Road, Ukiah, CA 95482
707-485-1242  ●  fax: 707-485-1243
Author of “Open Source Licensing: Software Freedom 
               and Intellectual Property Law” (Prentice Hall 2004)