TL;DR: Basically "Hey, look, I felt your soft A lacked this so I made this Soft B. You can buy it and add it or do whatever you want with it but don't be a dick and give credit where it's due. Also there are a bunch of people who made forks so let them be. They can do whatever they want with them as long as they attribute original authors". What to do? Is there some existing license, CLA or something to do that?

What tools (licenses, agreements) are needed to make a software so that:

  1. the code is freely available* (something like "open source" but I know there are some technicalities with what "open source" actually means)
  2. forks can be created under something similar to LGPL-3.0 (must share source and additionally attribute original contributors)
  3. I can decide to sell my original source to 3rd party without needing to contact the contributors and ask for their permission and without risk of someone declaring suddenly that they don't agree to selling and they want to take down their contributions. Fork owners can decide if they also want this or they want to be more open (contributors won't need to sign CLA).
  4. When you contribute to my source you will be attributed. This transfers to whatever fork.
  5. When 3rd party buys it, they can include it in their software hassle-free with no need to reveal their source. They can then do whatever they want with that code, but keep attributions.
  6. The transition from my hands to 3rd party hands is hassle free.
  7. forks can live on their own, neither I nor the 3rd party have a right to issue DMCA/C&D for them even after acquiring my original code.

Basically the above things are (imo) the result of making the following scenario legally sound: Soft A owned by big company A, I create Soft B meant to work with Soft A (without breaking their EULA/licensing etc). I can share my source, allow to make forks (they must include attributions though) and contributions, but in the future I can sell my soft B (with contributions) to A so that they can incorporate it hassle free into their codebase (must add attributions) and I can make that decision alone without contributors deciding against it. What they do with their bought source is none of my business. They cannot, however, require existing forks to be taken down.

I was initially thinking about LGPL-3.0 (forks must be open) with contributor license agreement (copyright transfer, like CAA), but I don't know if it's possible to later sell LGPL-3.0 without the need for 3rd party to open their source, or is it possible to sublicense that to them (and how). How to also force the 3rd party to attribute original authors/contributors?

Please don't bash me if the question is stupid, trivial or something, legality in software is a complicated thing and I find it hard wrapping my head around.


1 Answer 1


From the discussion in chat, it looks like a dual-licensing scheme will work best for you. You will distribute your code under LGPL, but you will also sell a proprietary license for the early version of your code, in which you are the sole rightsholder, that allows non-free products to be made with your code while requiring attribution in those products.

Since you wish to avoid requiring a CLA from contributors, you will need to be very careful, going forward, to distinguish between the sole-rightsholder version, which presumably will need bugfixes, and the contributions-accepted version.

This achieves points 1, 2, 3, 4, 5, and 7 above. 6 is questionable; recipients who take it under LGPL have a hassle-free transfer. If anyone asks for the commercial option, well, I personally think that arranging commercial contracts is a major hassle, but if you don't, then it achieves 6 also.

  • Just to clarify about the 6. CLA requirement - I would require CLA in my original repo precisely to hold rights to the contributions, the note about "contributors won't need to sign CLA" was meant for the contributors to the LGPL forks of my library (i.e. I require a CLA in my original repo, those who fork can, but are not forced to also adapt the CLA system on their forks). So your answer precisely covers all of my requirements, I think.
    – Tooster
    Sep 13 at 5:36

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.