What is the new Confluent Community License?
Confluent is moving some components of Confluent Platform to a source-available license.
Tell me what this means
We remain committed to an Open Core model. Open Core means the core of our product—Apache Kafka®—is open source and available under the Apache 2.0 license, while certain features of Confluent Platform are available under the Confluent Community License.
Under the Confluent Community License, you can access the source code and modify or redistribute it; there is only one thing you cannot do, and that is use it to make a competing SaaS offering. Here is the exact language:
“Excluded Purpose” is making available any software-as a-service, platform-as-a-service, infrastructure-as-a-service or other similar online service that competes with Confluent products or services that provide the Software.
For example, it does not allow hosting of Confluent ksqlDB, Confluent Schema Registry, Confluent REST Proxy, or other software licensed under the Confluent Community License as online service offerings that compete with Confluent SaaS products or services that provide the same software. If you are not doing what is excluded, this license change will not affect you.
Does this apply to Apache Kafka?
No. Apache Kafka is licensed under Apache 2.0. The license change only applies to our Confluent software that was previously called “Confluent Open Source”: Confluent Schema Registry, Confluent REST Proxy, Confluent ksqlDB and some Confluent Connectors.
Apache 2.0 License Apache Kafka® (with Connect & Streams) Apache ZooKeeper™ Confluent Clients Ansible Playbooks Open Source Connectors Confluent Community License Community Connectors REST Proxy ksqlDB Schema Registry Confluent Enterprise License Commercial / Premium Connectors Control Center Health+ Confluent for Kubernetes Self-Balancing Clusters Tiered Storage Role-Based Access Control Structured Audit Logs Secret Protection Schema Validation Multi-Region Clusters Replicator MQTT Proxy Cluster Linking
Will Confluent continue to contribute to Apache Kafka under Apache 2.0?
Absolutely. Confluent will continue to make contributions to the development, maintenance and improvement of Apache Kafka, licensed under Apache 2.0. And Kafka remains the core of Confluent Platform.
Why did we do this?
We think it is a necessary step. This lets us invest heavily in code that we distribute for free, while sustaining a healthy business that funds this investment.
We aren’t alone in looking at alternative licensing mechanisms. Other companies have recently gone through licensing adjustments, attempting to solve for the public cloud dynamic.
Read more about our new Confluent Community License in Confluent co-founder and CEO Jay Kreps’ blog post: https://www.confluent.io/blog/license-changes-confluent-platform
Can I download, modify, or redistribute the code?
Yes. The code is all still right there on GitHub.
Can I embed Confluent Community software in software I distribute?
Yes, you can.
Can I embed Confluent Community software in a SaaS offering I create?
Yes, provided the SaaS offering does not fall within the “Excluded Purpose” discussed above.
Is Confluent Community License open source?
Strictly speaking it is “source-available.” Many people use the phrase “open source” in a loose sense to mean that you can freely download, modify, and redistribute the code, and those things are all true of the code under the Confluent Community License. However, in the strictest sense “open source” means a license approved by the Open Source Initiative (“OSI”) which meets a particular set of criteria. The Confluent Community License is not approved by the OSI and likely would not be as it excludes the use case of creating a SaaS offering of the code. Because of this, we will not refer to the Confluent Community License or any code released under it as open source.
What if I create a competing service but give it away for free. Is that “competitive?”
Yes. That’s just a competitive product with a price of zero. “Competitive” means that a product or service is an economic substitute.
I’m confused about what use cases are competitive. What if future Confluent products compete with mine?
Let’s go through a specific example. Say that you are building a SaaS Hotel Booking Engine and you want to include ksqlDB in the implementation of that offering. Of course you can do that, this service does not compete with any Confluent product that “provides the software”. Note that this would be true, even if in the future Confluent had its own hotel booking product (not likely!). The excluded purpose for ksqlDB is limited to competition with Confluent’s SaaS offering of ksqlDB.
When will the Confluent Community License be effective?
It will apply to Confluent Platform 5.1 and later releases. Previous releases and bug fixes to such releases (if any) will remain under the Apache 2.0 license.
Can I still use older versions of the Confluent Open Source Software?
Yes. Our new license release does not affect your rights to keep using software you received in the past under our open source license terms. So, if you are still using version 5.0 or previous, you can continue to use it in the same way you have been using it. And if you’re not making available a competing SaaS product as described in the exclusion, you can use 5.1 the way you were using 5.0. And of course, our new release doesn’t affect the licensing for Apache Kafka at all. Kafka is an Apache Software Foundation project, and therefore remains under the Apache 2.0 license.
That said, we may not be releasing updates to the Confluent Open Source code, and it may become outdated or unsecure. We don’t recommend being left behind, and we encourage you migrate to the latest version of Confluent Platform: https://www.confluent.io/download/.
My company has a policy against using code with a non-commercial restriction. What should I do?
The Confluent Community License is not a “non-commercial” license restriction. It only prevents one narrow kind of excluded purpose, which is using our software in a competing SaaS offering.
I’d like to customize some of the Confluent Community software. Can I?
Yes. The Excluded Purpose does not restrict the creation of modifications.
Why didn’t Confluent use AGPL?
AGPL doesn’t solve the problem we are trying to fix. AGPL allows cloud service providers to sell services using the exact software being licensed, and charge for it, without any limitation. This means the software developer has become the unpaid developer and maintainer for the cloud service provider—which is not a scenario we want to enable.
Also, AGPL is too aggressive for our customers who need to redistribute commercial products. If you put AGPL code in a distributed program, you have to open source the whole program. We want you to be able to embed our code in proprietary applications, change it and not worry about open sourcing any of your changes. We don’t think that proprietary applications are bad, and we think it’s great if you use Confluent Community software to create them.
Why didn’t you use Commons Clause?
Commons Clause is an approach that adds an anti-SaaS provision to existing open source licenses, which can make interpreting the license confusing. We felt it was better to create a license for the specific purpose we intended. If Commons Clause or another such mechanism emerges as a common standard for solving the problem we’re targeting, we will gladly consider it.
We have an Enterprise subscription. How does this change affect us?
If you have entered into a separate enterprise agreement with us, the new release will not restrict your rights under such agreement. For any specific questions, please reach out to your account representative.
Does the Confluent Community License impose a general prohibition against competing with Confluent?
A: It does not. The excluded purpose is the following:
“Making available any software-as-a-service, platform-as-a-service, infrastructure-as-a-service or other similar online service that competes with Confluent products or services that provide the software”
This may be easier to understand with a specific example. Say “the software” that you are licensing is ksqlDB. Then the excluded purpose for your use of ksqlDB could be read as
“Making available any software-as-a-service, platform-as-a-service, infrastructure-as-a-service or other similar online service that competes with Confluent products or services that provide [ksqlDB]”.
In other words, it’s a limitation on your use of ksqlDB to compete with our ksqlDB offering. You are not forbidden from competing with other products Confluent has or may have in the future that you have not licensed under the Confluent Community License.
Is the Confluent Community License a EULA?
No, a EULA only gives you the right to use; the Confluent Community License grants other rights as well.