FOSSA Logo

Commons Clause

The Commons Clause is a license condition that restricts commercial use of software when applied to an existing open source license, creating a source-available approach.

What is the Commons Clause?

The Commons Clause is a license condition that can be added to existing open source licenses to restrict commercial use of the software. Created in 2018, it is not a standalone license but rather a modifier that transforms open source licenses into source-available licenses by adding specific commercial restrictions.

The Commons Clause prohibits "selling" the software, where "selling" is defined broadly to include:

  • Direct selling of the software
  • Charging for a product or service whose primary value comes from the software's functionality
  • Charging for support or consulting services specifically related to the software
  • Charging for hosting the software as a service

By adding these commercial restrictions, the Commons Clause effectively converts open source software into source-available software that no longer meets the criteria of the Open Source Definition (OSD).

The Exact Text of the Commons Clause

The Commons Clause adds the following text to an existing open source license:

"Commons Clause" License Condition v1.0

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 Clause License Condition notice.

Origin and Purpose

The Commons Clause was created by Salil Deshpande of Bain Capital Ventures in collaboration with several companies seeking to modify their licensing to protect their business models from cloud service providers. Redis Labs was among the first notable adopters, applying the clause to certain Redis modules in 2018.

The primary goals of the Commons Clause are:

  1. Business Model Protection: Prevent large cloud providers from offering commercial services based on open source software without contributing back to the original project.

  2. Sustainable Development: Create revenue opportunities for creators of open source software to fund continued development.

  3. Competitive Defense: Allow companies to share source code while preventing direct commercial competition using that same code.

Impact on Software Status

When the Commons Clause is added to an open source license:

  1. The software is no longer considered open source according to the Open Source Initiative (OSI).

  2. The software becomes "source-available" - the code can be viewed, studied, and sometimes modified, but with commercial restrictions.

  3. Many open source foundations and communities will not accept or distribute software under the Commons Clause.

  4. The software may face compatibility issues with other open source components, particularly those under copyleft licenses.

License Compatibility Concerns

The Commons Clause creates several compatibility challenges:

1. Copyleft License Conflicts

Software under the Commons Clause cannot typically be combined with software under copyleft licenses like GPL, as the commercial restrictions contradict the freedom to use the software for any purpose.

2. Dependency Chain Issues

When a project adds the Commons Clause, all downstream projects incorporating that code must either:

  • Also adopt the Commons Clause's restrictions
  • Find an alternative component
  • Obtain a commercial license if available

3. Contribution Barriers

The clause can create barriers for contributions, as contributors must accept that their work will be subject to commercial restrictions.

Community Reactions

The introduction of the Commons Clause generated significant controversy in the open source community:

Criticisms

  • Misrepresentation Concerns: Critics argue that using "Commons" in the name while restricting freedoms is misleading.
  • Fragmentation: The clause contributes to license proliferation and fragmentation of the software commons.
  • Freedom Reduction: It restricts fundamental freedoms that define open source software.
  • Complexity: It adds ambiguity around what constitutes "selling" the software.

Support

  • Sustainability Focus: Supporters view it as a necessary tool for sustainable open source development.
  • Value Capture: It helps original creators capture some of the value they generate.
  • Middle Ground: It provides a middle option between fully closed and fully open source.

Detection and Analysis in Supply Chains

Identifying and managing Commons Clause software in supply chains presents unique challenges:

Detection Methods

  1. Text Pattern Recognition: Scanning for the specific text of the Commons Clause in license files.

  2. License Declaration Analysis: Examining package metadata for references to the Commons Clause.

  3. Repository Investigation: Checking repository documentation and LICENSE files.

  4. License Scanning Tools: Using specialized tools that can identify the Commons Clause modifier.

Analysis Considerations

When a Commons Clause component is detected, organizations should evaluate:

  1. Usage Context: Is the usage purely internal or part of a commercial offering?

  2. Value Proportion: Does the component constitute a substantial portion of the value of a commercial product?

  3. Alternative Options: Are there fully open source alternatives available?

  4. Commercial Licensing: Does the licensor offer commercial licensing options?

Compliance Strategies for Commons Clause Software

Organizations using software under the Commons Clause should consider these compliance approaches:

1. Commercial Licensing

Many Commons Clause projects offer paid commercial licenses that remove the restrictions. This is often the cleanest compliance approach for commercial use cases.

2. Usage Limitation

Limit the use of Commons Clause software to purely internal applications with no commercial component or service offering.

3. Component Isolation

Isolate Commons Clause components architecturally to minimize their impact on the overall product and facilitate potential replacement.

4. Alternative Adoption

Replace Commons Clause components with fully open source alternatives where available, especially for core functionalities.

5. Dual Sourcing

Maintain capability to switch between the Commons Clause version and alternative implementations to reduce vendor lock-in.

Commons Clause vs. Similar Approaches

Several other approaches exist that achieve similar goals to the Commons Clause:

1. Business Source License (BSL)

  • Time-limited commercial restrictions that automatically convert to open source after a specified period (typically 3-4 years)
  • More predictable conversion to open source
  • Used by companies like Cockroach Labs and Sentry

2. Server Side Public License (SSPL)

  • Requires sharing source code of the entire service when offering the software as a service
  • More focused on service offering restrictions than general commercial use
  • Originally created by MongoDB

3. Elastic License

  • Specifically prohibits offering the software as a managed service
  • More narrowly tailored restrictions than Commons Clause
  • Used by Elastic for Elasticsearch and related products

Conclusion

The Commons Clause represents an important development in the evolution of software licensing, sitting at the intersection of open source and proprietary software models. While it addresses legitimate concerns about sustainability and value capture for creators, it also creates significant compliance challenges in software supply chains.

Organizations must approach Commons Clause software with clear understanding of its restrictions and implications. With proper license detection, usage analysis, and compliance strategies, companies can make informed decisions about incorporating Commons Clause components while managing the associated legal and operational risks.

As the software ecosystem continues to evolve, understanding and properly managing source-available licenses like those using the Commons Clause will remain an important aspect of software supply chain management.