12

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?

1
  • 1
    I asked a similar question on the Open Source Stack Exchange: opensource.stackexchange.com/questions/4837/… I feel like we haven't yet found a conclusive answer; all we have is a dozen guesses. It would be great to hear from an actual lawyer, or maybe even the FSF themselves. Mar 19, 2017 at 18:15

4 Answers 4

8

That's an interesting question. Disclaimer: IANAL.

The quoted fragment means the BSD licensed code can be used in a project which is licensed GPL.

On the other hand, you're still the copyright holder of your code. The 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: https://stackoverflow.com/questions/821608/relicensing-a-bsd-library

2
  • 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? May 11, 2011 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, 2011 at 13:23
6

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.

1
  • 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.
    – Armand
    Jul 27, 2012 at 7:27
2

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.

3
  • 2
    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. May 11, 2011 at 15:10
  • 3
    @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
    – Armand
    Jul 27, 2012 at 7:23
  • 2
    opensource.org/licenses/mit-license.php explicitly states that anyone obtaining a copy of the code may sublicense the software. Sep 13, 2012 at 20:20
2

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.

2
  • 1
    I believe the statement above "You cannot re-license something you do not own" is incorrect, many licenses do grant the right to sublicense copyrighted works. Sometimes sublicensing grants further restrict what rights may be granted under the sublicense, but not always. The specifics depend on the situation, and whether you have been granted the rights to do so.
    – Cameron
    Aug 21, 2016 at 7:27
  • Also, if you include the BSD license in your copies, it means the code is still BSD and it cannot be under GPL at the same time.
    – warvariuc
    Jan 7, 2019 at 18:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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