Ultimately, people want to keep their code open, develop in the open, bring in contributors, make it easy to adopt and audit their code, etc. They also want to eat and have a home.
The extreme hostility I've seen over the years to every OSS project that tries some new way of monetizing is just absurd and damaging to the concept.
> "Hey, you can use this for free if you don't make any money, but we want 10% if you're using this in a paid product" -> See? Done,
Confusing since what you've just described sounds very much like what is being railed against? You're just talking about taking an open source license and adding a restriction around monetizing the code - this is not open source, as it violates one of the 10 or so requirements to be Truly Open Source (by some organization's standards).
Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.
> Ultimately, people want to keep their code open, develop in the open, bring in contributors, make it easy to adopt and audit their code, etc.
The Commons Clause doesn't really change any of that from the base license. It says so explicitly - "Without limiting other conditions..."
> They also want to eat and have a home.
This is the very thing that the Commons Clause tries to prohibit: "the License does not grant to you, the right to Sell the Software."
In other words, it's a way for the maintainers of a project to say that they get to sell the software, but nobody else does.
Which, hey, I develop proprietary software for a living, I'm fine with doing that in the general case. What I don't like is trying to mix that kind of restriction into an open source license. Because then what you're saying is, you want other people to contribute code, and you want to be able to benefit financially from those contributions, but you expect it to be a one-way street. There's a basic principle of fairness at play there.
If you want to do that kind of thing, I'd say it's much preferable to go with something more like the oldschool "dual GPL/commercial licensing" approach. Or, if it fits your needs better, something like one of the non-OSI Microsoft Shared Source licenses.
It seems like a lot of the positive responses to the Commons Clause have missed or skipped past this entire concern.
People are understandably touchy about "AWS profits off this free code", and understandably concerned that "just make it AGPL" will scare away some big players but not actually keep the developers solvent.
But the Commons Clause isn't at all reducible to "pay us if you profit from selling our code". A clause like that might not be FOSS either, but I think there'd be a lot less anger over it. (Especially if it wasn't achieved by taking a FOSS license and adding on a misleadingly-named "...but not really" clause.) Instead, the Commons Clause restricts sale rights to one entity, leaving the software with a clear 'owner'. And that's what people are mad about: it turns an entire development community into a farm team for one license holder.
"Pay if you profit" has real potential, and as you say has been achieved in the past via dual licensing. It allows for ecosystems where free code is included in and extended from multiple paid projects, and while the code originator might be guaranteed revenue they aren't in control of the project. That's vastly preferable to the you-work-for-us structure of the Commons Clause.
I think the conversation has been undermined by the way the Commons Clause FAQ and authors have skipped across that nuance to say "GPL doesn't suffice here, therefore Commons Clause!" We'll all be better off if we don't let the middle ground stay excluded from the discussion.
But, often, that involved straight-out lying about a FOSS license, though, and presenting the dual license scheme as if it were the near-equivalent of Commons Clause. (E.g., the old MySQL GPL or commercial license scheme.)
I'm far from an expert on that whole debate, but my casual understanding was that they offered the same code under GPL or proprietary licenses. And, that doing so had been found legal and had even gotten (somewhat grudging) approval from Stallman and the FSF as a way to ensure monetization and adoption of GPL-covered code. His justification has a weirdly deontological logic that I don't particularly accept ("you're not making proprietary code, just causing it to be made" is pretty thin), but I think I'm fine with the result.
More generally, though, I completely agree. Misrepresenting FOSS status to dual-license isn't ok, and has all the same problems as the Commons Clause. I think there's a strong case for restricting proprietary use via a single new, non-FOSS license (probably derived from an existing FOSS license) rather than via dual-licensing or worse, added clauses.
For quite a while, MySQL AB purported on the website and elsewhere that commercial use of MySQL required a paid proprietary license, and that the GPL did not allow commercial use, only non-commercial use.
Eventually, they stopped doing that, but it took a while.
These are not OSS projects.
>You're just talking about taking an open source license and adding a restriction around monetizing the code - this is not open source, as it violates one of the 10 or so requirements to be Truly Open Source (by some organization's standards).
4 requirements, upheld by two highly respected organizations. You can read them here:
https://www.gnu.org/philosophy/free-sw.en.html
People need to eat, and that's fine, they can license their software in any way that they think will put food on their table. But if it's not open source, don't call it open source.
Given how every Reddit/HN thread I come across has an argument on whether it is appropriate to use open source in this context, I strongly disagree with the phrase "most people". In my experience, most people call it open source, and it only misleads the minority that insists on owning the definition of the phrase.
I remember back in 2001, when Reddit and HN didn't exist yet, and the whole Internet was caught up in a seemingly unanimous furor about how, not only were most of Microsoft's just-released Shared Source licenses not open source, but even the ones like MS-PL that met the OSI definition still weren't open source simply because they had Shared Source cooties on them by virtue of being announced at the same time.
I fear that the bad old days were so far back now that people no longer remember why this stuff is important.
I've seen this in many activist communities. They (likely unintentionally) pick regular language to mean something very specific, and then spend endless amounts of time arguing that everyone else is using their terminology incorrectly. It's a huge waste of time. The rational thing to do is give your concepts unambiguous names - not ones where the majority that speak the English language could take to mean something else.
>I fear that the bad old days were so far back now that people no longer remember why this stuff is important.
Lumping those who disagree with your terminology with people who disagree with your philosophy isn't going to help the cause either. It alienates allies. In my experience, people by and large agree that it is important and are favorable with it. They merely disagree with the terminology.
And that's the other thing that happens with ideological movements. As they grow, many fall into a local optimum where the focus is on purity. Who amongst us is pure enough to be in our circle? We'll keep devising ways to root them out (insistence on poor terminology being one way).
The minority is those who insist on the OSI definition as the only appropriate way to use "open source".
>mainly people who are wondering if in the future they can exploit open source community in a similar manner.
The problem I'm seeing is the labeling of people who disagree about a single point (terminology) as bad actors (i.e. people who are bent on "exploiting"). As I mentioned in another comment, this is sadly a common path that ideological movements take - attributing intentions to others, and focusing on rooting out impure adherents.
No, it's not. I actually ran a poll on my Mastodon account last night:
https://www.strawpoll.me/16741426/r
I followed up with many of the "something else" folks and most of the people I spoke to said that they were confused by the premise because free/open source are different things, and one had a strange and political definition of open source as "software which helps people", and none of them agreed that the Commons Clause qualified.
>The problem I'm seeing is the labeling of people who disagree about a single point (terminology) as bad actors (i.e. people who are bent on "exploiting").
These people might not be bad actors or have bad intent from the start. But if, upon being corrected, they don't change their course, then they are bad actors. They prey on people who don't understand software licensing, and who only know that open source is "good".
Beyond that, your answers are leading, and don't include the proposed "Source availability". When you put a poll this way its obvious that people will choose specific answers.
If the license does not meet the OSI's definition of "open source", then it is not open source. If the license does not meet the FSF's definition of "free software", then is it not free software. Case closed. No ifs, ands, or buts about it. These organizations have existed for decades, and the definitions they have formalized for their respective terminologies have in turn existed for decades. The meanings of "open source" and "free software" are perfectly clear, and the sorts of licenses being discussed - like those using the Commons Clause - are very clearly neither open source nor free software by those very same well-established-for-decades definitions.
> Is this “Open Source”? No.
You make an interesting point about patent clauses. I think I would say that it isn't the OSI-approved licenses that make a project unusable commercially, it is the patents that companies hold. OSI classifies licenses as they stand alone, it doesn't classify patents or declare projects as safe from patents.
That said, I do think they should state that it is "non-commercial open source".
The patent grant is a red herring; they're copyright licenses, and judged as so. Unlike software copyright, software patents are not even valid in many countries.
How open something has to be, to be called open source is a matter of opinion, so is to some degree what open means in the context of open source. Otherwise they would have to call it "unconditional open source" but then a number of, if not most, licenses wouldn't qualify.
> The patent grant is a red herring; they're copyright licenses, and judged as so.
It isn't a red herring. I use it as an example to show that the openness in OSI approved licenses aren't absolute. Some licenses have other terms. They might for instance retain the moral rights of the author, try to avoid any liability or condition the distribution of software. If you can have those exceptions and still be considered open source I don't see an objective reason why you can't call software where the economic rights are retained open source as well (even though I can understand why people wouldn't want that).
There's nothing special about it, they're just two English words. What makes the term special is its origin and history - specifically, how it was coined and spread by the OSI and its members.
So, they should make their own history with a new term. In time it might be more relevant than open source, and that might be great. But don't mix them up.
But as I said I would still prefer "non-commercial open source". I grants you the right to modify etc. but only if you don't exploit it commercially. Just like copyleft open source grants you those rights, but only if you also distribute the source code.
Apparently though I guess if there was something that was a red herring it is this whole discussion as someone pointed out that common clause doesn't even call the license open source.
> Confusing since what you've just described sounds very much like what is being railed against?
It's very much not.
"Free for private users, paid for corporations" and "free for free uses, paid to include in new products" are both existing licenses, which may be source available but are generally not open source.
The Commons Clause is different; it permits OSS-style contributions to the codebase while reserving the sale rights to one party. "...the License does not grant to you, the right to Sell the Software"
There seem to be two serious miscommunications here.
First, "source available and we monetize by controlling rights" is not universally hated. Most people less extreme than Stallman are fine with that, they just don't want it achieved by warping FOSS licenses and projects.
Second, the Commons Clause is a particularly bad road to monetized source-available projects. Applying it to an existing project has the effect of converting a FOSS community into an unpaid dev team for one license holder. That's very different from "we'd like a cut if you monetize this".
It's obviously everyone's choice to pick whatever license / licensing model you want. The Commons Clause is getting all the flak merely because it pretends to be OSS-compliant, which it (pretty obviously) is not.
Sure, I can get behind that but it has nothing to do with this article which is about non-OSS software trying to trick developers who might want to contribute to OSS into contributing to them instead using naming tricks and deceptive terminology.
But I don't think people would be anywhere near this upset if it had been announced as "we started with the text of the Apache License and made a new source-available non-commercial license, we're calling it Use No Resale or UNR for short".
Instead we got "Here's a clause that breaks a core tenant of FOSS, for adding to FOSS licenses, but in our FAQ we admit it's not open source. And it's initialism conflicts with the Creative Commons, and its first big application will be called Apache License + Commons Clause, because no one will ever abbreviate that to Apache + Commons and confuse it with the existing Apache Commons." Plus a huge pile of FUD by alluding to unexplained 'malicious contributors' and 'preventing project shutdowns' to justify its existence.
There are so many different unpleasant aspects to this rollout that I don't really understand how even proponents of the license can view the backlash as "just more anti-monetization hostility".
Is that an actual license? Because that's not what I've seen most often recently, at all.
An honest FOSS license + dual licensed for commercial would say "it's fine if you make money, and we don't need a cut... unless you've integrated our software AND you don't want your final product to be similarly open-source."
The recent example that's coming to mind is the new CKEditor real-time collaborative version that came out recently. You can integrate this in a commercial product, as long as the users of the product are free to stand up their own instance (instead of paying you to host it, using their editor product as an integrated part of your commercial product.) If your product is closed and you want it to integrate their CKeditor, the other license that is available costs $25/mo per 25 Monthly Active Users.
Even if your product is open-source and users are free to go off and host their own instance, it seems likely that many will opt to pay you to host it instead. Doing this supports your development effort and keeps you in business, meanwhile entitling your paid users to whatever degree of support you're offering subject to availability.
If it's not worth $X/mo per user to you, to keep the users locked-in to the product that you borrowed part of, and such that the users don't have this other option in case your company goes belly-up, then maybe you should really be open-source? Or maybe you should just build your own whatever-it-is that you wanted for free, to make a part of your product.
An honest FOSS license + dual licensed for commercial
would say "it's fine if you make money, and we don't need
a cut... unless you've integrated our software AND you
don't want your final product to be similarly
open-source."
I think the "problem" the commons clause is aimed at is where AWS starts selling managed deployments of your product, and they make $$$$ from your work without giving you a cut. And maybe your business plan was to do that, but AWS has an existing billing relationship with everyone making them a much lower friction choice.Under the AGPL, Amazon would be free to do that, as long as they released the code for their managed deployment systems.
(This doesn't get you any money, but it saves you from the sense that your FOSS-work has been exploited by a commercial entity that doesn't give anything back, so long as it's actually enforceable.)
It's defended by citing a real problem, but the AGPL also addresses that problem. Meanwhile, its impact on non-Amazon players like "some random user who wants to write and share a handy tool" is much less pleasant, because it effectively turns that user into a free profit source for the license holder.
I can imagine a healthy role for some intermediate license that goes beyond AGPL to say "actually Amazon, you have to pay us for this". But it would need to not distort what FOSS means for everybody the way this does.
Unless Amazon becomes the new primary developers it does not solve the problem of paying the people actually doing the work.
Amazon takes your work and solves the "service layer" story, but having never distributed any binaries, they are not obligated to share their modifications in any way.
Under the AGPL, if you solve the core issue, and they borrow your solution adding a proper service layer to it, that would need to be released as source code, in a way that users could repeat the deployment on their own.
I say "potentially solves" because nobody is solving 80% of the problem better than anyone else can and releasing their 80% solution as AGPL, saving "Amazon jobs" for the Amazon people. And if they were, it would be easily circumvented; Amazon would simply never take the bait. Best case, they would figure out what makes your solution so much better and then implement those ideas for themselves in a clean-room.
Which, if they really are the dominant beneficiary, they probably will; whoever is making the most money from the software has the most financial interest in maintaining it, and that's the reason so many big corps that benefit from FOSS invest heavily back into those projects, either via sponsorship of projects or paying their own developers to work on the codebase or both.
But that doesn't serve the interests of the investors in the company doing the initial work, who invested in the hopes of capturing the downstream revenue later development of the work would produce. Which is understandable, but they shouldn't attempt to trade on the popularity of open source licenses with their non-open alternatives.
And that, not the “people doing the work”, is what the Commons Clause is about.
Who is the big player dominating revenue from OpenSSH? Projects with extremely diffuse benefit like that (or, perhaps more clearly, OpenSSL) do often have a problem here, but that's not what Commons Clause claims to be directed at.
> Or MySQL or Postgres for that matter.
Postgres definitely gets lots of support from significant commercializers of Postgres like EnterpriseDB, Postgres Pro, Citus, and Heroku.
MySQL, maybe not, but a GPL arrangement, especially one requiring copyright assignment, discourages third-party commercial contributions, especially when the owner is actively dual-licensing. Who wants to pay for development of IP someone else can sell more freely than you can?
(Permissively-licensed SQLite, OTOH, has huge contributions for downstream commercial users.)
> With Open Source there are a lot more takers than givers.
By design. There are also more givers than with propietary-licensed software, also by design.
Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL. See the comparison chart for details. The Qt open source licensing is ideal for use cases such as open source projects with open source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all (L)GPL obligations can be met."
I'm thinking of any _open_ product that says you have to pay once your derivative product goes commercial, even if it's also open. That would be decidedly non-free in the sense of restrictive and as an example, this is something that is not compatible with standard GPL, and not included in the basic general BSD/MIT licenses.
My definition of a free license would include the right to sell (any developer hours for bounty, support, stickers, socks, CDs, anything I want for cash, including unmodified copies of your software) without restriction or liability from upstreams, no obligations, other than that I must include the source code and my distribution must also be similarly unencumbered and without additional restrictions.
There's no comparison to be made with "free for personal use, binaries only." (But thanks for advancing the discussion...)
At one remove "source available, but pay for commercial use" seems very workable. The tricky part is handling it 3+ commercial layers out, where you're either building up a pyramid of fees or making direct payments several notches back along the chain. The first threatens to strangle commercial use past a few removes, the second might work better but opens all the "find the license holder" issues music has already.
I don't mean to dismiss the idea, rather I'm interested to think through what a low-impact way of implementing this might be.
I agree with your point, I think there should be a new visible-source (semi-free?) license that includes commercial fees to make it easier for people to evaluate these things without stepping onto a mine.
For those who don't know, the FOSS revolution came about in the late 1990s and as a popular movement was largely fueled by concern over the extent to which Microsoft was dominating the PC and (then) PC-based server industries. MS was moving to embrace-extend-extinguish the web at the time too. The Free part of FOSS was critical to competing with Microsoft in the late 1990s, since MS's Achilles heel in the market was its costly and cumbersome licensing schemes.
Times have changed quite a bit since then. Today's behemoths are not based in software but in services with network effects. The bad behavior of those behemoths revolves more around exploitation of network effects to lock people into services (not software), and of course the mass surveillance and manipulation of public discourse that becomes possible when everyone is working in a closed silo.
FOSS is utterly worthless as a strategy to resist network effect oligopolies and surveillance capitalism. In fact it might be worse than worthless, since many of these surveillance honeypots run on open source software. If you write and release FOSS today you're likely giving free labor to people who will use your tools to spy on you and manipulate you.
The difficulty we face now is finding a viable alternative to surveillance capitalism as a way to fund software. The Commons Clause is an experiment in that direction. It may not work, but experiments are welcome.
Free software started in the eighties over concerns about how proprietary software was being used. Embrace-extend-exstinquish was Microsoft's attack on a growing free software market, it had nothing to do with the web.
The "free" in "free software" never referred to the price, and is not business strategy. It's used like in "free speech," and it refers to the free modification and redistribution of the code.
Free software has a huge presence across computing. Honeypots use free software because everyone uses free software, free software enables bad actors like building roads enables drunk drivers.
Looking at your profile, either this is an elaborate troll or I am genuinely amazed in how long you've managed to misunderstand "free software." You use the GPL for your business.
Back in the 90s, if you wanted to run Novell, UNIX, or Linux instead of WinNT Server, there was nobody stopping you and there were a lot of options. The same with Office suites: there were actual competitors to MS Office through most of the 90s. There is much less competition in many areas of commercial software today, and one of the primary reasons is that open source software has become a vehicle that large software companies use to drive competitors out of markets and solidify their positions in complementary markets. Yes, consumers benefit in the short term, but it allows these companies to build moats that make it very hard, or impossible, for future startup competitors to overcome. We all want to point our fingers at Oracle, MS, IBM, and say that they are the issue, but when every major player in the industry does the same thing, it starts to become more and more obvious that the problem may not be with the individual companies involved.
Also, public roads are a bad metaphor for software: there isn't a market for public roads, and software can always be innovated upon (as an aside, it drives me nuts when people declare something "solved", especially when the reason for doing so is ideological or political).
No. You agree with their end point. How they got there is not factual.
I don't understand your second paragraph. Why should I care about proprietary software competition? And how are they building these free software moats that stop other people?
>Also, public roads are a bad metaphor for software: there isn't a market for public roads, and software can always be innovated upon
My use was very narrow, the ability for bad actors to use infrastructure doesn't put the infrastructure at fault. That said, roads have a market and allow innovation.
Because without it we all pay much higher prices than we normally would, and we get sub-par quality/innovation. Unless you're somehow intimating that proprietary software can be completely eliminated, but I don't think that's the case. I don't think that such views are grounded in reality.
"And how are they building these free software moats that stop other people?"
I think this has been demonstrated pretty clearly over the last 10-15 years: they use open source to direct the industry in ways that are beneficial to them, regardless of whether they are good for everyone else. And, it is often the case that there are serious issues for anyone that would want to compete against them in a specific area of software because they're now competing against "free". It forces companies to diversify into areas where they have little expertise, just to be able to compete. So, instead of a company being a developer tools company, they're now something else that also happens to give away developer tools. In the end, it favors large corporations over smaller enterprises in an industry that has traditionally been one with very low startup costs and lots of opportunity.
There has been no shortage of quality and innovative free software. I see no reason that restrictions on a users rights would encourage innovation or a quality product.
Reading the rest of your post, you also seem to view free software as primarily about price. The picture you paint sounds more like what Internet Explorer did to browsers than any free software I can think of.
> So, instead of a company being a developer tools company, they're now something else that also happens to give away developer tools
Or you can take the existing developer tools and improve and extend them. Having access to a large amount of your competitors resources allows you to more easily compete on an even field.
Don't buy them, don't eat them.
>"Hey, you can use this for free if you don't make any money, but we want 10% if you're using this in a paid product" -> See? Done, easy, nobody upset. Don't pretend "Hey, this is open source, except it isn't, and please give me your money."
None of that makes any sense. Creative Commons simply restricts selling the software itself. The software is still distributed free, and you can still sell a derivative.
CC licenses that are not NC absolutely allow third parties to sell the content. They just don't allow them to hinder others from sharing it for free.
As for CC licenses with NC, those do not comply with the Open Source definition either.
"Commons Clause" is not a Creative Commons license. The two are unrelated.
You can't make a substantive change to a license and pretend it's a small deal. You can't hijack core tenants of a license, and then just put a little disclaimer at the bottom. "Buy one get one half off! *The one half off is actually just a plastic model and doesn't do anything"
Abusing FOSS licenses to try and control your users software while still using their claim strikes me as pretty bad faith. If you want to use a dual license, that's fine - just do that. "Hey, you can use this for free if you don't make any money, but we want 10% if you're using this in a paid product" -> See? Done, easy, nobody upset. Don't pretend "Hey, this is open source, except it isn't, and please give me your money."