Suppose I release some source code under the new BSD license. Is it allowed for someone else to take this code, make modifications to it and distribute it under the terms of the GPL? From Wikipedia:

Many of the most common free software
licenses, such as the original MIT/X
license, BSD licenses (in the current
2-clause form), and the LGPL, are
"GPL-compatible". That is, their code
can be combined with a program under
the GPL without conflict (the new
combination would have the GPL applied
to the whole). However, some free/open
source software licenses are not
GPL-compatible.

I'm assuming this implies that one can relicense new-BSD licensed code to GPL?

4 Answers
4

That means that BSD licensed code can be used in project that is licensed GPL.

You're still the copyright holder of your code and it's license of original code cannot be changed without your permission. Also BSD license explicitly requires:

Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.

Thus BSD license cannot be stripped away from your code.

In order to actually be able to release combined code under GPL other author would have to make "significant contribution" to the code. It's vague what it exactly means, but usually should mean at least adding new significant feature, not just minor patch.

So the BSD conditions have to be retained. That is clear. But can additional conditions be added to the list, say a GPL-like make-your-changes-available-to-others clause?
–
Brecht MachielsMay 11 '11 at 13:06

1

@Brecht: if and only if it's something new that falls as separate work under copyright work. If it's minor change or adaptation, it's not separate work, so it's not possible to re-license that.
–
vartecMay 11 '11 at 13:23

In my experience, no, you don't "re-license" something because you don't own the copyright. You only have a license from the original authors.

What you can do is use the copyrighted work in a derived work, but you have to follow the terms of the license, which in the case of BSD/MIT, says that you have to preserve the copyright notice and license on the code you use.

In practice, if someone were to use your BSD library in a GPL'd application what you'd see in their application is:

A copy of the GPL license in a text file

A separate file that claims the entire program is licensed under the GPL (and pointing them to the GPL license file for the particulars), but then has separate sections below the header saying "library XYZ is licensed under the BSD license" and then showing the license of XYZ there as well. Here is an example of this type of file, from a GPL'd application I wrote.

If someone took a snippet of code, or a file from your work, and included it in their GPL application, and then modified it, you'd probably see them include both the GPL and the BSD header on the file. The file would essentially have two authors - you and them. Both copyright notices would have to be shown.

Remember, GPL is viral so it applies to the entire work, but BSD/MIT only applies to the exact code someone wrote.

There's no prohibition in the MIT or BSD licences against relicensing. Given that neither MIT nor BSD licences add restrictions beyond what's already in the GPL (copyright and warranty bits are already in clause 1 of GPLv2's Terms and Conditions) I see no problem with forking and relicensing an MIT licenced project.

The old BSD licence had an advertising clause that didn't play nicely with GPL.

I'm no lawyer either, but I think this may be misinformation. Only the copyright holder(s) can relicense a copyrighted work. The reason BSD is GPL compatible is that BSD licensed code can be used in a GPL'd work, but the original BSD code is still licensed under BSD. As part of the derived work, it's also licensed under the GPL, but you have to keep the original license intact.
–
Scott WhitlockMay 11 '11 at 15:10

1

@Scott BSD says you must retain the clauses of the BSD. It does not however restrict adding to them, so perhaps this is a reasonable interpretation
–
AlisonJul 27 '12 at 7:23

Licensing and ownership are two different things.
You cannot re-license something you do not own. Is not your decision to make.

The owner is the copyright holder, not you. Thus you cannot re-license their work. As you do not own their work, you are only licensing it. That is, the owner is allowing you to use it. He/She is not giving ownership to you.

It will be ridiculous to think, for example, that the original author (or ANYONE that obtained the BSD code) has to follow the GPL to use the original code just because you decided to use THEIR CODE on a GPL project.

However you can license into GPL YOUR OWN code. And then, THAT PART, not the original one, is under the GPL. As the original author did not put the work on GPL and as you are ONLY licensing and NOT OWNING the original work.

You can use BSD licensed code on your GPL code (as BSD allows you this, as long as you follow BSD terms, and one is NOT TO REMOVE the license from the copies), but you cannot simply re-license the whole thing, as you do not own it. Again, is not your decision to make. If however you want to use a third party GPL code with BSD code. Then the problem will be complying with the GPL part.