Say a vendor has both a community version of their software and a more proprietary one.

How can this be done in licensing terms?

Can code be ported either way?

What are the appropriate practises if any?


Dual-licensing is easily enough done, because licences do not inhere in code; they apply to the conveyance of code, so different conveyances may be done under different terms. Wikipedia has a fairly good entry on it.

Can code be ported either way? As curiousdanii has noted in response to your other, similar question, it depends on the "open source" licence used; in addition, it depends on who owns the copyright.

For movement from free to proprietary code, this is broadly impermissible under "strong copyleft" licences such as the GPL, and permissible under weaker free licences such as BSD.

For movement from proprietary to free code, this is entirely at the whim of the copyright holder, so projects that wish to have a dual-licensed model may well require copyright assignment. As this writer noted,

MySQL had a policy that any code contributed to the project required that the author assign the copyright to to the MySQL corporation. This gave them full control over the application, including the ability to publish it under different licenses.

I'm not sure what "appropriate practices" you might be referring to, so I can't answer the last part of your question.

  • Appropriate practises in the sense of what is acceptable. So in the case of copyleft licences apparently aim to keep code and derivative works open while preventing that all or parts are used in anything proprietary. – James P. Jun 9 '16 at 14:22
  • So, to sum things up, an initial piece of software can be diffused under two licences but they should evolve separately. No code should be copied from a project under strong copyleft, licenses like BSD make integration into proprietary code possible and proprietary code can be copied to strong copyleft or BSD if the copyright holder decides to do so. Is this correct? – James P. Jun 9 '16 at 14:26
  • 1
    No code should go from strong copyleft to proprietary except when moved by the copyright holder. Other than that, yes. – MadHatter Jun 9 '16 at 14:44
  • 1
    It depends on whether the project insists on copyright assignments. If it does, then the project is the copyright holder, and can move code from GPL to proprietary. If it doesn't, then any contributor can reuse their own contributions in some other proprietary code; but the project can't. That's why MySQL, amongst others, insists on copyright assignments (though it's not the only reason why a project might so insist). – MadHatter Jun 9 '16 at 15:48
  • 1
    I don't feel I can answer the other one, as I'd merely be reiterating what I've said here. Hopefully someone else will come along and clarify matters. But if you think we're done here, could you please accept the answer? – MadHatter Jun 9 '16 at 16:13

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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