HACKER Q&A
📣 freeloaderz

Adding non-commercial clause to open source license?


Has anyone has released software with an open source license (eg MIT) with an additional "The software is for non-commercial use unless you have purchased a license, sponsor development, contribute something, etc....." clause?

I imagine people will either find something else or just ignore/violate the clause.

Have you tried? How was it taken?


  👤 mindcrime Accepted Answer ✓
Yes, it's been done. No, it's not a good idea. And the result is no longer open-source. I'd strongly advocate not doing that. If you want to make something "shared source" or "source available" (as opposed to open source) it would be better to use an existing, well-known license for that. Microsoft put out a few such licenses years ago[1], maybe consider one of those.

[1]: https://en.wikipedia.org/wiki/Shared_Source_Initiative


👤 phoe-krk
It has already been tried - see e.g. the duo of https://paritylicense.com/ + https://prosperitylicense.com/

Just don't call it open source or free software. It's source-available at this point.


👤 gus_massa
Some people have tried, for example https://commonsclause.com/ but it breaks the definition of "open source". With that additional clause it's just "source available". (Some people disagree and call it "open source" anyway.)

👤 josephcsible
There's a reason that you haven't found any open source licenses that already have such a clause: any license that did would violate the Open Source Definition. The best way to accomplish your goal is to license your code freely to everyone under the AGPLv3, and then sell exceptions to companies that refuse to use that license.

👤 glacials
You can accomplish this with dual licensing (e.g. GPL and commercial), where the user decides which license to fulfill.

Once upon a time I built a platform to simplify this [1], but it didn’t take off—between the extra mental effort, the impact to growth, and the inability to call it “open source”, I think most authors just prefer the simplicity of MIT.

[1]: https://license.land/


👤 samuelstros
I stumbled on multiple initiatives (licensed).

N8n seems to work as a "fair licensed" project, see https://github.com/n8n-io/n8n and their corresponding license initiative https://faircode.io/ .

https://polyformproject.org is another initiative with multiple different (easy to understand) licenses.


👤 D13Fd
You might as well just make it closed source or "source available." Almost all uses are "commercial" in some sense, and including that clause adds too much risk for most reasonable uses (including many uses that you would probably be fine with) and potentially pollutes the pool if your source is then used in another project that is offered with a less restrictive license.

👤 stu2010
Organizations with any kind of license review will immediately decide that this tool is unusable and move on.

Your only options for making a tool that you expect people to use and respect the license are the big FOSS licenses, or have it be unlicensed and sell licenses.


👤 bxparks
I don't mind commercial use of my software. I do mind having to spend time and effort to answer support questions, feature requests, and incorrect bug reports from commercial companies. Of course, I usually don't know they are from commercial companies (but occasionally I find out at the end after spending several hours). How do other people deal with this?

👤 nyellin
I'm CEO of an open source based startup (robusta.dev for Kubernetes monitoring and troubleshooting) and IMO those limitations are usually a bad idea.

In my experience, most contributors start by playing around with software, then properly using it (often in a commercial setting), and only later on contribute.

What are you trying to accomplish by restricting commercial usage? If you'd like to monetize there are a number of alternative options for that. If you're bitter because people are using your software without contributing, I would suggest just not making it open source then. The ability for anyone to take it and use it is fundamental to FOSS.


👤 huhtenberg
I use Commons Clause [1] tacked onto BSD/MIT licenses for the code that I don't mind sharing, but that I may also turn into commercial projects later on. To date this has never surfaced as an issue. This combo is technically not Open Source as per OSI definition, but it achieves exactly what I am after, which is to let others to see, tinker, hack and adapt the code to their needs, but without making money off the derivatives.

[1] https://commonsclause.com/


👤 laurent123456
If that can be of any help, we've recently updated the Joplin Server license to a "Personal Use License" which disallows commercial use. It is not open source of course, but allows sharing your work while putting some restrictions.

This license was crowdfunded and anybody is free to reuse its text as a base template:

https://github.com/laurent22/joplin/blob/dev/packages/server...

Also one thing you need to keep in mind, is that if you have such license you'll also need to make sure that anybody who contributes signs a CLA such as this one, otherwise the ownership of the code is not going to be clear:

https://github.com/laurent22/joplin/blob/dev/packages/server...


👤 ozten
Use the license to protect your IP, but don't try to accomplish everything with your license.

Use terms of service and marketing to get paid.

Compelling reasons customers pay:

1. To receive a license key that unlocks paid features

2. To receive support and better documentation

3. To take advantage of cloud features

4. To support future development efforts

5. Access to beta branch (early release)

6. To use a hosted version of the software

Wordpress ecosystem is worth looking at. Everything must be GPL and their is a ton of business going on there. Example terms of service [1]

(I am not a lawyer and probably used the wrong terms)

[1] https://theeventscalendar.com/terms/


👤 hgs3
What's your goal? If you want to prevent people from profiting off your work, then adding non-commercial language is the appropriate thing to do. "Open Source" isn't a trademarked term. You can legally use it to describe your non-commercial software, but you will face criticism from those who strictly go by the OSI definition. Alternately, if being OSI approved matters to you, then consider releasing your software under a viral, copyleft license like the AGPL and then sell closed source licenses.

👤 not2b
As others have said "non-commercial use only" means "not open source". But ignoring that for the moment, what does "non-commercial" even mean? Is the license violated if the software is used on a website that has ads? Can a for-profit company use it for any purpose? Can a self-employed consultant use it to assist with their work?

In academia there's a lot of "for research purposes only, get a license otherwise" software releases. Again, the line for what is allowed and what isn't is very vague.


👤 dangus
I'm not an expert or anything, but you could consider making the "community edition" open source but then all the components used to better integrate with large organizations closed source (e.g., SSO, team/group management, white labeling, high availability deployment tooling, or any other features that are only relevant to companies doing large scale projects).

You could also make support contracts and uptime guarantees part of a paid package.

Of course, if you're just making a little utility, none of this applies.


👤 mxmilkiib
Aside; Cardinal, a VCV Rack wrapper, compiles in a bunch of modules, and a lot of care has being taken to avoid certain software and asset licences, partly so there are no problems with distros creating a binary package https://github.com/DISTRHO/Cardinal/blob/main/docs/LICENSES....

👤 ushakov
maybe take a look at Business Source License?

faq: https://mariadb.com/bsl-faq-adopting/

the license: https://spdx.org/licenses/BUSL-1.1.html

but keep in mind no license can protect you from misbehaviour. A license is worth nothing if you don't have the resources to fight in court


👤 Mikeb85
And what's your end goal? Why not just make commercial software? Or just make open-source software and sell a service or extra features?

👤 axiosgunnar
> contribute something

Sure, let me fix that typo in your readme. Thanks for the perpetual commercial use license!


👤 tomcam
How much FOSS software do you rely on that has similar terms?

👤 pinephoneguy
IME the GPL is extremely effective against commercial abuse of FOSS. I don't know what advantage this license would have since you'd need to prevent the people you're granting the license to from changing it in derivative works (otherwise they could just re license it as MIT again.)

👤 2Gkashmiri
i would suggest going through "open source vs foss" licensing philosphy. that said, i suppose SSPL does what you want. its not "open source" by definition because its not in the list but foss people would agree its the evolution of AGPL.