"The licensing trouble began," says Pettenò, "when I looked up the license under which libkvm was released, as I was going to link into a GPLv2 software (portage-utils, a Gentoo-specific utilities package), and I found it using the four-clause BSD license (the original one, basically). When I looked up what else was using it, I found we were already redistributing a binary handled under GPLv2 license that could cause us issues." He immediately stopped public distribution of the project's files.
The license in question is the original BSD license, which was in use till 1999. One of its clauses, notoriously known as the advertising clause, requires all advertisements mentioning the software to include an acknowledgment sentence that credits the University of California, Berkeley, and its contributors for their efforts. This wasn't much of an issue until other developers started modifying the statement to credit themselves for their modifications. This becomes a headache when software with the same clause makes its way into an operating system like Gentoo/FreeBSD. In effect, it requires Gentoo/FreeBSD to reproduce every credit statement in all their advertisements.
The clause was dropped from the original license when Richard Stallman brought the issue to light. The new license, called the 3-BSD license, allows a distributor such as Gentoo/FreeBSD to legally drop the controversial clause. Since libkvm was under UCB's copyright, Pettenò made the necessary modifications to the code to take care of the issue.
"This seemed at first to solve the issue, but [that] wasn't the case after all," Pettenò says, "as I expected most of the code not under UCB's copyright to be under 3-BSD licensed." A quick and dirty grep on the source code for the latest release candidate for FreeBSD 6.2 told him that there are several source files that are not copyrighted by UCB but are still released with the advertisement clause.
"We (the developers of Gentoo/FreeBSD) didn't understand whether we were bound by the advertising clause. Does it require us to add all the notices of the stages we release containing code produced by the various authors, or not? In case we need to, we don't really know if 'advertising material' refers only to actual advertisement of Gentoo/FreeBSD, or also to documentation. The term is quite broad."
Confused, exhausted, and without any ready answers, Diego turned to the Free Software Foundation for help -- and the answer wasn't very encouraging. The FSF confirmed his fears that the project is bound by the license. "But they told me they only heard ... that clause ... [referring] to "true" advertisement, like in a magazine, newspapers, or on TV and radio," Pettenò says. "This does not really help, as it's not just advertisement by us that would have to have the acknowledgments attached, but any advertisement of a product that would use Gentoo/FreeBSD. Or any *BSD project."
In his blog, he writes that all the *BSD-derived projects have some piece of code under the 4-BSD license that is not copyrighted by UCB. "That would then require them to provide the acknowledgments on all the 'advertising material,' whatever that is. And I'm pretty sure most of the *BSD projects have something that can be considered advertisement even to the stricter of the meaning."
Meanwhile, as his blog was Slashdotted, several people made the mistake of thinking the issue involved compatibility between BSD- and GPL-licensed code. Daniel Ravicher, legal director of the Software Freedom Law Center says, "We agree that BSD with advertising clause is incompatible with GPL. To the extent the interaction -- what is referred to as linking -- between these programs creates a derivative work under copyright law, then that work cannot be distributed in compliance with both licenses." But Pettenò clarifies that this did not apply here due to GPL exceptions on system libraries.
As to the solution, he thinks that the only way out is to track down all the copyright holders and convince them to change their licensing terms to the new 3-BSD license. "I think NetBSD project has already relicensed their code, or at least the newish code coming from their CVS -- like libedit -- which is released under 3-BSD rather than 4-BSD."
Pettenò has promised to resume the project as soon as he can get a safe list of the entities to acknowledge, and try to reduce it by contacting the proper copyright holders. "The important thing is to know what we're developing with, so that in the future mistakes like the 4-clause BSD license can be avoided."