Confluent describes its business as open core. The core of its product, Apache Kafka, is open source under the Apache 2.0 licence. Other parts of Confluent Platform are made available under the Confluent Community License.[3] Confluent’s documentation sorts every Confluent Platform component into one of three licences. The Confluent Enterprise License covers commercial features, the Confluent Community License covers community features, and the Apache 2.0 licence covers the Apache Kafka core.[1] For a software asset manager the split matters because it decides three things: which components can run in production at no cost, which need an enterprise licence key, and which uses are prohibited outright. For background, see open-source software licensing.
Editions
| Licence | Components (Confluent documentation) | Fee | Licence key |
|---|---|---|---|
| Apache 2.0 | Apache Kafka (with Connect and Streams), Ansible Playbooks, Apache ZooKeeper, Confluent clients, open-source connectors[1] | None | None |
| Confluent Community License | Admin REST API, Confluent CLI, Kafka Connect, community-licensed connectors, ksqlDB, REST Proxy, Schema Registry[1] | None | None for basic functions; security plugins need an enterprise key[1] |
| Confluent Enterprise License | Confluent Server, Control Center, Confluent for Kubernetes, Replicator, MQTT Proxy, Cluster Linking, RBAC, audit logs, Schema Validation, Multi-Region Clusters, Tiered Storage, Self-Balancing Clusters, commercial and premium connectors, and others[1] | Subscription | Required[1] |
Some components sit across two licences. Basic Schema Registry functions are free under the Community License. A licence key is needed for RBAC through the security plugins, for Schema Linking exporters and for broker-side Schema Validation.[1] REST Proxy needs a key only when its security plugins are used.[1] Kafka Connect also has two distributions. The Community distribution of the Connect workers receives no enterprise support. The Enterprise distribution fails to start without a valid enterprise licence key.[1]
The Confluent Community License
Grant. The licence is non-exclusive, royalty-free, worldwide, non-transferable and non-sublicensable. It allows the licensee to use the Software, prepare modifications and derivative works, distribute it in source or object form, and reproduce copies.[2] Nothing in it limits production use. Confluent’s FAQ says users may run Confluent Community software in production and embed it in any offering that does not compete.[3] Catalog: Confluent Community License.
Excluded Purpose. The licence may not be used for one purpose: making available any software-as-a-service, platform-as-a-service, infrastructure-as-a-service or similar online service that competes with Confluent products or services that provide the Software.[2] The FAQ applies this narrowly. A SaaS hotel booking engine that uses ksqlDB inside it is allowed. A hosted ksqlDB service that competes with Confluent’s ksqlDB service is not.[3] A free competing service is still competitive. Confluent calls it “a competitive product with a price of zero”.[3] The FAQ also says the licence is not a non-commercial restriction and does not prohibit competing with Confluent in general.[3] Catalog: Community License forbids only a competing online service.
Conditions on distribution. Modified copies must carry prominent notices saying the licensee changed them. Every copy must keep the copyright notices and include a prescribed notice that names the Confluent Community License Agreement Version 1.0.[2] Recipients may use the software if they accept the licence themselves; the licensee cannot sublicense it.[2]
Termination. Any breach of a condition or obligation ends the agreement and the licence automatically and permanently.[2] If any provision is held unenforceable, the whole agreement and all rights under it terminate immediately.[2] Confluent gives no warranty and accepts no liability for damages of any kind.[2] Catalog: Breach of the Community License terminates it permanently.
Disputes. California law governs. Licensees in the United States go to the courts of Santa Clara County. Licensees outside the United States go to JAMS International arbitration in Palo Alto.[2]
Not open source
Confluent states that, strictly speaking, the licence is “source-available”. It is not approved by the Open Source Initiative and likely would not be, because it excludes the SaaS use case. For that reason Confluent does not call code under it open source.[3] Policies that allow only OSI-approved licences will therefore treat Schema Registry, REST Proxy and ksqlDB differently from Apache Kafka. Catalog: Breach of the Community License terminates it permanently.
History and version boundary
Confluent announced the change on 2018-12-14. Some components of Confluent Platform moved from Apache 2.0 to the Confluent Community License. Apache Kafka was not affected, because it is developed at the Apache Software Foundation and remains under Apache 2.0.[4] The new licence applies to Confluent Platform 5.1 and later. Earlier releases, and any bug fixes to them, remain under Apache 2.0.[3] The affected components were Schema Registry, REST Proxy, ksqlDB and some connectors, which had been called “Confluent Open Source”.[3] Confluent’s FAQ notes that it may not release updates to the old open-source code, which may become outdated or insecure.[3] Catalog: Community License applies from Confluent Platform 5.1; earlier releases stay Apache 2.0.
For inventory work, the version of a community component decides its licence. Versions 5.0 and earlier are Apache 2.0, and 5.1 and later are Confluent Community License. The two licences also have different support horizons. Confluent publishes separate end-of-support dates for community software and for Enterprise Standard and Platinum support.[8]
Relationship to subscriptions
A Confluent Platform subscription lists the community features among the licensed software. Confluent also makes those features available under the Community License, and the subscription agreement does not limit the customer’s rights under it.[5] The FAQ makes the same point for customers with a separate enterprise agreement.[3] The difference is support. Community software is supported only by the community. A subscription adds commercial features, Confluent support, warranties and IP indemnification.[3] The indemnity does not cover Apache Kafka, Apache Flink or other third-party software.[7] Third-party software stays under its own licences.[7] Catalog: A Platform subscription does not narrow Community License rights.
Community components still count once they are part of a supported cluster. If support is used on any component in a cluster, every Confluent Platform component in that cluster must be under subscription, and that includes Schema Registry, REST Proxy and ksqlDB.[5] Catalog: Supporting one component pulls the whole cluster under subscription.
Enterprise features without a subscription
Enterprise-licensed features are proprietary. They may be used without a subscription only under the Confluent License Agreement. That agreement allows two kinds of use: an indefinite Developer License on single-broker clusters, and a 30-day Evaluation License. Both are for development and testing, not production.[6] Neither allows use for SaaS, resale, time-sharing or service bureau purposes. Confluent may audit compliance.[6] When a customer has an active subscription, connectors it downloads are covered by that subscription agreement rather than the Confluent License Agreement.[6] Catalog: Developer licence is limited to single-broker clusters; Evaluation licence lasts 30 days from download.
Out of scope
- The Apache License 2.0 text and Apache Software Foundation governance.
- Licences of individual third-party connectors in Confluent Hub or Confluent Marketplace, which are set per connector.
- Confluent Cloud, where the customer receives a service and not software, covered in Confluent Cloud licensing.