I'm writing a web app (and a REST API) and I plan to make my users pay for the software, in order to pay the server costs, but the code is available if some user wants to host the service himself.

However, I could imagine some company being interested in this service, rebranding and selling it, and ending up making way more profit than me (and also people accusing my software of being a "copycat" of theirs)


Essentially, I want the following points:

  • Allow collaboration on my own GitHub repositories (pull requests, forks)
  • Allow the distribution of the source code without selling it
  • Allow myself to sell the software but not others

The idea is that I want the software I'm writing to be open source, but want to avoid some company with more audience than me (approx. 0 at the time of writing) to sell my software.

What I tried

I checked https://choosealicense.com/ but found none that satisfy those conditions. I also heard that releasing code under a Creative Commons license is a bad idea (as a CC-BY-NC-SA would match what I want)


If you want a software license tailored to specific desires, you have to hire an attorney, talk about that you do and don't want, and get the attorney to write up a license. You especially need to hire an attorney, if you are concerned over thing that you've heard being a bad idea.

It may be that you're getting stuck because of your third desideratume: "Allow myself to sell the software but not others". Copyright means that as the author, you have the exclusive right to sell, distribute, modify and to authorize the same. You can always sell your own software: it's the others who need permission (a license). You can strike your third item from the list, because it's implicit in copyright law. Perhaps you could discuss this with an attorney and bring along the person who said that CC-BY-NC-SA is a bad idea, who might explain his concerns to the attorney.

There's no way to stop people from saying "copycat", but registering the copyright legally establishes who got there first.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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