The Commons Clause is an existential threat to open source
drewdevault.com
drewdevault.com
I would hope this was not an intentional choice to sow confusion.
Edit: obvious spelling error :)
If it was unintentional it was incredibly foolish; if it was deliberate....
Either way it should be junked.
Call it Indian license or what not.
This is unlike GPL which allows the use of the name as long as the clauses are not restrictive.
Come on, really? I'm sure you could have picked a less offensive example than "Indian license".
In my mind, this fact somewhat diminishes the scale of the deception.
By that I mean, Redis Labs are not the creators of Redis. They are a consulting agency that then hired the creator of Redis. In other words, they only exist because the original Redis was not Commons Clause. Now they want to build a moat so others can't do what they did.
Not a good precedent.
The whole thing is evidently not about Redis, but modules that were developed by Redis Labs.
Even reading that statement and assuming the best intentions I can see why people would be upset/concerned. Redis has gone from Open Source to "Open Core" with some of the best modules now essentially paid for.
Just yesterday the most powerful politician from my country (a EU and NATO member) said during a live interview on prime-time TV that George Soros had sent 4 men in order to assassinate him last year (spoiler alert: they didn't succeed, even though they had been checked-in at the local Hilton hotel). His right-hand man had an interview the day before that saying that the KGB (yes, the Russian KGB) had tried to recruit him (spoiler alert: apparently the Russians didn't succeed). All I want to say is that "fake news" is indeed a live and active concept, just trying to hide it under the rug won't bring back the former, saner times.
Call a lie a lie, and don't trivialize it with the cute meme of the day.
I don't think I'm missing anything, I'm afraid "fake news" is here to stay, is what propaganda was back in the 1920s and '30s. Calling it a "lie" means that the person saying the lie and those "receiving" it would change their views once the lie is "exposed", but under the current media and political climate I'm afraid that won't happen anymore, i.e. people will keep believing the "fake news" no matter if it would get "exposed" or not.
The current development path does seem to favor modules - a slim core with the functionality added as modules.
Projects at the ASF are governed by a Project Management Committee drawn from the wider community -- not a single company, not a steering committee where seats are bought.
The ASF is a 501(c)(3) charity, which means that monetary contributions are tax-deductible and therefore very limited in what they can be used for. The ASF cannot unduly privilege any particular commercial entity.
Credit to companies, like Databricks, who choose to participate in ASF projects under these constraints.
shakes head
Edit: Oh, and the confusing name. Why is it called "Commons Clause"?
Exactly. What is in effect crossing the boundary between open source and shared source (as Microsoft called the first source release of the .Netruntime) is made to sound like an afterthought. So, instead of AGPL (widely recognized as off-limits for corporate users), you could claim it's "Apache plus Commons Clause" which sounds nice as long as you squint really hard.
It's ok to put software under a BSD-inspired or Apache-inspired noncommercial-only license - in fact plenty of people are doing this already - but it's disingenuous to use the name of the open source license you took inspiration from in the hope to profit from the open source halo for non-open-source software.
Do you mean to say "can't use their stuff for free, but can do what they did if they want", i.e. a moat to absolutely prevent others from stuff is usually in IP etc. whereas restrictive licensing means you need to 'write it yourself' if you want it.
Despite the conflation of early Redis and the corporate Redis - almost all commercial projects that use Open Source are the same thing really. ABC Corp. uses Open Source XYZ to make software and protects their addtions. It just so happens that in this case, it's Redis going into a commercial version of Redis, not Redis going into CAD software or something.
Well then fork them. I mean it.
‘Licenses applied to previous versions cannot be revoked’ - https://commonsclause.com
My understanding (IANAL), is that only new code can be subjected to new conditions/licenses. Old code can still be used under the old license.
Yes forking might in some cases be the only option, but it's not easy and it's not cost-free especially when the code is still available 'for free' (warning: many actual freedoms not included).
Yes, you could make a license that precludes it, but if you insist on copyright assignment then you'll always get the right to re-license anyways.
I don't see the problem with proprietary forks of open source whose license allows it, and when it's the original creator who pulls it off then I say good for them. When I choose to use BSD or MIT licensing, I do it because a) I don't expect to monetize that code, b) I don't mind if someone else figures out a way to monetize that code -- this is a willful, eyes-wide-open choice on my part. I wouldn't recommend always using any one license; instead I recommend picking a license for each codebase according to whether you want to allow third parties to monetize or whether you want to prevent proprietary forks. There is no one-size-fits all license.
I can accept that you might not appreciate my work on the Commons Clause, but I'm glad to see you acknowledge why funding OSS is so difficult.
I think it's okay to fear the world of open source becoming a bit more closed. I do too. Whether that's a better world or not is up to debate, but I certainly don't think so.
I think where we might disagree is what the greatest threat to "open-ness" is. Sometimes people do bad things to open source projects, and force them to go closed. The license choice will inevitably follow -- and when they do, they can choose to close the source entirely or choose a licensing scheme that makes it available.
Licensing follows intent, and I certainly don't think the Clause inspires people to close their source. But sometimes people need to change their license -- and I think it's unrealistic to say that this doesn't happen.
I appreciate your response, but I find it frustratingly vauge. What kinds of bad things happen to open source projects that drive them to this? If you are fearful of open source becoming more closed, why are you promoting that very approach?
Did you consider promoting alternatives like AGPL first? Before I see an option violating one of the four essential freedoms I would really like to see a detailed exposition on why the AGPL or other approaches discussed in my article are not suitable. I don't think that the brief summary on AGPL on your website is detailed enough - it doesn't have any specific criticisms of AGPL.
The problem with "needing to change their license" is that it's really just a few people who "need" to change it. In reality, open source projects are community works, and even the maintainers don't have the (certainly moral, and usually legal) right to change the license.
I think your Commons Clause gives vulnerable people (open source maintainers struggling to make ends meet) an easy but despicable option for their projects. Especially in cases like Redis, where a company has ulterior motives and employs the maintainers, they can strongarm maintainers into making choices which are not in the best interests of the project.
See the commons clause FAQ for answers to your other questions:
Still frustratingly vauge. Without this information I can't assume The Commons Clause is working in good faith. At least you can speak to the types of behaviors, rather than the specific actors, which led to this?
>See the commons clause FAQ for answers to your other questions
I specifically refered to your website in my comment and called out the summary there as insufficient. Can you elaborate on it here on HN?
https://redislabs.com/community/licenses/
"However, today’s cloud providers have repeatedly violated this ethos by taking advantage of successful open source projects and repackaging them into competitive, proprietary service offerings. Cloud providers contribute very little (if anything) to those open source projects. Instead, they use their monopolistic nature to derive hundreds of millions dollars in revenues from them. Already, this behavior has damaged open source communities and put some of the companies that support them out of business."
https://en.wikipedia.org/wiki/Omert%C3%A0
also called Conspiracy of Silence
And if one is going to create a new license, they should just create a complete license, in it's entirety. Creating an "add-on" that can be tacked on the the ALv2 or other licenses, which goes completely against the nature of Open Source, is absurd.
Sounds like somebody needs to re-evaluate their business model to me, and it's not the cloud providers.
This attempt to have the cake and eat it too is dumb.
RedisLabs is about to experience in real time just how quickly a community can abandon software and embrace a fork or competitor. Which is stupid, because many other projects have gone through the exact same process.
The complaint here is "Redis is only making money for people who host and manage it, not people who develop it". The proposed solution looks to be "ensure these modules are making money for RedisLabs instead". RedisLabs wanted to profit from their work and stop others from doing so, so they adopted a not-OSS license.
Fine, but the framing of bad behavior and a threat to open source doesn't make much sense to me. It looks like exactly what Drew described; funding OSS development is tricky, but RedisLabs responded by giving up on doing OSS. Kevin's FAQ and comments in this thread imply some much darker bad behavior than that, with things like "predatory uses" and "forced to close". If it's just "AWS hosts Redis for a fee", that doesn't seem justified.
The complaint seems to just be masking “Google, AWS, et al. don't give us, a competing cloud provider that took over a pre-existing open source project, money” beyond a smokescreen of misleading generalizations.
The FAQ does not answer the patent comment's good questions.
Why have you chosen a name so similar to Creative Commons, when you seem to prefer the term Source Available from a descriptive point of view?
Frankly, it just sounds like an attempt to pass off software licensed under this abhorrent license term as Creative Commons.
I will steal an argument from a friend who has been doing free software/open source for 30+ years now.
Y'all created a bunch of open source software, it became valuable. Y'all think that you should get to extract some percentage of that value, and that others being able to do it instead is "bad behavior".
But this is very very wrong, and if that is your understanding of open source, you really should say screw it, and take your ball elsewhere. Try it. See if you can create the same amount of value.
In fact, it is your attempt to "extract your share" that is the bad behavior. You cannot, in fact, have your cake and eat it too. If you and others all get to extract your "fair share", that software will cease to exist. This is not theoretical, this is what has happened every time. That is because the value exists because you made the software free. If you didn't, people would have used something else that was free and worked well enough. Also not theoretical. When i review diligence from companies as part of M&A, the vast majority (90-99%) of software is free software, not commercial software.
This paradox has existed since free/open source/etc software was created. The solution traditionally is for developers to just be happy creating cool software and making a living on it. I have rarely, if ever, seen this fail to work at the scale seen here. It certainly fails in smaller scales, but you are not solving that problem even a little.
Instead these claims of bad behavior only seem to come up when people see a billion dollar ecosystem and think they deserve 50% of it.
You are pretty much never going to get anyone worked up over that. Because they shouldn't be. Of all the injustice in this world, this doesn't even register.
http://monty-says.blogspot.com/2016/08/applying-business-sou...
That received a lot of criticism from its community as well, but also from existing MariaDB Corp customers. I know because I worked for one at the time that was seriously considering stopping the level of collaboration we had. We were quite sad about that at the time and decided to not go that far but instead stopped giving additional funding to the extensions that we were interested in.
Ultimately, the Clause is not meant to transition an open source project with the intention of staying open, it's to keep as much openness as possible when events happen that force a project to close certain things.
I think a lot of the fear is that this will make a lot of open projects close up. This is not the case. Other things are forcing projects to close, and ignoring those forces and blaming it on evil investors and business people is not only disconnected from reality -- it's a really sad an un-empathetic view towards those that _actually_ develop this software (actually = git commit history).
Please, please clarify what those 'other things' are.
Both the Commons Clause FAQ and your comments here repeatedly imply this is about handling "specific bad behavior", "other things... forcing projects to close", and "the most predatory of use cases". But nowhere is there any clarity about what these dark forces are. What's 'predatory'? Are we talking about harassment by contributors? Extortion by lawsuit? Cloud hosting for a fee? Just contributors undercutting the business offerings?
The only motive explicitly clarified in the FAQ is the need to monetize, which is what Drew's piece challenged. In response there's this suggestion that the clause is actually defensive against some sort of attack by contributors and so it won't affect most people. In the comments here, you've said it's not your place to call out specific actors, but haven't given any example of what sort of behavior you mean.
It sounds like there's a real problem here, deeper than "we want to make money like RedisLabs", but this conversation is hopeless as long as that problem goes unstated. I don't think it's fair to say people are being un-empathetic to actual developers when no one can understand what situation we're supposed to be showing empathy about.
This.
I have no objection to owners taking a codebase proprietary. It doesn't change the fact that earlier versions stay open source and third parties (including the community) can still fork them if they want to. That's because have no objection to proprietary codebases to begin with, even though I appreciate open source, use open source, and prefer to make my code open source.
Open source is not an end for me, but a means to: a) establish/burnish the authors' reputations, b) benefit from third parties' contributions in-kind. Monetization is not so much dependent on whether a codebase is open source or proprietary, nor on its license, but on the codebase's value (to others) including the value of future development on that codebase.
Monetizing infrastructure software can be very difficult, especially when it is a commodity, but SQLite3 has succeeded at that https://news.ycombinator.com/item?id=17819950
I spoke directly to this point in my article, grep for "CLA".
>but SQLite3 has succeeded
Note that SQLite3 succeeded and is open source.
In fact, I'd love to see a v2 standalone license. One of the design constraints was size and readability. I think part of the goal here was to start with something extremely short-form.
More broadly, the average OSS license is far from robust.
Care to elaborate? That is an extremely broad claim. The GPL has been upheld a number of times. The MIT/BSD licences are about as simple and solid as they get.
> I think part of the goal here was to start with something extremely short-form.
Yes, but to your point above, courts rarely appreciate schizophrenic agreements which say one thing in one place and an entirely different thing elsewhere.
How is X Open Source + Common Clause any different than the Redis^e + X hosting/brand piggybacking others have been doing to RedisLabs?
Like several people here, I'd really appreciate clarification on this.
The average OSS license doesn't apply to some use cases, but in every case I know that's intentional; they're uses that don't uphold the four freedoms. There are a handful of outstanding issues like Google's allergy to AGPL, but the GPL and MIT licenses are well-tested and accepted. I've regularly used them personally and professionally without any confusion or trouble at all.
If there's a flaw or weakness in these licenses, people are obviously eager to hear about it. If they simply don't support restricting downstream rights, that's by design and I think "far from robust" is a thoroughly unfair way of framing the situation.
This is pure FUD.
But open source didn't depend on these funding models in the 90s/2000s did it? I did a whole post on the philosophy of open source a while back:
https://penguindreams.org/blog/the-philosophy-of-open-source...
..but one of the things I didn't find enough sources on where a lot of funding came from (And percentage of volunteer contributors).
This recent Redis things reminds me of the Caddy controversy, and maybe even more recently, how Win/Mac Docker binaries are behind a login wall.
What changed? Do developers no longer have the time to volunteer to work on this stuff? The desire? Is the demand for tech in The Valley/West Cost changing the dynamics of how much time people have to contribute. Were the earlier efforts way less commercial and new efforts moving much faster and requirement more maintenance/resources?
"
What's changed is that once open source started getting serious VC's, people believe they've created tons of value, and should be able to extract some of it (in reality, the model created most of the value, not them).
In the past, people were just relatively happy to be doing okay for themselves while created cool software.
Once you try to move to "value extraction", things become a lot thornier because you discover you aren't as important as you thought you were - your attempts to extract value fail. Usually, because it was not you who created the value, but the model.
I would much rather an honest transactional relationship for commercial software. That also includes consumer commercial software, like phone apps and websites. If we had honest expectations about the cost of software we wouldn't see so much aggressive advertising and tracking.
There are fantastic use cases for the generosity of open source. Education software is something I whole heartedly agree should be driven by open source. But I feel open source has been taken advantage of in commercial settings.
This is true of everything. This isn't a problem with open source, it is a problem with society generally.
Amazon on the other hand...
That is often true, but i guess i try to be pragmatic. I did not create the corporation or do all of that work to make that happen. Maybe people think this is easy, but it's not. it is a lot of work in most cases.
I also get paid plenty. Why should i care that someone else is getting paid more? None of this was ever about making significant amounts of money, and open source is almost certainly a bad model to achieve that for real. It tends to create lots of value and attempts to distribute that value usually destroy it.
I may be weird about this though. I have plenty of friends who have made hundreds of millions or billions building those corporations. I chose not to do that, and instead be happy with what i've got (and i've got plenty) and value different things.
But the value those corporations are creating is embodied in much more than just the software. It's the whole infrastructure they build, which integrates the software into a complete solution that meets users' needs.
> Why would I want to build a tool for corporate infrastructure if they take it and make millions while I run support for free?
If someone is using a corporation's cloud infrastructure that happens to rely on open source tools you made, they're not going to call you for support when something goes wrong; they're going to call the corporation. If the corporation comes asking you about it, you are perfectly free to set the price of your services to them.
Back to the desire to work on OSS. I used to work on an OSS eCommerce platform for a living, and as an agency we would contribute back. The platform gives us work because it exists, we contribute back. But it's still all commercial software made for monetary gain. Its just tiring, and deters me from working on it after hours. I don't want my whole life to be about making other people money.
In the 90s and 2000s, OSS project were more grass roots efforts. In the past decade, there have been a series of primarily commercial OSS projects like Redis and ElasticSearch that have gained a fair bit of traction. They really aren't grass roots efforts, don't have a lot of volunteers, and have seen their business model gutted by AWS.
I think that's very unfair. Both Redis and ElasticSearch are definitely grassroots projects - both Salvatore (Antirez) and Shai worked on their projects for years, with minimal support from the outside world, grew their community organically, and managed to build something useful for thousands of grateful developers. Later, they looked for ways to make a good living while continuing to invest in the success of their projects. In the process they built (or joined, in the case of Salvatore) businesses dedicated to supporting the development of their project. There is no perfect solution, but in both cases I would say that they succeeded - they are making a good living, and their projects have continued to grow and make many users happy, in great part thanks to them and the business they work with.
To use that success as an argument against them - to present their business efforts as opposite to their community efforts is just not true, and I think it’s harmful. It punishes them, the creators and maintainers of a great and useful project, for wanting fair compensation for their efforts, and making the effort to give back in the process - when so many others profit from their work, and give back nothing, or the bare minimum to make themselves look good.
In other words, making a good living from the product was an afterthought. So they shouldn't be surprised that they're not getting as much value for themselves out of the product as they would have if making a good living from it was a fundamental part of the project from the beginning.
That's not to say that there aren't ways to monetize open source products, just that doing it as an afterthought isn't one of them. If it's a business, it's a business, and you have to treat it that way from day one. Otherwise you will be out-competed, as a business, by others who do.
Says who? You are entitled to your opinion on the matter, but this is a very contested issue and your opinion is just one of many. If you’re going to argue that Redis and Elastic are “doing open-source monetization wrong”, maybe you should back up your claim with arguments.
> If it's a business, it's a business, and you have to treat it that way from day one. Otherwise you will be out-competed, as a business, by others who do.
You seem very knowledgeable about what is and is not a good monetization strategy for open-source. What do you propose as an alternative to what Elastic and Redis are doing?
I did. Did you read my post?
> What do you propose as an alternative to what Elastic and Redis are doing?
As an alternative now? I'm not sure there is one. Their products are already out there being monetized by others.
As an alternative back when they started? They could have let everyone know that they were aiming to monetize their products as a business from the beginning. Then they would have been taking on for themselves the business risks that cloud providers, for example, took on by building infrastructure using their products and trying to sell it to users.
That said, I never made the argument that their business efforts were a bad thing nor opposed to community efforts, though certainly others have in this context.
Personally, I believe that both commercial entities are entitled to compensation. One of the points that I was attempting to make is that AWS nearly killed their respective businesses by reselling the product of their efforts while making no contribution back to either project.
It made more sense when you could release a product openly and then start a business around supporting it, consulting and training and selling "enterprise" versions for serious customers. But now that's even hard to do when everyone just wants to use AWS, etc to use this software.
It's a double edged sword and we take for granted. These projects have grown and become so feature rich because of the investment in them and the ability to hire hundreds of developers to contribute full time. But then this is harvested by someone who isn't paying for it and not just a little bit - a whole lot. What will eventually happen is we won't have feature rich products that are open source in the future without a change in how we think about licensing. The Apache License is not compatible with running a business around an open source project any longer.
Whether Commons Clause is the right solution or not (and I have my opinion on that), at least the Redis people are trying something to fix the problem of unstustainable one-way resource extraction by mega-corporations. Of the hundreds of people criticizing them here, often in ways that question their motivation and integrity, how many are offering alternative solutions? As far as I can tell, it's a depressingly small number.
After everything Antirez has contributed to us, he deserves better than this avalanche of unconstructive negativity. If you think Commons Clause is not the correct solution to the problem of unsustainable exploitation of open-source projects, what do you propose?
The only thing they're doing "differently" is the deceptive messaging. For this, I blame the Commons Clause initiative.
Redis Labs could take these same actions under a non-deceptive name and the response of the Open Source community would be vastly different.
Lots of companies have an "open core" model (where the core is OSS and some modules are proprietary). Many organizations have mechanisms where you can review source code of their proprietary code, subject to certain requirements. When things are made clear, there's no deception.
But naming a license rider "Commons" seems designed to cause confusion. It'll be easily confused with OSS licenses (since a "commons" is the discussed reason for having them) and with the well-known Creative Commons licenses. Saying it's a rider "with" the Apache License 2.0 also makes it appear that that this is the Apache License and endorsed by the Apache Foundation, which it is not. Saying that something is only OSS if you use the standard definition of OSS makes it sound like there's a minor legal nit, but it's a fundamental precept that OSS allows any use (including use by business).
> Redis Labs could take these same actions under a non-deceptive name and the response of the Open Source community would be vastly different.
I think that's right. I'm sure some would be unhappy, but the real problem here is the naming that seems designed to mislead. I'm not sure the information here was actually designed to mislead, but if that wasn't the intent, I think Redis Labs needs to change the names to quell the confusion.
If Redis Labs continues to use these confusing names, I suspect that the Creative Commons Corporation and Apache Foundation will consider going to court to protect their trademarks, since otherwise there's a significant risk of confusion in the marketplace (the reason that trademarks exist). Hopefully Redis Labs will just change to less-confusing names and then the problem will disappear.
I get that Commons Clause does not meet the official definition of Open Source (which I believe they admit upfront), but it’s definitely different from “open core” and from whatever Red Hat calls their model. Since it’s something new, it seems reasonable to give it a new name. I don’t have any strong opinions about the name “Commons Clause, maybe there’s a better name for it, but I wouldn’t call this one deceptive.
One is the following observation. Customers are usually willing to spend $X on a solution to their problem, but are relatively agnostic on how $X is divided up. So if customers are willing to pay about the same for Oracle on Sun, and for Oracle on Linux, but Linux is cheaper than Sun, then Oracle can (and did!) successfully charge more to run on Linux. The result is that it is in Oracle's interest to make the Linux solution available and preferred by any means necessary..including improving Linux.
The same logic applied to IBM contributing to Apache so that they could charge for Websphere. Or any other case where there is a required component of an overall solution.
The widespread recognition of this back in the late 1990s was why the open source movement so quickly got a lot of corporate sponsorship from big companies.
1. A group of people go off and, without involving their communities at all, try to solve a problem they think they have.
2. They spring it on their communities suddenly and without warning
3. Negative reaction ensues.
4. People decry death of open source.
5. Author of clause bemoans on twitter that the reaction of community should have been collaborative problem solving (and "starting a conversation"), despite completely failing to attempt collaborative problem solving with their community.
Is that about right?
If so, this is a great object lesson in how not to do this.
If you want the reaction to be collaborative problem solving, engage people in collaborative problem solving.
If you want the reaction to be to your solution, present people a solution. But expect people to do precisely that!
This is like when people drop completely designed/implemented megabombs of stuff on OSS projects and then complain when there is pushback.
Wow! That seems like a mistake. This casts too wide a net and catches more than it should.
> ... product or service whose value derives, entirely or substantially, from the functionality of the Software...
Ugh. Instead of unambiguous freedom-granting terms, this leaves it up to a court to help determine this vague notion of the product or service's "value".
Steer clear of these license terms!
EDIT: deleted request for OSI to clarify
> It this “Open Source”? [sic]
> No, at least not by the official definition set forth by the OSD. Applying the Clause to an open source project will transition the project to “source-available”.
It catches everything. Commons Clause makes the software proprietary.
Even if Redis Labs wouldn't be so aggressive against Slack, could we count on that if they were acquired by Oracle, or if their acquirer were acquired by Oracle? In such a case, Slack would be in a pickle - they might be liable for having used the software without a license historically, which is in many ways a worse situation vs. having had to negotiate a commercial license in the first place. It's an insidious gotcha term wearing the cloak of open source, and thus it tarnishes the brand of the entire open source community.
But for consulting or support? That's even worse than the usual terms for proprietary software. As far as I know, I can offer consulting services for Microsoft or Apple software without breaking any license.
Similarly for software that builds upon proprietary software. As far as I know, this is commonly allowed without any additional license.
Or am I missing something?
One challenge is the name "Commons" is very misleading. It's not creating a commons, and it's also confusingly similar to the term "Creative Commons" which has been around for a really long time.
Also, the Commons website says that the Commons license is not OSS "at least not by the official definition set forth by the OSD". Yet that is the official generally-accepted definition.
“Commons” isn't the thing the clause creates, it's the problem it aims to solve. Naming contract or license clauses after the problem they address is not uncommon.
They really should've run the name by someone familiar with the copyright landscape.
Ultimately, though, open source has to incentivize independent creators and not big corporations. AGPL is somewhat successful here, because big corporations already ban its use internally, but it's far from addressing the problem. New restrictive licenses are needed.
> AGPL is somewhat successful here, because big corporations already ban its use internally
The word "because" is confusing me here. As far as I'm aware, the goal of AGPL is the same as that of the GPL: protect the freedoms of users (specifically the FSF's "four freedoms"); the difference is that GPL considers "users" to be those who run the software and AGPL also considers those who interact with the software.
There's nothing about preventing business use; although I believe that in dual-licensed projects, the extra stipulations of the AGPL may boost the appeal of the alternative license. Is that what you were getting at?
AGPL isn't perfect, but obviously neither is a non-open, non-free anti-commerce clause.
RedisLabs wants money, not sharing, from this kind of downstream use, so AGPL doesn't work.
> We wanted to keep our modules open source, so that everyone can freely use them, enhance them and fix issues. On the other hand, we are a commercial entity that invests a lot of time, effort and money developing these modules and verifying they can work under extreme deployment conditions. Therefore, we wanted to make sure no one else can resell them for commercial purposes.
That last sentence is key: it shows the preamble to be a smokescreen, since they're explicitly stating that they're against the literal number 1 criterion of open source (as per https://opensource.org/osd ):
> 1. Free Redistribution
> The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
This condition appears before any related to source code. In other words, RedisLabs are pulling the classic "we want our software to be proprietary, but we also want other people to fix our bugs for free" (see also "Shared Source" and https://en.wikipedia.org/wiki/Source-available_software ).
They thought releasing under the AGPL would strike that balance, but it turns out it didn't so they've now gone to a proprietary license like they always wanted.
I was just clarifying the point being made above about AGPL.
Open source was never about preventing people from making money on the works they create, it is about preventing companies from telling people what they can and can't do with that code. It is about insuring forward progress and the ability to build on what other people do, making it better, and ensuring that that future is not meddled with. Or restricted.
And there are plenty of licenses that accomplish that, the GPL and it's offshoots chief among them.
A license like that would, by definition, not be an Open Source license. Asking projects to switch to such a license is basically asking them to stop being Open Source.
@Antirez has confirmed the core project is remaining BSD. The "Common Clause" stuff applies to the modules that RedisLabs create.
Additional modules @Antirez creates himself, are also not under Common Clause, they're AGPL.
There is nothing to see here, folks; "free-with-source for non-commercial use" has been a thing in the proprietary world for decades. It's like "free trial" or "freemium" with source code.
It's a good thing for customers and would-be customers. Customers can track down bugs and security flaws if they have access to the code. Would-be customers can evaluate the product based not only performance of the executables but code quality.
It is a "better proprietary", in other words.
Right. And if they would just call it that and not try to make it sound like it's "sorta / kinda Apache licensed" then I wouldn't really care. But it's like people using this clause want to benefit from the general perception of open-ness and the wide acceptance of the ALv2, while not actually being Open Source. It's just dishonest.
The problem is the definition of "commercial use" here, which is broader than most proprietary licenses, since it includes e.g. consulting.
The guidelines/definitions/blah blah blah exist precisely because of attempts to do this in the past.
If people want to try again, great, let them. Experimentation is good. (I personally wish they'd stop experimenting with repeatedly proven-to-fail models, but c'est la vie)
In the end, it's the developers who are going to decide whether it's the right way for the world to be.
That is, it's not going to destroy open source or anything else unless the people using/developing open source want it to.
Past that, Kevin's refrain is kind of tired, at least to me. Open source has always been a community that basically eats its own over time (nothing is ever good enough, free enough, open enough, etc). Solving that seems more important than solving this.
Saying "The OSS project we tried to build as a business sinks tons of money into open source and gets no help" as if it was a new problem is just silly. This is not a new problem at all. The fact that they believe doing literally the same thing that hasn't worked in the past will suddenly work to solve this problem in any meaningful way is disappointing.
For a person whose twitter bio likes to tell me how impressive they are, this is not impressive at all. I would have hoped for something better.
Because if this is all they've got, then yeah, that model of open source is likely screwed.
I will paraphrase a colleague:
The underlying issue they are trying to solve is that developers believe they should be able to extract some of the wealth they feel they created. In open source, that wealth is often only created because the software was free. Otherwise, people would have used something else that was free but worked well enough. Developers like to often argue this isn't true, but history shows it to be true basically always :) So saying you should be able to extract this wealth is probably wrong. Saying you should be able to get paid a reasonable amount of money is not.
It's a dirty practice to build something open source and after a certain point, try to close it off. But, it's not unheard of. Any project can change their license, I believe Google did this with Android. Older versions will get forked and others will do with those forks what they choose.
I'm hoping doing this would cause so much backlash that it'll force projects to revert back to OSS. But, it could just push people out of contributing to OSS -- then again, there might be some people more likely to contribute if they knew no one was going to make money off their work.
Let the market sort it out.
The base is open, but what makes it useful is licensed, essentially making the free still crippled. I did a post about Android a while back:
Software: [name software]
License: [i.e. Apache 2.0]
Licensor: [ABC company]
If they actually used the Apache 2.0 license anyone would have the right to sell the software. Hence putting that clause and then putting "Apache 2.0" as the license makes no sense. The licensing terms would be contradictory.
Even if you like this license, please never use it!
> If the Commons clause were to be adopted by all open source projects, they would cease to be open source, and therefore the Commons clause is trying to destroy open source
Make an absurd assumption, link it back to your pet point, conclude something dramatic, link-baity, and utterly preposterous. For bonus points, attribute a motive to inanimate objects.
I’m new to the matter, but I do see in the Commons Clause an intent to manipulate and mislead. If the goal is to provide an option for companies who would otherwise take their software closed-source, why does that option have to sound super-duper open sourcy while not having terms recognizable as open source? I’m not even a rabid free software guy or anything, but just compare the name to the terms. There is no possible way that “Commons Clause” is not intended to be confused with, or somehow gain a positive spin that has nothing to do with its content from, CC or Apache Commons.
People who care about things like Creative Commons or about open source as anything more than “source available” will label this as “evil” or at best a marketing ploy.
DFSG #6 is written to address this specifically: "No discrimination against fields of endeavor, like commercial use." https://en.wikipedia.org/wiki/Debian_Free_Software_Guideline...
> All a license can do is grant you rights you wouldn’t otherwise have because of copyright law, right?
No, it can absolutely restrict your rights. A license is a contract, and other contracts can also restrict your rights in exchange for other legal goods (see e.g. NDAs, or non-compete clauses in employment contracts).
In the case of Redis, I think that it's a really deserving project and I fully trust the integrity of the people behind it.
As someone who created a popular OSS project outside of Silicon Valley, I can relate to how difficult it is to be an outsider in this industry and I understand why Redis Labs would feel entitled to capture a tiny fraction of the enormous value that they created.
I think that if the Commons Clause is just related to optional things like plugins or addons then I honestly don't see any harm; at least the plugins/addons are still available for small companies to use for free so it's still a step up from the typical OSS freemium model where they sell the plugins.
This doesn't allow any companies (except not for profits) to use the plugins without buying them.
But it's not true, it's complete, self-admitted clickbait. An asteroid will destroy most life on Earth tomorrow. If a sufficiently large asteroid strikes Earth tomorrow. It's an overwrought premise leading to predictably overwrought handwringing.
> For purposes of the foregoing, “Sell” means...fees for hosting or consulting/ support services related to the Software...
Why anyone would ever use this license is beyond me. No paid hosted version. No paid consulting. No paid support.
I mean this is great for folks who have already made their money but for those of us with bills to pay, it's not exactly realistic.
Do you think the authors of the software you want to resell don't have bills to pay?
Redislabs made a good point, cloud providers are making huge amounts of money off these products and often contribute little back. Take Linode and their Block Storage service for example. They use Ceph, but contribute nothing to the Ceph open source. Or QEMU, the entire basis of their business, and not a single commit from anyone there.
The Commons Clause addressed the AGPL question you ask in your comment.
Redislabs states the goal is not to close source redis core, that will remain free forever, and that the use of the priority modules will be free for most use cases, but when companies makes money from packaging it all up as a service, they should have to pay a license fee, which seems completely fair.
I’ve worked for a large cloud providers and some small ones, it’s pretty common at these places to not care what the License is because as long as it’s running on a server, it doesn’t matter. And selling service based off them, just means profits without giving back in most cases.
The final point of the Commons Clause says very clearly that this was not meant to be slapped on every OSS license and that it’s not a final solution but meant to spark conversation.
In that way, it’s working exactly as intended.
Not every business can be Red Hat.
I find this use of "theological" insulting and not fitting to the situation. "Ideological" or "partisan" would be better IMO.
Wow I'm glad we don't live like that anymore. If using a word in a way that totally suits its literal meaning and most of its connotations is "insulting" enough to help forestall a return to that, bring on the insults! Here's one: RMS believes in free software more deeply and authentically than anyone in this thread believes in God.
Would they “relish” your using the term “theological” in the way you did in your original comment? Be honest.
> To join the Church of Emacs, you need only pronounce the Confession of the Faith: There is no system but GNU, and Linux is one of its kernels.
Warning: taking the Church of Emacs (or any church) too seriously may be hazardous to your health.
So at least that page is absolutely not evidence that Stallman is sympathetic to theological analogies (the fact that he is joking by making a theological analogy indicates the opposite).
Can you elaborate?
But I often see people labelling disagreements over things like licenses or editors or programming language as "religious" disagreements, with the implication that this means "driven purely by thoughtless adherence to a group and/or authority".
Clearly, religion sometimes works like this. But consider people like mathematician and theologian Blaise Pascal, or literature professor and theologian C.S. Lewis, or any number of ordinary Christians I know who do think critically, including about their theology. Being religious does not necessarily mean holding a position uncritically, being hostile to those with whom you disagree, or being able to acknowledge partial agreement and gray areas.
On the other hand, non-religion can also display the "religious" tendencies people are trying to deride by using this term. Some people are so fervently allied to the Republican party, or Marxism, or environmental causes, or conspiracy theories, or atheism, or white supremacy, or feminism, or any number of other things, that they're unable to consider opposing arguments.
Unthinking herd mentality is neither inherent nor specific to religion.
The license are short and powerful ant try to 'make a statement' themselves ... in reality, the resulting behaviour of the community is another thing altogether.
I personally support the ideological position, I just don't think this is the right way to make that argument.
'Pragmatic' is recognizing that maybe what we have today is kind of crap and not perfect, but it's much better than some new pipe-dream of a clause.
All of us are entitled to our opinions on the healthiness of the Commons Clause, but if history has taught us anything, censoring the mere _idea_ of it for being in conflict with one’s personal ideology is the greater injustice, and will accomplish nothing in the long run. Might its adoption hurt some people? Maybe. Might it help some people? Also maybe. But shooting it down before it has the chance to do either feels wrong.
Nobody is censoring anything, in either a precise or a fuzzy sense[1]. Conflating criticism and censorship is (a) a category error, (b) a really pernicious notion, and (c) confuses people and derails discourse.
A core principle of free speech is that the answer to bad speech is more speech. Mislabeling criticism censorship attempts to delegitimize that answer, and thus paradoxically attacking the very notion purportedly being defended.
Please don't do that.
[1] Insert private-citizens-cannot-censor distinction here beside an acknowledgment that the word is used informally with wider applicability.
That's not "usage" that's wider applicability, it's accuracy.
You are no less censored if your boss threatens your livelihood than if your government threatens your freedom or Twitter bans your account. Tyranny is tyranny, and censorship is censorship. No matter the cause for a voice to be excluded from public discourse, it's exclusion is censorship. The only distinction is that government censorship is explicitly illegal under the United States Constitution.
Nevertheless, the First Amendment is not a comprehensive definition of censorship nor is the Bill of Rights a complete expression of all human rights. If you want something that's closer to one of those, please refer to the Universal Declaration of Human Rights[1]. The concept of censorship as well as the ideals free expression, freedom and liberty extend well beyond the scope of a mere government law or institution.
No, not all censorship is illegal. The state can't make all censorship illegal because that power is too easily abused -- you yourself are discussing the difference between criticism and censorship right here. However, we should not mistake the wisdom of proscribing our government from acting as judge over free expression as a unique or defining characteristic of what it means to censor or silence another's right to free expression.
[1]: http://www.un.org/en/universal-declaration-human-rights/
Of course I'm less censored by my boss than by my government. My boss doesn't have a monopoly on my potential sources of income, but my government does have a monopoly on my citizenship; I simply can't move to another country without the permission of both governments. My boss can't persuade me with anything but a temporary lack of income; my government can (legally!) persuade me with a long list of effective arguments, ultimately ending in a gun barrel.
If the government threatens you with political imprisonment, are you more or less silent than if your boss threatens you with termination and legal proceedings? No. You're still unable to voice your opinion.
Don't mistake the amount of power brought to bear to coerce with the outcome of acquiescence. Dead is dead. Silent is silent.
The ideal of free speech says that restricting the flow of ideas is harmful and immoral in and of itself. Yes, we need additional protection against government tyranny. That's why it is illegal. But "it's not against the Constitution" doesn't make an action right or just. "It's not illegal according to the Constitution" is perhaps the weakest defense I can possibly think of. If that's the best thing you can say about your actions, you're not really endorsing yourself. Congratulations. You haven't done something so stupendously wrong that we wrote it down a couple hundred years ago and made everybody working in one country's government promise not to do it anymore. If we're to judge you by the strictest letter of a document explicitly intended to proscribe one government's power, you're doing great. And we just nevermind that if you were acting on behalf of the government, it would be illegal? We just ignore the ideal of free speech in lieu of a single embodiment of it?
It's like a CS student saying, "It doesn't segfault on compile. I deserve an A." Well, not segfaulting during compile is the bare minimum. Well done. You wrote a program that's syntactically valid and results in a binary output file. It might be incorrect, it might be insecure, it might be buggy, it might be incomplete, it might be less efficient than bogosort, it might perform trivial work, it might even be completely useless, but at least it does so within the basic rules of the OS!
You managed not to do something illegal. That doesn't mean you're doing something right.
"If you suffer a sunburn, are you more or less injured than being run through with a katana? No. [In both cases] you're still injured."
But of course you can be more injured or less injured. The entire point is that injury isn't a binary measure, and neither is freedom/censorship.
---
Let me put it another way... imagine the most oppressive possible regime, and then imagine the most liberal utopia but with one added restriction: you can't say "purple fuzzy dishwasher". That's the only restriction. Absolutely everything else is permitted but that one phrase is illegal, and immediately punishable by a million-dollar fine. Keep in mind that the most-oppressive regime also disallows the phrase "purple fuzzy dishwasher", and in their case it's punishable by torture and then death.
If your definition of censorship doesn't meaningfully differentiate between the two societies, then it's completely useless. You could only use it to conclude that "all people are censored", since there are always possible material repercussions to things we could say.
>The only solution is to bury the Common Clause project. Kill the website and GitHub repository, and we can try to forget this ever happened.
Personally I'm not advocating any kind of "censorship", self or otherwise, in any literal sense. But I do want everyone to understand the extent to which I think this "clause" is an abomination and a threat to the entire Open Source movement.
No, but they can try, https://tidelift.com is a good starting point.
With an actual license text publicly available, this is way beyond just an idea, wouldn't you agree?
> His ideal 'solution' is to just fold it all up and try to forget it ever happened
This was not proposed as a solution to the problem(s) that Commons Clause wants to solve, problem(s) BTW that I can't see clearly articulated anywhere.
- A person or company creates an open-source library, at great cost of time and effort.
- A big company adds that library to their cloud offerings, at arguably far lesser cost, and monetizes it.
- The library author receives no compensation.
This article seems to argue against the Commons Clause because it's not 'true open source,' but this seems like a purely ideological argument that sidesteps the true problem that CC is trying to solve: open source creators not getting a cut of the profit they are generating for big companies. Am I missing something here?Commons Clause is misleading in the context of Open source licenses.
On a separate note, it is important to address volunteer open source contribution and development. I think as a community we are missing a model that guides how :
a) developers,
b) their hosting organizations
c) financial contributors / donors
can all benefit from their activities.
Right now, there are different models and experimentation are being used.
But I think we, as a community, could come up with 3-4 models that make it worthwile to the above groups.
'Corporate Co-option' or 'Cash Capture' might also be appropriate...
If I can choose to apply whichever license I want, then it would seem that The Commons Clause could only possibly harm those that choose it.
Anyway, there are plenty of unprofitable licenses out there, and the reality is, for all of them, if you’ve already given something away for free, once the cat’s out of the bag, you probably won’t make any money, even if your license doesn’t say you’re a bad person for even thinking about trying.
That said, The Commons Clause is probably fine for foundations, where lots of people are sharing an array of technologies, and not really asking for money. Meanwhile, it’s been several decades of HTTP over TCP/IP, and last time I checked, there isn’t a whole lot to lock down, and the real money is in adding reach to flip switches from the other side of a network connection. JSON isn’t going away, so, there really isn’t much to apply licenses to, in this area, without being silly.
But hey, databases, operating systems, desktop applications, peripheral drivers, all these things still happen, so I guess there’s stuff to license. But really all the fringe licenses mostly get applied to JavaScript frameworks, and by the time you actually read a JS library’s license, three other projects have replaced it, so why bother.
But any attempt to make software open source, but still make sure that I get licensing fees or whatnot if someone makes a profit from it, is in my opinion seriously misguided.
With Open Source, our business model should be that lots of people work together to build an ecosystem; no-one profits directly from selling the code, but everyone profits from using the code. Some people contribute to the project because they offer consulting services, some people profit because they use it for their job, etc.
Open source should be just about taking, if million dollar companies, forget supporting projects they rely on, can't even tell the authors something has gone wrong.
Ideally those who can afford it should throw some support to the projects they use. But clearly this is not happening, if the project becomes too important then they simply acquire the project with downsides for everyone.
There has to be a middle way that has upsides for all parties and untill that is figured out this can work in the interim.
Open source developers are building software for free that is then used by extremely large corporations to make vast amounts of money without compensation to the original author. Even worse much of this revenue comes from business practices that the original authors may find highly objectionable including mass surveillance, "surveillance capitalism," and data-driven propaganda, con artistry, and manipulation.
If you create open source today you have no choice but to indirectly offer free labor toward the construction of a global surveillance state. The commons clause offers a way out while still encouraging people to use your software for personal, private, academic, and other purposes and retaining the openness of open source.
The "free as in beer" part of OSS is a relic of the 1990s when the prevailing enemy was "embrace-extend-extinguish" at the hands of (mostly) Microsoft. It was sort of a growth hack to enable open source software to gain critical mass and challenge closed source proprietary platforms.
Times have changed. Today the big threat is SAAS walled gardens, surveillance capitalism, and other business models that in many cases run on and depend upon open source. In some cases SAAS can verge on piracy-- not necessarily in the legal sense since nothing is being done to violate any license but in the moral sense of profiting handsomely from the work of others without compensating them.
Edit: I will provide a concrete example of the last point: RethinkDB.
RethinkDB was probably the best NoSQL database, at least before Mongo was improved enough to challenge it on robustness and versatility. It still has features Mongo and others lack.
Unfortunately RethinkDB the company failed because... well... nobody paid them. Instead they paid services like compose.io to run RethinkDb for them in the cloud. Cloud SAAS database services were making more money off RethinkDB than the database's own developers were. In the end they failed and the project is now almost abandoned.
There are numerous similar examples. AFIAK the Commons Clause would have prevented this, allowing either RethinkDB to capture their own SAAS market or charge compose.io something for making money off their software.
- Apache
- Apache + Common Clause
- BSD
- MIT
- GPLv2
- GPLv3
Maybe because like you they find it hard to explain?
According to your linked resources, it appears that everything except the Common Clause is FOSS.
So, basically everything I've ever seen is FOSS.
> So, basically everything I've ever seen is FOSS.
Correct. Free Software just puts more attention to the freedom part of software.
GNU has a nice diagram and some category definitions for software at https://www.gnu.org/philosophy/categories.html
Due to bsd and MIT allowing tivoization, those are the two non-foss licenses in that list in my opinion. I try to always use gplv3 when I can, but apache 2+ is acceptable to me.
1. The existence of the Commons Clause. 2. The application of the Commons Clause to software that previously was not subject to it.
To the original author: How would your view be different if a company released a new product or module that was Commons Clause-licensed from day 1? Would that still be a threat to open source? (What if the alternative to it being Commons Clause-licensed was that it wouldn't exist at all?)
The problem is when I want to, say, copy a few functions into my own project which I'm publishing under completely unrestricted terms (say, Unlicense). Or use as a dependency, etc.
So, I'd say it's okay-ish for "product-like" stuff, for user-facing applications. But please NEVER publish libraries everyone depends upon under these terms.
Cloud providers do redistribute. It runs on their servers. They do not have to honor copyright restrictions. They can make proprietary modifications and keep them, and they do. They might be honoring the letter of the license, but certainly not the spirit of it.
That doesn't help upstream monetize; this is entirely about money, not reciprocal contributions of code.
What's the difference between the Commons Clause and the creative commons "nc" (non-commercial) license?
I'm having trouble seeing how the Commons Clause is a threat to open source, while the GPL and Creative Commons are not.
This Commons Clause is pure blarney and Drew is exactly right.
The best open source monetization case I've seen yet may be SQLite3, which is in the public domain. SQLite3 has a consortium, has some proprietary products (e.g., the more extensive test suite) not available to the public at large (in source form or otherwise), and is so ubiquitous that there are a number of large companies that are so utterly dependent on it that they are practically obligated to be members of the consortium. I've no idea just how profitable SQLite3 has been for D.R. Hipp and friends, and I don't want to know, but I assume it's been good enough that they are happy to continue working on it. SQLite consortium members probably (I imagine anyways) get to influence SQLite3's development, and that's one generic way to monetize source code regardless of license: get paid to do further (specific) development / bug fixes / support, but SQLite3's proprietary test suite makes it very difficult for third parties to be able to have contributions welcomed by the core, which tends to limit third party commercial support.
Choice of license doesn't seem to have that much to do with whether something can be monetized. Consider the Linux kernel, which is GPL'ed: prolific contributors profit mostly by being well-employed to continue being prolific contributors, but almost certainly no one is making a dime from commercial Linux kernel usage without source code distribution. There might be some GPL licensed codebases where the copyright owners are making a few bucks from commercial usage by third parties who don't want to distribute their changes, but probably not a lot. There are almost certainly no BSD/MIT licensed codebases where the owners are making any money from commercial usage by third parties -- the license simply allows third parties to use such code outright with absolutely minimal obligations on the third parties.
You can have open source and monetization for some value of "open source", but not one that most people would really consider "open" -- getting to see the source code != open source.
Getting paid to support open source (e.g., add features, fix bugs) can be very difficult when it is easy for anyone to do that. SQLite3 has a mechanism for limiting third party contributions (a proprietary test suite) which limits third-party commercial support though in general that would also increase the risk of forks (but SQLite3 is so widely used that forks are extremely unlikely). The SQLite3 approach won't work generically for very many open source projects as it depends on SQLite3's popularity and very widespread use.
The fact is that for many of us open source is just a way to build and maintain a reputation, and we then monetize the reputation.
I myself have been offered payment for development on open source codebases that I maintain, and I always reject such offers, mostly because accepting them would interfere with my main responsibilities, and in some cases also because it's not my right (e.g., I don't think it would be fair to take money to work on jq without giving @stedolan the right of first refusal). If I were to lose clients/employment, I might reconsider this.
Even after community "acquisition" the development process mostly dead https://github.com/rethinkdb/rethinkdb/graphs/commit-activit...
Developed, at least the first bit of time, on Minix, a Unix-like operating system that a university professor wrote as a teaching tool and gave away under a shared source license.
Linux' use of GPL was better than the shared-source license of Minix because you could distribute patched Linux kernels but had to distribute Minix improvements as patches to the original distribution. Linux' use of GPL was also what led everyone to contribute back to Linux while BSD derivatives were silently used to bootstrap software (including MacOSX) that never contributed back.
Linux also shows two properties that make up successful open source: there's an "inside" (kernel-land) and an "outside", and everyone profits if the inside-OSS part is made better and better while having minor kernel improvements is not a huge differentiator for most companies.
Contrast with the Redis addons by Redislabs: they want the ecosystem aspect of open source - people contributing back patches. But they also want to be the only ones to gain a livelihood from their code (which is their right as creators of the software but not conducive to the growth of an ecosystem). And they want their license to be treated as Apache-License-related, which is the part that smells of make-believe and dishonesty. But observe the part of having an ecosystem of different software parts (here: Redis and RedisLabs' extensions) that have an inside and an outside, as well as an ecosystem of developers/users who can make and share improvements to the software.
What kills open source software is greed, and very few people are immune from that.