5 ms·
Ask HN: 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?
- D13Fd 5y agoYou 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.
- freeloaderz 5y ago> pollutes the pool if your source is then used in another project that is offered with a less restrictive license Did not think about that... interesting (unintended) side effect.
- pinephoneguy 5y agoIME 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.)
- tedivm 5y agoYou're getting downvoted but this really is a great point. People tend to avoid GPL in commercial settings. What blocks other people from using GPL on the commercial side is the "share alike" aspects of it, but it's still open source because commercial use is still allowed.
- q-big 5y ago> IME the GPL is extremely effective against commercial abuse of FOSS. There do exist people who consider the usage of open source software for cloud services without providing the derived source code also to be commercial abuse. To prevent this usage scenario is what the AGPL license was made for.
- freeloaderz 5y ago> otherwise they could just re license it as MIT again Doesn't the first clause of the MIT license prevent this?
- jaster 5y agoThe GPL prevents it actually (I made a sibling comment with some details)
- PragmaticPulp 5y agoThe GPL doesn’t prevent anyone from using software for commercial purposes. The OP is trying to prohibit commercial use, which isn’t a feature nor even a goal of the GPL.
- mindcrime 5y agoThe GPL doesn't explicitly forbid commercial use, but as /u/tedivm points out, it often has the effect of at least strongly discouraging commercial use. That may actually be enough for what the parent poster wants. Or not... but it's worth talking about.
- smw 5y agoI don't think that's remotely true anymore, especially in a SaaS world. Some fairly big companies use a lot of Linux, for instance...
- marginalia_nu 5y agoYeah, AGPL is the thing you want now to dissuade commercial use in SaaS.
- webmaven 5y ago> Yeah, AGPL is the thing you want now to dissuade commercial use in SaaS. The thing is, AGPL allows commercial use just fine, it only disallows proprietary use. The fact that companies are dissuaded from making commercial use by being prevented from putting a proprietary moat around the software is really an indictment of those companies. Heck, you can even make AGPL software a bit more friendly for commercial enhancements if you want by granting an exception for plugins the way some GPL software does, but those same companies would probably still be dissuaded.
- mindcrime 5y agoLinux was sort of always the one big exception to that though. But you have a fair point that the SaaS world has changed the dynamic somewhat. That said, I don't think it's changed it that much.
- jaster 5y ago> you'd need to prevent the people you're granting the license to from changing it in derivative works No you don't need to. People cannot change the license of code they don't own nilly-willy, only the owner(s) of code can (which can get hairy when a codebase has multiple owners). However a license can allow sublicensing, aka sharing the code or software under a different license, but this right must be explicitly granted by the license (or by the code owner directly), and they may be conditions attached (such as attribution) MIT: "[...] Permission is hereby granted,[...] to use, copy, modify, merge, publish, distribute, sublicense, [...] subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." GPL: "[...] You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License." So the MIT license grants you the right to redistribute the code under GPL (under attribution condition), but GPL does not grant you the right to redistribute the code under MIT. (Note that all of this applies to redistributing the code or the software, not about your own internal use of the code or the software)
- deleted 5y ago[deleted]
- mxmilkiib 5y agoAside; 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.md https://github.com/DISTRHO/Cardinal/blob/main/docs/LICENSES....
- gus_massa 5y agoSome people have tried, for example https://commonsclause.com/ 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.)
- Kye 5y agoMicrosoft was fond of this concept before embracing open source. Depending on how one feels about whether Microsoft has abandoned the other two Es, that could be a bad sign, or a ringing endorsement of the "official" definition because even Microsoft lets people use their code under it.
- syshum 5y ago"open source" has largely been transformed by large corporations to mean "dev friendly" but user hostile. This is why Libre or "Free" Software continues to further seperate itself from "Open Source" The Googles, and Microsoft of the world want developer tools, libraries, frameworks etc to be open but not end user software for which they commercialize. They also do not want to limit their ability to take an "open source" software and make it a SaaS or PaaS on their cloud. At this point, "open source" is openly hostile to Free Software
- josephcsible 5y agoA lot of organizations may behave that way, but open source itself is not hostile to free software. Keep in mind that basically everything that qualifies as free software also qualifies as open source.
- syshum 5y agoOpen Source is made up by the organizations that represent Open Source. As such if the Organizations are hostile to Free Software, then Open Source is hostile, you can not separate the 2 like you are attempting Sure under a technical definition Open Source all Free Software is open source, however not all Open Source software is Free Software. That is the core of the problem, as we move forward in time, the amount of software that is "Open Source" while not being Free expands, not contracts.
- phoe-krk 5y agoIt has already been tried - see e.g. the duo of https://paritylicense.com/ https://paritylicense.com/ + https://prosperitylicense.com/ https://prosperitylicense.com/ Just don't call it open source or free software. It's source-available at this point.
- freeloaderz 5y agoThanks for sharing, I haven't seen these before. I'm curious what the viewpoint is from other devs are on sw with a license like this? Would you use sw under either of those licenses? (They seem reasonable to me).
- seba_dos1 5y agoNo, I wouldn't. Most of what I do requires Free Software licenses or sometimes even GPL compatibility, and such licenses are neither free, open nor GPL compatible. For me, such software wouldn't be much different from proprietary freeware.
- freeloaderz 5y agoSo you wouldn't add a test case, new example, or fix a typo in the docs to gain access to an MIT equivalent license?
- seba_dos1 5y agoIt's not MIT equivalent. It it was, it could be relicensed. In many cases it's not even relevant what I would do or not, because such licenses make it not possible to integrate such code in a project under GPL, or to include it in a free distribution. Looking at these licenses closer, I wonder if Parity could actually be considered free. Seems to my eye like it could be, but IANAL. For practical purposes, I'd probably consider it same as non-free until it's said to be DFSG-compliant. Prosperity sure isn't free though.
- coldpie 5y agoI don't really understand what goal you're trying to achieve that the GPL or LGPL couldn't. As a dev, if I see a project using a license I'm unfamiliar with, I'll probably first look elsewhere as I already understand the ins & outs of GPL- and MIT-style licenses, but not whatever this new thing is. These two licenses in particular are pretty crummy. Define "commercial." When does the 30-day period start? How would my usage be proven one way or the other in court?
- samuelstros 5y agoI stumbled on multiple initiatives (licensed). N8n seems to work as a "fair licensed" project, see https://github.com/n8n-io/n8n https://github.com/n8n-io/n8n and their corresponding license initiative https://faircode.io/ https://faircode.io/ . https://polyformproject.org https://polyformproject.org is another initiative with multiple different (easy to understand) licenses.
- ushakov 5y agomaybe take a look at Business Source License? faq: https://mariadb.com/bsl-faq-adopting/ https://mariadb.com/bsl-faq-adopting/ the license: https://spdx.org/licenses/BUSL-1.1.html 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
- freeloaderz 5y ago> but keep in mind no license can protect you from misbehaviour Agree. I've had this happen with my GPL sw. On a side note, I think github's copilot is a disservice to all developers in this regard as it effectively throws developers under the bus.
- ushakov 5y agoi've had possibly hundreds of GPL violations done to my repositories most of them weren't deliberate as a software developer i know what MIT, GNU and BSL are but most people from the internet don't and they don't bother to look up i'm pretty sure large companies wouldn't even touch copilot with a 10-foot pole
- Jiro 5y agoYou also get the situation where you're not protected from dishonest people, but honest people get discouraged from doing anything with your software because of the same clauses that the dishonest people just ignore anyway.
- 2Gkashmiri 5y agoi 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.
- tedivm 5y agoI don't think FOSS people would agree on that at all.
- 2Gkashmiri 5y agowhy? on the evolution of agpl or open source vs foss? how is SSPL different from AGPL?
- josephcsible 5y agoThe AGPL requires that you make the program's source code available to anyone who uses it, even if they use it by accessing it remotely rather than by you giving them a copy of the binaries. The SSPL extends that requirement to include the source code of every other program at all involved with the system hosting the software. For example, if you use a closed-source program to back up the data on a server, you may not use that server to host any SSPL software for third parties.
- 2Gkashmiri 5y agoin your answer, where do you think i made a mistake? the user says >I don't think FOSS people would agree on that at all. what did i say wrong?
- josephcsible 5y agoI don't think you made any mistake or said anything wrong in that post. I was answering your question "how is SSPL different from AGPL?".
- stu2010 5y agoOrganizations 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.
- freeloaderz 5y ago> Organizations with any kind of license review This is what I expected, I imagine it's unlikely they'd buy a license anyways even if it's cheaper than paying their own devs.
- mindcrime 5y agoYes, 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 https://en.wikipedia.org/wiki/Shared_Source_Initiative
- TAForObvReasons 5y ago"good idea" depends on the goal. It's a good short-term cash grab, especially if your project has good vanity metrics (they don't magically go away when you relicense) and many users. https://www.indiehackers.com/post/how-to-earn-1-5m-in-revenue-from-a-javascript-component-a4703705b5 https://www.indiehackers.com/post/how-to-earn-1-5m-in-revenu... is a case study where an open source project switched to a proprietary license and managed to extract $1.5M But it definitely burns bridges and arguably gives the project the downsides of proprietary software (fewer contributions, people switching to open source projects) and the downsides of open source software.
- glacials 5y agoYou 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/ https://license.land/
- coldpie 5y ago> You can accomplish this with dual licensing (e.g. GPL and commercial), where the user decides which license to fulfill. This is a good solution, but you have to make ultra-certain that all of your contributors, who may have chosen the GPL, understand that their contributions will be dual-licensed, too. It introduces a barrier to contribution that may be more harmful than good.
- gus_massa 5y agoI think in these cases to receive contributions you must ask people to sign a CLA that transfers the copyright to the you/project. Otherwise it's not possible to relicense the contributed parts.
- webmaven 5y ago> I think in these cases to receive contributions you must ask people to sign a CLA that transfers the copyright to the you/project. Otherwise it's not possible to relicense the contributed parts. This is a common misunderstanding. A CLA allows relicensing of a contribution, but doesn't require transferring of copyright. Transferring copyright is only needed if you want to allow changing the terms of licensing unilaterally in the future (for example, you contribute under GPL/proprietary terms today, but the company decides to change the license of your contribution to proprietary-only in the future), and makes suing for license violations a bit simpler (since one entity obviously holds the entire copyright). Technically a copyright assignment could even allow the assignee to sue the assigner for a licensing violation. In other words, copyright assignment really isn't needed for anything reasonable a company might want to do. Only for things (like reselling the copyright to some other company or making the code proprietary only), that you wouldn't agree to if it was spelled out in a CLA.
- josephcsible 5y agoThere'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.
- bombcar 5y agoThis is the way to go, I feel, unless you have some other way of "guaranteeing" that the source becomes unencumbered when abandoned/the company fails. Either way you're going to be better served by using existing licenses than trying to roll your own.
- bxparks 5y agoI 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?
- rglullis 5y ago> How do other people deal with this? "Thanks for your inquiry/PR/bug report. You can see the current development roadmap/backlog/issue tracker board here (link). If you would like me to prioritize your issue, please consider becoming a sponsor. If you want custom work, I can also offer consulting at the €X/day rate and I can provide a substantial discount if the product of the work is also released under a FOSS-license."
- nyellin 5y agoI'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.
- freeloaderz 5y agoIt's a mix of all the above, I've written several OSS projects over the past 10 or so years. Recollecting on it, I typically get little value back by releasing it as OSS and license(s) pretty much guarantees this will happen. If it's not shared at all few can benefit at all. So the goal is to strike a balance.
- nyellin 5y agoAre you looking for strategies to monetize on a massive scale (e.g. VC funded, whole company) or a way to monetize small personal projects while keeping them small?
- ozten 5y agoUse 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/ https://theeventscalendar.com/terms/
- laurent123456 5y agoIf 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/LICENSE.md 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/readme/CLA.md https://github.com/laurent22/joplin/blob/dev/packages/server...
- dSebastien 5y agoThanks for sharing Laurent. I've been searching for information about this subject for the last few days, as my co-founder and I ponder whether open-source can be a viable option to build our product. As two indie hackers bootstrapping, our goal is to create and monetize a SaaS, but we would like to create an open and future-proof solution.
- Mikeb85 5y agoAnd what's your end goal? Why not just make commercial software? Or just make open-source software and sell a service or extra features?
- huhtenberg 5y agoI 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/ https://commonsclause.com/
- freeloaderz 5y agoAnyone have experience with this? How did it go?
- deleted 5y ago[deleted]
- not2b 5y agoAs 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.
- freeloaderz 5y agoIt means if you're scared enough by the intentional vagueness of the term, either somehow contribute to fulfill the clause or don't use the software. Perhaps that's not how it would be interpreted, IDK, I'm not a lawyer.
- gus_massa 5y agoIs fixing a typo in the docs enough? What about bugs reports? These are useful tasks for a open source project. You may get contribution-spam fixing inexistent errors, just to fulfill the clause. If developer X is working in company Y and a year later X changes to company Z, who can use the software Y or Z? What happens if X dies? What happens if Y goes bankrupt and W buys all the assets?
- freeloaderz 5y agoI agree it's vague... you could say for whatever the contributor(s) decide to merge but in any event it seems easy to fulfill the cause, especially since projects need continual maintainence. At least it leaves some leverage in the hands of the authors/contributors against flat out freeloading. Normal MIT is essentially no strings attached.
- rglullis 5y agoIf you don't want freeloading from big companies, why not simply using GPL or AGPL, and offer the possibility of dual-licensing?
- dangus 5y agoI'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.
- tomcam 5y agoHow much FOSS software do you rely on that has similar terms?
- axiosgunnar 5y ago> contribute something Sure, let me fix that typo in your readme. Thanks for the perpetual commercial use license!
- freeloaderz 5y agoBut the typo gets fixed... which is better than the normal MIT license where it doesnt.
- hgs3 5y agoWhat'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.
- freeloaderz 5y agoThe goal is to get some form of value back for sharing it... from those who otherwise wouldn't contribute (as a few do already). Even if seemingly small, it's better than nothing.
- hgs3 5y agoI'd recommend you explore what other projects are doing for creative solutions. For instance consider Slint, a UI toolkit, offers their software under a viral copyleft license, a paid-for closed source license, and an "ambassador" license [1] which allows the code to be used in closed source software for free, but with the requirement that the Slint developers can use the derived product and its logo in marketing material for free. [1] https://slint-ui.com/ambassador-program.html https://slint-ui.com/ambassador-program.html