Licensing – Managing GPL and BSD License Files in Practice

bsd licensegpllicensing

I am writing code that uses one library with GPL (not LGPL) license, and one with the 3-clause BSD license. Since I link to GPL-licensed library, my code will need to be GPL as well. How should I, in practice, deal with the original LICENSE.txt from the BSD-library?

(A) Can I distribute a project so that the main source code is GPL-licensed, and then some subdirectory is BSD-licensed?

(B) If I were not only to link to libraries, but to use and combine the BSD and GPL code in a more involved manner, what to do with the LICENSE.txt then?

The 3-clause BSD text tells: "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer." so apparently I should retain the copyright notice, and that list of conditions, somewhere. But then I'll also need to put the GPL license txt-file somewhere.

Further, apparently I don't need to retain the "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:" part of the BSD license text, since it only tells me to retain the other parts.

So, how, and in which text files, should I in practice organize the GPL license text and the parts of the BSD license and copyrights that I retain?

EDIT: So in case B, I would be taking 3-clause BSD licensed code, and redistributing it under GPL, which is permitted, as 3-clause BSD license is (one-way) compatible with GPL. I am just asking how to deal with the license texts and textfiles in practice.

Best Answer

For simplicity, it is probably best to release the entire thing under GPL. 3-clause BSD license has no form of copy-left, so you are well within your rights to rebrand it, as long as you maintain its notice.

You will end up with two kinds of files:

  • Originally BSD files: needs to have both headers, order isn't important to my knowledge, just that they are there
  • Your files and originally GPL files: need to have the GPL header

And of course for any binary release you will need to include a link to source and both headers in some form of another. I would recommend the standard GPL, followed by "Portions of this program were originally released under the following license" or something like that, you can likely find examples of this happening in the wild if you look for it.

Note that I am not a lawyer, nor do I specialize in either open source licensing, or licensing in general. I am simply relaying what my interpretation of the given licensing combined would look like.