28

I have scientific software that I would like to release under the BSD 3-clause licence, but it includes some old code that was released under GPL.

Can I still package it all and release as BSD?

2
  • 8
    Are the "old open codes" copyrights that you own?
    – rolfl
    Jun 23, 2015 at 18:32
  • 1
    I think you can do it the other way around. Oct 24, 2016 at 17:16

4 Answers 4

21

Not with the license as it is. You will need to contact all the licensors of the GPL code, and request that they release it to you in a license that is compatible with the BSD license.

Alternatively, you can release your code as GPL too.

14

No, you cannot. By including GPL-code, you are including a dependency of GPL-protected code, and therefore your code is only derived work from it. The terms of GPL requires that derived work is also published under GPL.

From the GPL faq:

If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL?
Yes, because the program as it is actually run includes the library.

6
  • 1
    This depends; if he's just dynamically linking against some GPLed code it may not count as a derived work. More information is needed to make this claim.
    – anon
    Jun 23, 2015 at 18:24
  • That's about statically linking or distributing GPLed code if I'm not mistaken.
    – anon
    Jun 23, 2015 at 18:30
  • 4
    That statement is wrong and overbroad. Sounds like a good candiate for a new question at which point I'd be happy to answer with some sections from the actual license.
    – anon
    Jun 23, 2015 at 18:38
  • 3
    Different points of view / legal theories on this are covered fairly nicely in Wikipedia: en.wikipedia.org/wiki/…
    – mattdm
    Jun 24, 2015 at 8:01
13

If you wrote the code yourself, then you're the licensor and can use the code as you see fit, however:

  • GPL does not allow sub-licensing;
  • If you used code from other sources (for example, Stack Overflow), you'll need to attribute the code used, and review the license the code uses if the author/owner needs to give their express permission;
  • If you released your code under a licence then change the license used, the previous licence still applies to those who use the code under that license. You will be unable to take any legal action against them

You (very obviously) can't 'pinch' code from somewhere and then re-license it (as your own creation).

1
  • Attribution is not enough in most cases. Stack Overflow only permits sharing by attribution because it requires user contributions to be licensed in CC-by-sa 3.0.
    – Unihedron
    Jun 23, 2015 at 18:25
12

If you wrote the code, you can do whatever you want with it. You own the code, you own the copyright. A license is you granting others certain rights, but as the author you have not given up any of your own.

What you (probably) can't do is then turn around and take legal action against someone who's still using your code under the terms of the old license (though this hardly matters as you're going to a more permissive license). They'd probably be "grandfathered in".

If you don't own all the code, you can not relicense code that others wrote (obviously). It was hard to tell from your question if you owned everything or not; if you're talking about bundling libraries with it that are GPL licensed (and not written by you), you may be in violation of the GPL if you distribute them (and you certainly can't re-license them). This would require a lot more information, however, and is probably deserving of its own question.

TL;DR — If you're the copyright holder, you determine the license and can do whatever you want.

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.