Introducing the Zeebe Community License v1.0
Today, we released Zeebe 0.20.0, and we’re really excited about this release. It’s a milestone for the project and the first time we’re removing the “developer preview” label from Zeebe and designating it “production ready”. You can learn more about Zeebe 0.20.0 here.
Along with production readiness, there’s another important update with this release: with Zeebe 0.20.0, we’re introducing the Zeebe Community License v1.0.
We decided to make this license change early in the Zeebe journey before we had already reached a “production-ready” state so that users can take applications into production with an understanding of our vision for Zeebe from both a technical and licensing standpoint.
And based on the feedback we’ve received about Zeebe’s pre-0.20.0 license structure, we’re optimistic that this new license will make Zeebe easier for users to adopt and easier for legal teams to work with.
In the rest of this post, we’ll explain what’s in the new license, how we had licensed Zeebe previously, and why we’re making a change.
What is the Zeebe Community License?
We did our best to keep the Zeebe Community License simple.
Here’s a 2-bullet-point summary. The Zeebe Community License…
- Allows what the MIT License allows except…
- It does not allow offering a commercial workflow service that uses Zeebe
And Zeebe clients and APIs will still be licensed under Apache 2.0
That means you can download, modify, and redistribute Zeebe code.
You can include Zeebe in commercial products, and even in SaaS products, as long as what you build is not a commercial workflow service.
And of course, if you make a contribution to Zeebe outside of the core project–for example, an exporter for a new data storage system–you can choose your own license.
You can read the license in its entirety here.
We also created a licensing overview page where we go into detail about what does and does not constitute a “commercial workflow service”, how all Zeebe components are licensed, and more.
Zeebe’s Pre-0.20.0 License Structure (And Challenges)
Before 0.20.0, Zeebe used two different licenses.
- The broker-core and engine files were licensed under GNU AGPLv3
- Everything else, including the clients, was licensed under Apache 2.0
We originally chose AGPLv3 for parts of Zeebe so we could have some degree of protection against, for example, cloud providers offering Zeebe-as-a-service without contributing back to the project.
But we’ve heard time and time again that the AGPL license was causing problems for users who were otherwise interested in Zeebe. For some legal departments, the AGPL license translates to, “No, can’t use it. No questions asked.”
It’s important that we choose a license that’s easy for legal teams to work with.
In thinking through a new license, we also asked ourselves what we would need to see in a software license as potential users, and we made a point to cover those requirements in the Zeebe Community License.
- We are allowed to modify the software however we need to
- We are allowed to include the software in a commercial product of our own
After all, Zeebe benefits greatly from Atomix and gRPC among other open-source tools and frameworks, and that wouldn’t be possible without licenses that allow such usage.
Why a new license for Zeebe?
As the organization responsible for Zeebe, it’s important to us to be able to invest in our products and provide them to users for a long time to come.
Zeebe is complex. It’s a feature-rich workflow engine and a distributed system wrapped up in one. To build the Zeebe that we want to build, we need to have a team of talented engineers working on it full time. To make an investment in that team, we need to create a sustainable business around Zeebe.
Offering Zeebe as a cloud service is a key piece of that sustainable business. And we’ve made good progress here, which we also shared with today’s release announcement.
But what does that have to do with the new license?
From our perspective, large cloud providers–while operating legally and in their best interest–are using their market position in a way that undermines the viability of open source companies who’ve released software under common existing open source licenses.
We aren’t aware of a license that balances our two key concerns: the flexibility that we would want to have if we were potential users of Zeebe and long-term sustainability for Camunda as a company. The Zeebe Community License will thus play a key role in our building a sustainable business around Zeebe.
And we aren’t the first come to this decision. In the past year, Cockroach Labs, Confluent, MongoDB, Timescale, and others have relicensed their software with the aim of building sustainable businesses while still providing free, modifiable, source-available products to their users. We looked carefully at these licenses–and concerns with these licenses that were raised by users–while creating a license of our own.
Is the Zeebe Community License An Open-Source License?
There are many well-respected open content licenses, like the Creative Commons non-commercial (NC) or no-derivs (ND) licences, which are not regarded as open source. Like these, the Zeebe Community License doesn’t align completely with the OSI’s definition of Open Source. From a practical perspective, the OSI’s definition is what’s understood by developers and users of open source software. So we’re not referring to Zeebe as open source.
The term “source available” is emerging as a more accurate description for projects like Zeebe.
We started a forum post dedicated to the Zeebe relicense. If you have feedback or concerns, please let us know. If possible, we prefer to keep the discussion in the forum post (rather than the Slack channel) so that it’s easily findable for users who want background info on the topic in the future.
If you’d like to send us feedback privately, you can reach us at firstname.lastname@example.org.