Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

4 Answers 4

up vote 6 down vote accepted

That's an interesting question. Disclaimer: IANAL.

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.

Similar situation: SFLC Completes Review of Atheros Wireless Driver for Linux, Releases Guide for Developers.

Related question on SO: http://stackoverflow.com/questions/821608/relicensing-a-bsd-library

share|improve this answer
    
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 Machiels May 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. –  vartec May 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.

share|improve this answer
1  
presumably you can relicense a work whose license permits it, even if you are not the original copyright holder. The BSD appears to allow this. –  Alison Jul 27 '12 at 7:27

Disclaimer: IANAL.

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.

share|improve this answer
1  
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 Whitlock May 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 –  Alison Jul 27 '12 at 7:23
1  
opensource.org/licenses/mit-license.php explicitly states that anyone obtaining a copy of the code may sublicense the software. –  Frank Shearar Sep 13 '12 at 20:20

Sorry but most of you are wrong.

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.