I want to modify and merge some software that is available under the two clause BSD license into a project that is available under the GNU GPL version 2.

I want to distribute the result under the GNU GPL version 2.

Is this allowed without getting permission from the owner of the copyright to the BSDed code? (I've tried to contact them, but there has been no reply.)

If it is allowed, are there steps I need to take?


Yes, you are allowed to do this, if the software is licensed under any BSD license other than the original 4 clause license.

There are a couple of different The BSD licenses. The Original BSD license or 4 clause BSD license is incompatible. The others (3 clause BSD license or revised BSD license, 2 clause BSD license or simplified BSD license and ISC license or OpenBSD license) are compatible.

The original four clause license has become fairly rare. Its incompatibility stems from its clause 3:

All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the (organization).

The FSF maintains a list of licenses which (among other things) indicate whether a license is compatible with the GPLv2 and/or GPLv3

  • 1
    The license is the 2-clause BSD-license. It does not appear on the FSF list you link to. Also, the license does not appear to cover re-licensing. Could you expand your answer and explain why it would still be OK to re-license this code to the GNU GPL? – Svartepjotr Aug 9 '15 at 9:57
  • @Svartepjotr It does, under gnu.org/licenses/license-list.en.html#FreeBSD – Martijn Aug 9 '15 at 10:00
  • Thanks. Being listed as compatible by the FSF helps a lot. But I would still like to know why I can go ahead and re-license this code without being sued. – Svartepjotr Aug 9 '15 at 10:04
  • 1
    @Svartepjotr: You can relicense, as the BSD put only a few restrictions on the use, distribution and modification of the software. It has no rule to demand that it is redistributed with the same license. You only have to follow the license in question (BSD). As the main demand of 2-clause-BSD is proper attribution, you can relicense under everything, that keeps proper attribution intact. The GPL also demand proper attribution, so it is all right to redistribute under the terms of the GPL (the other way wouldn't work). – Mnementh Aug 9 '15 at 14:16
  • 1
    @Mnementh. I was under the impression that under US copyright law, all rights that are not granted, are reserved. I am unable to see where the 2-clause BSD-license grants the right to re-license under GPL? – Svartepjotr Aug 9 '15 at 15:52

@Svartepjotr: A general take on using different redistribution terms: Yes you may distribute the source and binaries even if you choose follow the restrictions of GPL, but the distributed source/binary still keeps the permission to distribute it further BSD-style. You may not remove that permission - you must supply the terms of the permission given by the BSD license along with the data which you distribute. So yes you can apply GPL to your behavior, it is fully OK but you can not remove the rights granted by the original license, so your recipient will not be bound by the rules you choose for yourself. Thus far, adding a GPL clause to otherwise unmodified BSD source is plainly illegal (as it would be a false statement about GPL restrictions, which actually do not apply to your recipient).

The problem is, you probably do not indicate to the recipient which parts of a modified work are covered by your copyright and thus are not covered by the original license. This in practice makes it impossible to use the original free permission for the parts still being under the original copyright and license. This forces the recipients to obey GPL for the whole, to make use of your added changes.

This is not any "relicensing", just two separate licenses valid for parts of the work, which are usually deliberately mixed together to make them practically inseparable (unless you specify which parts you changed and how, iow distribute your patch to the original code, such a patch would be indeed a clean GPL work).

To answer your question:

  1. yes you can use BSD-licensed code in a GPL-licensed project

  2. you can not "relicense" but you can add your more restrictive license to modified files and this will in practice void the rights granted to the BSD-licensed part, which part will still exist and bear the original license and permissions

  3. you must of course keep the original copyright notice and the license text

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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