7

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?

2 Answers 2

5

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

8
  • 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? Aug 9, 2015 at 9:57
  • 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, 2015 at 14:16
  • 2
    @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? Aug 9, 2015 at 15:52
  • 1
    @Svartepjotr: "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met" <- This is the grant. Releasing it under GPL doesn't contradict the two conditions that follow, so it is allowed based on the cited sentence. opensource.org/licenses/BSD-2-Clause
    – Mnementh
    Aug 9, 2015 at 17:11
  • 1
    YOU CAN NOT RE-LICENSE. YOU CAN ONLY AUGMENT. According to the text of BSD 2-clause, BSD 3-clause, and BSD 4-clause licenses, the full text of the BSD license has to be included in any redistribution. This clearly means you can not re-license, but you can license as the original BSD plus whatever clauses you want to add that obviously do not reverse anything the existing license already says. This would meet the requirements of including the original license's text. Adding a clause to undo any prior clause would be illegal.
    – trusktr
    May 23, 2021 at 3:59
5

@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

1
  • It is difficult to license only certain changes under a new license, but doable. It would have to be made clear. You could, for example, keep original source in one repo, then write code that changes the original source in a second repo under a new license, to keep a clean separation. Then end user would need the original source (BSD) plus the new source (new license) to morph the old code into the new code for new features. It would be tricky.
    – trusktr
    May 23, 2021 at 4:02

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.