Matthew Dillon wrote: > :But does the BSDL allow the code to be relicensed? ie. i am a GPL dev, and i > :take a file ftp.c which is BSD licensed. Can I wrap the code in GPL license > :(though preserving the BSD copyright and license in there)? > : > :The BSD license doesn't indicate that this is allowed. > : > :Petr > > Commercial entities have used BSD licensed code for almost 30 years. > Microsoft includes an FTP with BSD code in it in their distribution, > for example, and this is perfectly acceptable. Microsoft's product, > as a whole, operates under a far more restrictive license and there > is no conflict. The BSD license was intended to allow this. There > is no question about that. > > But how do we interpret, say, a source file that is under the BSD > license then modified by a second developer who adds the GPL? Both > licenses would then be present in the source file (the BSD license > cannot be removed, except by the original author, so both would be > present). > > Clearly the BSD license does not disallow the modifications made > by the second developer to be placed under some other license. > The BSD license only covers the BSD-licensed code. The question is > how should a third party interpret the modified source file as a > whole? I do not know the answer to that. > > Theo made a point of stating that he thought it meant that the BSD > license completely trumped the GPL but Theo is no more a lawyer then > I am so all I can do is throw up my hands and say 'I don't know'.
One of the big problems is that the changes have to be significant enough for the new version to be called a derivative work for it to be possible to place the changes under a new licence. The rights for small changes are assigned to the original author, and thus you cannot claim any rights for them (and thus not add any licence). And the unchanged parts would of course still be under the BSD licence even if you make significant changes. This all creates big problems for a third person who might only want to use parts of the code, since it is near impossible to tell which parts are under which licence without investigating source history (if available). This is one reason that some companies that releases code under two (or more) licenses have separate sets of files, one set for license A, one for license B, and so on. Simply put, you cannot re-license unless you are the author (or in some other way got the right to do so, which is not given by any open source license that I know of). You can, however, make sufficiently large changes and use whatever license you want on those, but the original, unchanged, code is still under the original license. Notice that when I say "sufficiently large changes" I have no idea how much needs to be changes for something to legally be considered to be a derivative work or how it is measured but I would guess that it is measured more in functionality than in amount of code. -- Erik Wikström
