So, after an afternoon and an evening dealing with the Slashdot effect, I have now to clearify some points and give “Thank you” notes to a few people.
First of all, let me clear this thing up: only the first post was related to actual incompatibilities between GPL-2 and 4-clause BSD license, and that was really a non issues for three reasons that came out after the investigation: first, GPL-2 allow linking to GPL-incompatible system libraries, and libkvm is a system library as it allows to access Kernel’s interface; second, s-s-d was not originally under GPL-2, but rather released in Public Domain, so we can still re-license it as such (and I’m sure Roy will be clearing that up for the next version of baselayout); third, libkvm was almost entirely under UCB’s copyright, excluding the PowerPC and ARM interfaces, so it was actually released under 3-clause BSD, also the PowerPC interface figured a 4-clause BSD just for an error during copy-paste, and the author already agreed to release it under 3-clause BSD.
So the problems with s-s-d and libkvm were all moot points after proper examination. Why did I remove the stages from the mirror, then? Because I wasn’t sure anymore of the licensing status of what was done before I joined the project; I was very careful with my additions, but I didn’t really know about those things that were handled before I joined, and as I prefer to play safe with licenses and possible legal troubles (especially since it’s the Foundation that would answer to them, and I wouldn’t really like to waste the Foundation’s money in a legal action), I asked solar to put the stages back in my home on Woodpecker, while we decided on the action.
So here goes the first post, with nothing to worry about.
The second, and third, posts instead talked about another problem, that came up when looking up 4-BSD licensed code in the sources. Beside all the code that was released under 4-clause BSD by UCB, and was then re-licensed under 3-BSD afterward, thanks to UCB, there was (and there is) code released under 4-clause BSD by other contributors. What does this mean? Well, per the understanding of everyone, this means that «advertising material» referring to «the use or the features of such code» require the long acknowledgement of all contributors, the problem is defining what «advertising material» and «the use or features of such code» actually mean.
I know this vision is not shared (as some of the answers I got were more optimistic, although none gave any safety about correctness), but I’m such a person that always looks at the worst case, so that if the things turn up to be better than that, I can rejoice. What I read in that clause is that anything referring to the use of FreeBSD as an operating system falls under the reference to the use of the various parts of the code; maybe I’m wrong, I hope to be, but failing to find a lawyer able to determine this without going in court, I’d rather play it safe, and consider it on the worst case. If that is actually true, an hosting provider advertising the availability of FreeBSD server would be required to show the acknowledgements. Of course, that one of the people listed there would decide to sue a service provider, or one of the Foundations that redistribute that code, is unlikely, but there are also companies like Intel there listed, so it isn’t to rule out entirely.
What are the solutions then? The perfect one would be to rule out all the 4-BSD code, either by asking permission to the authors to drop the advertising clause, or to rewrite the code so that it does not require to follow that license; as this solution is not easy to introduce in the short term, what I’m considering a good compromise to resume the work on Gentoo/FreeBSD is providing a list of acknowledgements that can be easily looked up and added as fine print on an eventual advertisement, still hoping to be able to reduce the list to a few names in the future.
So now for the thanksgiving, I wish to thank a few people that involved themselves in this mess: David O’ Brien, whom I contacted in the first place about libkvm, and was able to give me all the needed information, Mayank Sharma who contacted me to write about the problems on NewsForge, Brett Smith who answered to my enquiry to FSF, but more than anyone M. Warner Losh from FreeBSD who cleared up to me the non-issue of UCB code and who’s also doing a quite long and boring review of the license headers in FreeBSD sources to remove the advertisement clause from UCB-copyrighted sources.
So, yes, there are issues with licenses from time to time, but the great thing about Open Source and Free Software, is that the issues can always be solved, even if it might take a little time 🙂 And yes, I know this issues was known by many already 9 years ago, but it was still a timebomb, for the base problem that people might just copy and past a boilerplate license (like I’m sure some of the people who currently have a 4-clause BSD license over some of the sources had), causing the problem to aggravate rather than resolve.