The Software is provided to you by the Licensor under the License, as defined below, subject to the following condition.
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.
For purposes of the foregoing, “Sell” means practicing any or all of the rights granted to you under the License to provide to third parties, for a fee or other consideration (including without limitation fees for hosting or consulting/ support services related to the Software), a product or service whose value derives, entirely or substantially, from the functionality of the Software. Any license notice or attribution required by the License must also include this Commons Cause License Condition notice.
Software: [name software]
License: [i.e. Apache 2.0]
Licensor: [ABC company]
The Commons Clause is a license condition drafted by Heather Meeker that applies a narrow, minimal-form commercial restriction on top of an existing open source license to transition the project to a source-availability licensing scheme. The combined text replaces the existing license, allowing all permissions of the original license to remain except the ability to "Sell" the software as defined in the text.
This Clause is not intended to be replace licenses of existing open source projects in general, but to be used by specific projects to satisfy urgent business or legal requirements without resorting to fully "closing source".
“Open source”, has a specific definition that was written years ago and is by the Open Source Initiative, which approves Open Source licenses. Applying the Commons Clause to an open source project will mean the source code is available, and meets many of the elements of the Open Source Definition, such as free access to source code, freedom to modify, and freedom to re-distribute, but not all of them. So to avoid confusion, it is best not to call Commons Clause software “open source.”
When the Commons Clause is applied to a project, it only affects code moving forward -- meaning no existing users are immediately affected. Licenses applied to previous versions are not revoked, so the Clause will only apply to future releases.
If you choose to adopt the Commons Clause, you should understand the implications any license change will have on your community and weigh that against the threat of allowing others to trade on your work developing your open source project.
The Commons Clause was intended, in practice, to have virtually no effect other than force a negotiation with those who take predatory commercial advantage of open source development. In practice, those are some of the biggest technology businesses in the world, some of whom use open source software but don’t give back to the community. Freedom for others to commercialize your software comes with starting an open source project, and while it's important to uphold, growth and commercial pressures will inevitably force some projects to close. The Commons Clause provides an alternative.
The Commons Clause was not designed to restrict code sharing or development, but preserves the rights of developers to benefit from commercial use of their work. However, those that adopt the Clause should understand the broader implications of making a license change and commitments to source availability.
AGPL simply doesn't work to solve this problem. It is not a widely adopted license, and its “network” clause is not clearly written, so companies are not willing to stake its entire development resources on using AGPL to prevent free riding.
AGPL doesn't go far enough to preserve the rights of developers. If cloud-based software is licensed under AGPL, often, much of the value for improvements to the cloud-based software arguably falls outside of the “Program” thereby nullifying many of the benefits of mandating enforcing source code offers. Hosting, management, and other elements are often just as important as the core code.
In addition, the ambiguity of what is covered by AGPL’s network clause (“interacting ..remotely through a computer network”) means that many potential users are more confused and cautious about using AGPL code than a source-available license. Like the group behind Commons Clause, the drafters of AGPL were concerned about the “cloud loophole” in licenses like GPL. Unfortunately, AGPL’s network clause was a compromise; one camp in the GPL3 drafting process wanted to introduce a network clause into GPL3, and many more than wanted to preserve the “distribution trigger”. So the network clause was never popular, and even after 10 years, AGPL has not been broadly accepted, particularly in business. Most companies still won’t use AGPL code at all. So it is not a useful open source solution for emerging companies.
Some people believe that all software must be open source, and they will never condone anything else. But in reality, there are lots of models for licensing software. Commons Clause is just one alternative.
But the important thing is that the developers who have chosen Commons Clause have been faced with the choice of doing something new or allowing their businesses to fail. And the other possibility -- the completely proprietary, closed source model of companies like Oracle and Adobe -- is always a possibility. So if anyone tries to convince you that Commons Clause is wrong because it doesn't meet all the requirements of the Open Source Definition, you should ask them if proprietary is better -- or no software at all.
You probably use plenty of software that is “freeware” -- under free of charge proprietary licenses (JRE, Acrobat). If you refuse to use Commons Clause, you should refuse to use those, too. Those licenses give you less rights.
We didn’t have to, we could have just written a new, proprietary license. But people understand the popular open source licenses, and we wanted to be clear that we were allowing everything those licenses allow, except for one kind of use.
For maintainers, this portability was a specific design constraint to support the legacy schemes they were transitioning from.
CC-NC is a similar idea, but CC licenses are not software licenses. Also, there is a lot of confusion about what is a “commercial” use, and we only wanted to restrict one narrow kind of commercial use.
CC-NC is actually much more restrictive than Commons Clause.
Open source is here to stay. But open source works better for some kinds of software than others. The Open Source Definition and the development model it represents is an immensely important set of ideals that have carried many projects to success. But most of those projects were basic infrastructure projects, as opposed to advanced applications. And very few true open source businesses have flourished.
Open Source projects are not free of cost, they often support billions of dollars of revenue and can require tens of millions of dollars in financing to stay afloat. That can work -- with a lot of effort -- for software that everyone uses, like operating systems. Also, lots of companies are successful using open source -- when they are selling something else, like hardware or services. But many software companies can’t keep the doors open with an open source licensing model.
The Commons Clause was drafted by a group of developers behind many of the world’s most popular open source projects who feel a lot of pain and pressure from a rapidly-developing business ecosystem and the realities of the cost of developing projects. It wasn’t created to end open source, but start a conversation on what we can do to meet the financial needs of commercial software projects and the communities behind them.