Keep informed?
Subscribe for our newsletter now!

camunda fox open source strategy

Outdated!

Please note that this blog post is outdated, since we forked Activiti in March 2013 and started a new Open Source BPM project called camunda BPM (www.camunda.org). You will find this topic and loads of more best practices, blueprints etc. there, so you should just have a look 🙂

Get ready for your free lunch

Get ready for your free lunch

In my last post I wrote about the activity in the open source project Activiti, and the influence of productization as well as the impact on the health of an open source project in the long run. Now I want to shed some light on the open source strategy we do within camunda fox, since I lately get asked quite some times: Activiti Cycle now is camunda fox cycle, is it still open source? You have a stabilized version of the Activiti Engine (called fox-engine), is that a fork? Do you develop new features only in this version? Read on to get some answers to this.

The true value of Open Source

Let me start with a very short story I experienced myself: We use Zimbra, an Open Source Exchange alternative. They have an API. I wanted to develop a small tool helping in resource allocation for consulting, basically by accessing the calendars. The documentation was lousy. But I could get it running pretty quickly, because I used Maven, which accesses the sources, downloaded them and I could look into the project sources in a minute without any hazzle. I never wanted to write a single line in Zimbra, but I could understand how it was meant to be and could debug into it, so I could finish my project right away.

Believing that the true (and only) benefit of Open Source is getting something for free is wrong! But having the source code available helps in your projects and fastens development. And by the way this is a great possibility to improve your development skills, by looking into a lot of other code, see what is understandable for somebody new to the project, experience good interface design and so on. I really think there is no other good way of coding the future, than to have the source available.

And it brings you another very important advantage: less risk. You can always understand the code, maybe even fix a bug yourself in an emergency and find a lot of Java consultants out there, who are able to help.

camunda fox Open Source Strategy

So source code is vital, that is something we believe. That is why we ship the source code for all components of our platform to the client (with the exception of the fox modeler, since it is an OEM deal with Signavio, not our code). But we do not open source all of it. Why this?

Because we want to protect some of our investments in camunda fox, the pain and learning we did the last year, the code we wrote. In short: We want to keep our business case healthy. Even open source enthusiasts should understand this, because the open source projects (like Activiti) benefit from it as well (as described above). But we want to be fair and honest (truly!) and that’s why we stick to a clear rule: If we collaborate in open source projects, what we do there is open source as well.

Currently that means we leverage, collaborate with and contribute to two open source projects:

To draw a clear line it means, that nothing else of what we do on top of these projects in camunda fox is open source (at least not at the moment, but not planned as well to be honest). This includes the application server integration (e.g. WebSphere), the monitoring tool fox-cockpit, the Business-IT-Alignment tool fox-cycle and the camunda fox extensions for the Eclipse Designer (then called fox-designer).

There are two things in this statement maybe confusing Activiti old hands:

1.) Cycle is not Open Source?

True, cycle – kicked of as camunda fox in the beginning – was soon merged into the Activiti project and got Activiti Cycle under open source license. That was a time when there was a Activiti Modeler and the Open Source project aimed for a full BPM platform. This was actually a too big scope, so the Activiti Open Source project focused on the embeddable engine and removed components not in scope of that (this was a longer discussion to be honest). That’s why we moved cycle to camunda fox. Since maintaining the Activiti Modeler (an outdated older, but open source version of the commercial Signavio tool) was not on our road-map, we focused on getting this to work with the commercial Signavio. We always only open sourced connectors for cycle suitable for open source tools. So with JIRA and Signavio we basically didn’t had much left to open source, so we decided to better make a clear communication and no half-baked open source and removed Cycle as an open source project, where we currently do not have the time and energy to make a proper open source project out of it. That’s why it vanished from the open source space, and I am sorry that this was not clear from the beginning. On the other hand we have not yet seen adoption in the open source world anyway.

2.) Is the camunda fox Eclipse Designer different than the Activiti Designer?

Yes, indeed. Alfresco has a very different goal with Activiti, which is document management workflows within their ECM. We go for BPM. That means, we have much more requirements on the completeness of BPMN elements, but as well on the robustness and usability of the graphical tooling, where the Activiti Designer has some limitations. That’s why we joined the Eclipse BPMN2 Modeler project and use that as a basis to add our own extensions to maintain everything needed for camunda fox/Activiti. Everything we do in the Eclipse Plug-In is Open Source, only the extensions are part of the commercial camunda fox platform, since the open source effort is currently bundled in the Activiti Designer.

Thanks for reading

Actually the posts from today were long. But I felt some urge to write it because of various feedback I got, and to express the value “transparency and clear communication”, which is really important to me as individual and camunda as a company. And I thought I should explain basically the Java developers out there, what we are doing and why, because I am sure that Activiti is the best thing since sliced bread (or maybe even better), and it will never die as long as at least some of you consider buying camunda fox 😉 Let me know what you think…

Already read?

Scientific performance benchmark of open source BPMN engines

Why BPMN is not enough

Decision Model and Notation (DMN) – the new Business Rules Standard. An introduction by example.

New Whitepaper: The Zero-Code BPM Myth

Leave a reply