I am the sole author of a piece of C++ software which so far I have kept under the GPL license. For uninteresting reasons, I am considering a switch to a MIT/BSD style license. As far as I have understood, this would prevent, in the future, to use any kind of GPL component (library, header, plugin, etc.) in my MIT/BSD licensed software.

Would it make any sense then to dual-license the software under both BSD and GPL? I would add a switch in the build system to enable/disable the component of my software that relies on GPLed 3rd party code and document that, if the user builds the software with that option enabled, then she must choose the GPL license. Otherwise, she is able to choose whichever license she likes.

Would that be a suitable course of action? How should I word this in a README file?

1 Answer 1


I am not a lawyer and this isn't legal advice.

If I really had to do what you're asking, I would release two separate versions, one licensed GPL with the GPL'd component, and one licensed BSD without the GPL'd component. I don't think it would work to have one distribution with both "versions" in it because GPL is triggered by distribution, so since you're distributing something that has a GPL'd component in it, you have to release it under the GPL. This is a case where I'd want to keep it separate to avoid any ambiguity, and your users would like to avoid ambiguity too.

When I was looking at the Qt framework a few years ago, they had dual license options, but from what I remember you had to choose one license or the other, and for some reason they said you weren't allowed to change your mind later (if you started developing your application under the GPL, you weren't then allowed to change to a different license). My memory is vague, but it's an indication that you have to be careful.

  • I see, thanks for the reply. I might be able to deal with the complexity for packaging and distributing, but what about a public github repo? Would that count as "distribution"? Having to manage two different repos would be a deal breaker probably.
    – bluescarni
    Commented Feb 23, 2015 at 16:25
  • @bluescarni - I'm not 100% sure, but I would guess that a github repository would count as distribution (depending on the access rights you set). Commented Feb 23, 2015 at 17:19
  • Are you sure about the GPL part? Because that would mean that the GPL would be able to overrule other licenses, and I do not think that this is possible. For example, say you wrote in C code a software stack that has network stuff; then you write some fancy telnet code but the latter in BSD licence. Can these two be bundled together, each retaining thei individual licences? So I am not sure if the GPL can invalidate other license, I think both will retain the license that they have had.
    – shevy
    Commented Jun 21, 2017 at 18:25

Your Answer

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

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