Subject: Re: BSD license for new code?
To: Curt Sampson <cjs@cynic.net>
From: Chris G. Demetriou <cgd@netbsd.org>
List: netbsd-advocacy
Date: 08/19/2004 06:24:22
At Wed, 18 Aug 2004 10:15:44 +0900 (JST), Curt Sampson  wrote:
> Having seen what Chris Demetriou went through a few years back
> trying to figure out the licensing of NetBSD, this kind of thing no
> longer surprises me.

IIRC, I mostly just helped -- a coworker had most of the actual pain.
But that hasn't stopped me from complaining about it.  8-)

Getting rid of clause 4 of the classic BSD license is IMO useless for
commercial users.


> >     d)	One method to ease the workload of third parties is to
> > 	build & maintain a "license register" of every source file
> > 	in the system, and provide tools that will display the
> > 	copyright & license conditions for the requested files.
> 
> Nightmare, and even just keeping track of what files you took stuff from
> is a lot of work.

Right.  In addition, it's not obvious to me that there's *really* a
particularly sane way to deal with keeping such a list up to date.


I think the only sane solutions to this are:

* require code carry a particular license or license with an exact set
  of features (and verify carefully each license brought into the
  source tree), or

* require copyright assignments for contributions.


The former may be hard to get people to adopt, or may be hard to
enforce.  (Personally, I'd say require code to carry a particular
license.  Copyrightholders can grant NetBSD permission to distribute
code w/ the license... which conveniently also means that
copyrightholders would be *checked with* to verify OK-ness of code
before integration!)

Forced assignemnt is, well, simply not acceptable for many corporate
contributions that might be of value to NetBSD.  IANAL, so i don't
know all of the pitfalls.  But you run into people who don't want to
assign, and you run into people who want to license in arbitrary ways.
You can technically get by the latter by allowing the original author
to redistribute the copyrighted material under any license terms that
they choose... but then you end up with stuff that just looks alien,
e.g. Copyright <assignee organization> w/ some license that they would
never ever use.

Assignment works OK for gcc/binutils/etc, IMO.  If you write code that
goes in there, then typically it's very special-purpose and isn't
going to go elsewhere easily, if at all.  It breaks down for drivers
(which ideally a vendor could use universally), and even for some
toolchain-ish things.


It's obviously hard to go back and fix stuff 10+ years after leaving
the gate, too.  8-(


There are other entertaining issues.

E.g., if i find time, I'd like to assign any files in NetBSD whose
copyright I own to TNF.  IIRC (i've not looked in a while) TNF's
assignment forms, like the FSF's (again IIRC) require that the
contributor (me) indemnify the Foundation regarding IP badness caused
by my contributions.

Stuff with my copyright notice has been copied by others, with my
copyright notice preserved, and sometimes modified substantially
without any notice of modifications or any additional copyright notice
having been added.

So, then, what *can* I reasonably warrant with respect to any files
marked as "Copyright <me>" in the source tree?

Without tracking down the original source of every instance of
copying... it's difficult for me to guarantee much at all.




chris