Hi everyone, with the Zeebe 0.20.0 release, we introduced the Zeebe Community License v1.0 for some Zeebe components (and are no longer using AGPLv3).
This blog post gives background on the new license: https://zeebe.io/blog/2019/07/introducing-zeebe-community-license-1-0/
And this page summarizes how different components are licensed: https://zeebe.io/zeebe-license-overview/
Please use this thread for questions and comments about Zeebe’s license changes.
A couple of scenarios:
- I want to create a backend which use Zeebe to orchestrate microservices that define this backend. This backend is for a private customer so it produces a revenue for creating the whole service. The workflow is made by me and it’s embedded in the backend. No one apart me can modify the workflow
- I want to offer to my customer software that enables him to modify the workflow, deploying some modified version into its zeebe broker clustered installation
As far as I can understand scenario 1 is permitted while scenario 2 it’s a license violation, right?
it seems very strange that you had to create a new open source licence.
It seems that zeebe is becoming a non free project, isn’t it?
Hi Matteo, thank you for the comment.
Zeebe is still free to use, modifiable, and allowable in a commercial product with the exception of a “commercial workflow service” as defined in the license. With the new license, we would agree that Zeebe no longer meets the OSI’s definition of “open source” and have stopped referring to it as such, but we will continue to offer Zeebe as free-to-use and modifiable and also allowed for use in commercial products.
And we would also be open to adopting a “standardized” license instead of the Zeebe Community License in the future if we find one that meets our needs. We haven’t come across one yet but will be on the lookout.
Let us know if you have any use-case-specific questions about the license. We are happy to elaborate.
It seems that zeebe is becoming a non free project, isn’t it?
The blog post says:
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.”
I think that the new license is better than the previous one, if I have understood ?
Hi @spulci, thanks for the questions.
You are correct that number 1 is a permitted use case
Number 2 would actually also be permitted as long as you are building the software on your customer’s hardware as a contractor / consultant of the customer, rather than offering the software to the customer as a cloud service that you run on your own hardware. In other words, building an internal “Zeebe as a service” on behalf of your customer (even if you are an outside contractor) is permitted.
Also, the ability to deploy and execute Custom Workflows is defined as the ability to deploy any BPMN and the ability to orchestrate “programmatic services” freely. If the customer can deploy any BPMN model, but doesn’t have the ability to “define programmatic services” freely, then the use case would be permitted.
Let me know if you have any questions here, and feel free to send me a PM on Slack if you have anything you’d like to ask confidentially.
I and my colleagues (spulci is one of them) are working on some projects using zeebe, so I was frightened when I read the announcement of the new license.
However, after your answers I am more confident about using of zeebe in my projects.
If I have well understood, the aim of the new license is to avoid that other company can offer an Zeebe SaaS, isn’it?
So are we free to use zeebe broker in our projects in public and private fields by installing it on private or public cloud but for a specific customer and for a specific project?
Hi Matteo, thanks for the follow up. I totally understand the concern and hope we can answer all of your questions ASAP.
Yes, at a high-level, that is one of the aims, and another is to create a license without the parts of AGPLv3 that many users find problematic.
Based on my understanding of what you want to do, yes, it sounds like these projects would be no problem with the new license. But we can always go over the details together just to be sure. I provided @spulci with my email address, and if you want to reach out to ask any more questions, please feel free to do so.
We added some examples to the license overview page to review a few common use cases and whether or not they are allowed under the license: Zeebe License Overview and FAQ - Camunda
Hopefully this helps to answer some questions. Let us know if you have any feedback!
We currently use Camunda for our Order Management product and plan to switch to Zeebee. We are planning to offer Order Management and other products as a SASS offering. Zeebee will be used for orchestrating BPMN workflows defined by us and also allows customers to create custom workflows.
- Does the above use case violate Zeebee license?
- We are not offering Zeebee as a service. Zeebee is used as a workflow engine and user can define custom workflows or enhance existing workflows to customize system behavior.
Hi @unnikrishnannair27, on a first reading, it sounds like your use case does not violate the license. However, we can’t give more than general guidance in the Forum. Please shoot an email to firstname.lastname@example.org for an official pronouncement on your scenario.
In the page https://zeebe.io/zeebe-license-overview/ , Example 2: The SaaS Application Provider
These workflows orchestrate only a limited set of services defined and maintained by Autoflow; customers cannot freely define the services that are orchestrated by Autoflow’s product.
Does a service which is lambda jobhandler with js script engine violate Zeebe license ?
If you allow users to write and upload their own BPMN as well, then yes - it is a generic workflow as a service.
Both predefined workflows where users can supply user-defined code for steps, and the inverse (pre-defined handlers and user-defined workflows) fit the allowed definition of:
selecting them from a restricted set of pre-defined programmatic services made available by the provider of the Commercial Workflow Service).
Making the predefined handler a generic execution engine that executes the content of user-supplied content - whether through a custom header, or an uploaded file, still means both the workflow and the handler are user-defined, which is a Commercial Workflow Service.
Basically, you need to be providing some business-domain-specific logic that is the value in your offering (either in the BPMN or in the handlers) - rather than just supply a generic workflow service where all the domain-specific logic is supplied by the users, and you are charging for the workflow orchestration functionality as a service.
Our team are working on a development platform and consider to add ZeeBee as orchestrator. This platform will help our customer (i.e., developers/companies) to build API-based application on top. And of course, they can define custom workflow on it.
So far we have plan on monetizing our platform by asking our Customer to purchase usage license(s), so they can run this platform in their own public/private cloud. In my understanding, this would not be a SaaS / cloud service.
Do you think we would violate the license with above use case?
Thanks for your response.
The license is here.
The relevant section is:
A “Commercial Workflow Service” is a service intended for or directed towards commercial advantage or monetary compensation for the provider of the service enabling third parties (other than the provider’s employees or Contractors) to deploy and execute Custom Workflows or to access the Software via its APIs.
“Contractors” means third parties who are engaged to perform ICT development, maintenance, configuration, training, consulting or associated management services and are acting in that capacity.
“Custom Workflows” means workflow descriptions contained in BPMN or similar configuration files, that specify the logic for executing programmatic services, such that third parties can define these programmatic services freely (as opposed to selecting them from a restricted set of pre-defined programmatic services made available by the provider of the Commercial Workflow Service).
As long as you don’t tick those boxes, you are compliant.