Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
scroll top