I will be using the term Enterprise Open Source to denote „OSI approved“ software with a strong focus on the enterprise market segment. Hence, this is not about Linux, Emacs, Python, Docker, PostgreSQL and the like.
I have been working with Alfresco (mostly Community) since 2007 and that is where the bulk of my experience in stems from. The recent post Whither Open Source ECM? got me rethinking.
- Does Enterprise Open Source actually work?
- What do I want from it?
As a developer, I would like to participate in a vibrant community using latest bleeding edge technology.
This is most likely not what you will get. Especially when it is about code. Enterprise tends to be very conservative and leaping behind the rest of the world. Besides, there is a reputation issue ?
When you say "I write enterprise software", all I hear is "I write bad software".— Hipster Hacker (@hipsterhacker) June 6, 2011
So don’t expect alpha nerds to be around.
However, you might still find a product capable of making people happy. And that still matters a lot.
The issues mentioned are just here for the sake of example. I really don’t want to pick on Alfresco.
Spoiler: Alfresco Community is still a nice product which may serve you well.
So what’s wrong?
It depends. There is absolutely nothing wrong if you just use it as is and get around the rough edges.
Which rough edges I am talking about? Well, there are quite a few unresolved issues with CIFS and IMAP (those don’t even include the ones which got batch-closed) to get started. Ironically, I usually warn prospects right upfront about those and others. Still, people frequently want to pray and hope for the best. Sometimes we are lucky, sometimes not.
So yeah, it is Open Source, so what about contributing fixes?
There is no maintained git repo so you may have to deal with svn which does not feel very inviting. Other than that, the JIRA process is not working for me. I think the filed issues are speaking for themselves.
Looking at IMAP and CIFS specifically, it also seems Alfresco simply does not care. Things are really swamped. But that’s actually ok. After all, they wrote the code and give it away for free! And it comes with no warranty and support and that’s clearly stated – for the Community Edition at least.
Now even if you manage to get one of those issues fixed: Will it get into core and ship with future updates? I guess that depends on the component affected and whether the issue hurts enterprise customers. It surely is hard to get contributions into core. In case you fail, you licked it and it is all yours. :)
There are other components which are going south. The Share application is another example. Be very careful what you are building upon. You won’t be able to maintain a fork of core components.
Some components are in fact are no longer Open Source. You still get AOS „for free“, but issues may get worse to deal with.
On the contrary, Cloud, the REST-API, Search, Activiti and the ADF are getting a lot of attention these days. If this happens to be your area of interest, you are in good company. Again, that’s all fair. They can do whatever they want and they likely have good reason.
Recently, I started looking more and more into Nuxeo. To be honest, parts of its foundation feel better. Other people went further and even Dump Alfresco for Nuxeo as their preferred Document Management System. Furthermore, looks like I will get in touch with Odoo in the near future.
From what I have seen so far, there simply are no raving communities contributing code anywhere (Projects with less than a week lifecycle don’t count ;). Not in Alfrescoland and not on entire Planet Enterprise.
If Open Sourcing is not about code contributions, what is it that drives companies giving away their code for „free“?
Things that come to mind:
- Dispite the fact that a lot of managers have no clue about it, management won’t even look at products which are not Open Source.
- It trims support and documenting efforts because people can help themselves.
- They want people to get their feet wet and build a community spreading good vibes.
To wrap up: Look close and make sure to get what you expect before diving in.