Discussion continues on the Linux Kernel mailing list about the legality and morality of re-licensing BSD/GPL dual-licensed code under only the GPL. Alan Cox replied to Theo de Raadt's comments
suggesting he was encouraging people to break the law,
"re-read my email and then apologize. I do question the .h files where they are BSD licence and no changes were made to the work. I also point out that the dual licence on that code appears to give permission to distribute under one of those licences by choice." In response to Theo's request that code be shared both ways rather than converted to a sole GPL,
"that's about the first thing I would agree on - its somewhat rude and not something I personally would usually choose to do."
Member since:
2007-09-06
As a software developer, and of course IANAL, the thing that is explicitly bothering about this whole scenario is the following:

I release chunk of code x under the BSD/ISC, which is typically the license I release open source under:
FileA.c
File A has lines 1-100 all released under BSD/ISC.
Someone comes along and modifies lines 20-29, and releases their changes under GPL.
With this in mind, isn't the file now:
Line 1-19 BSD based
Line 20-29 Patched to GPL based
Line 30-100 BSD based
It's not that I gave anybody permission to make a single modification and redistribute the entire source file under a different license is it? They, having copyright ownership of the changes of the 10 lines they made, can choose to use something other than the original license, however they cannot strip my original intent for the lines of the file that are explicitly authored by myself. Of course this could boil down to characters, but for the sake of simplicity...
If company X compiles the source to binary and distributes it under a different license, even without changes to the source code, they are still not distributing my exact work, which is the source code, is this correct, since the BSD license makes no mention of binary distribution (besides the acknowledgment piece), but if company X distributes the unaltered source code, that FileA is still BSD, correct? If they distributed altered source code, well isn't the unaltered portions still BSD?
So in effect, the file is dual licensed, but only in the sense of FileA lines 1-100 BSD and FileA lines 20-29 patched GPL?
I understand my work as BSD can be derived in commercial products, however quite a bit of the time such distribution is binary only, and if it were source, then I would expect my FileA to still hold it's BSD license within the portions of the file which maintain my owned code, and if said commercial company wanted to lock down it's changes it could do so if throughly documented what was BSD and what was not.
Is this an invalid approach? I personally choose BSD, I don't have issues with GPL, I use Linux and a bunch of other GPL applications, however I do not see how someone could modify a small portion of my intellectual property and claim they can affect all lines 1-100 of a source code released file.
My conclusion, and again IANAL, would be that while unethical, the specific changes could be GPL only, however explicitly removing the BSD portion is not allowed, and more explicitly it would need to be maintained within the source code exactly what portions are GPL only and which are the original BSD. Of course, the best thing would be to say the entire piece is BSD, since BSD conforms to the openness of GPL but with arguably more freedoms to the code, it doesn't matter if GPL is in there or not, although of course it could be left in there to make people "feel better" or to resolve conflict of the consideration of a "tainted module".
I haven't seen anything over the course of this whole thing bringing this up. Is this a common sense view to the situation, or am I not over analyzing enough?