These questions never stop coming: Hey, it’s open source, right? Isn’t it supposed to be free? Why would I pay for your subscription?
Well, one of our customers put the answer this way: “I have a tight budget; therefore I bought a subscription.”
This answer may sound counterintuitive but it brilliantly summarizes the professional open-source model that eXo has adopted. eXo Platform was born open source, and our company was formed because some people wanted to become customers. They had their own agenda and needed professional help to save time and money.
In an attempt to give straightforward answers, we have built a comparison table that is supposed to help you compare the free and paid editions of eXo Platform. But it tends to raise even more questions, so I have decided to write a more in-depth comparison.
This is going to be long post, but if you’d like the top reasons to convince your boss to buy a subscription, you could summarize them like this:
- More Features?
- Release Management
- Professional Support
- Professional Services
eXo Platform comes in two editions. First is the Community edition. This is licensed under LGPL, a permissive open-source license that emphasizes the freedom to use and alter the software.
As an open-source software vendor, we believe in the value of free software, and we are proud to offer this software to the world. We are dedicated to the community, and we strive to help everyone be successful with eXo Platform with no hidden agenda.
But eXo Platform also has an Enterprise edition. This is licensed under eXo’s terms and conditions. You can download a 30-day free trial package, but after the evaluation period you must decide whether you want to purchase a subscription.
We believe this dual license is the best of both worlds. On the one hand, you keep your freedom to study and modify the software and then distribute it. On the other, you are protected from vendor lock-in but you also have a professional interlocutor that is responsible for what gets shipped to you.
While both the Enterprise edition and the Community edition are based on the same open-source code base, the binary packages that we build do not contain exactly the same features. At the time of this writing, the Enterprise edition package for eXo Platform 4.3.0 ships with the same features as the Community edition plus these additional features:
- Task management
- Remote edit
- Website templates
- Video calls
In fact, all of the above can be installed on the Community edition in the form of add-ons.
So why didn’t we include them in the Community edition package?
Since we have introduced the add-ons manager, we have been able to offer better modularity by making full-feature sets and apps easily installable on top of the eXo Platform.
And because open source is all about freedom, we let anyone decide what fits their needs.
We recognize that one size does not fit all and that the eXo community comprises a wide and heterogeneous audience. So we think it’s important to not overimpose a single vendor’s vision.
On the other hand, the Enterprise edition is designed for eXo customers. We strongly believe in the value of open source, but we have a different mission here. So when it comes to spreading social collaboration through an enterprise, we tend to make more opinionated choices, like when we decided to deprecate the Answers app.
Besides freedom of choice, there are sometimes subtleties that prompt us to make a feature an add-on rather than a native core feature. Here are three recent examples:
- The Video Calls add-on represents an integration with an SaaS partner, Sightcall, that does not provide unlimited free access.
- The eXo Chat add-on requires MongoDB. And no matter how cool MongoDB is, we know that not everyone will want to be dependent on it.
- The “Open in Office” feature currently relies on a proprietary license that is not compatible with the LGPL license, so we can’t ship it with the Community edition.
eXo Platform is being developed continuously. Bug fixes, improvements, and new features are continuously added to the code base. We do not have automated daily releases yet, so when we decide that we have something interesting to show, we cut a release of the Community edition and push it to Sourceforge so that anyone can try it and provide feedback.
Using the Community edition, you can expect to get the latest and greatest features if you keep upgrading to the latest version.
For the Enterprise edition, we have additional constraints. First, we are committed to follow a versioning scheme and to testing it on a wide variety of supported environments. As a consequence, Enterprise edition releases may happen less often, but they provide more consistent sets of fixes that are thoroughly tested together for maximum stability.
The Community edition is community-supported through the community website and in particular through the forums. It’s a very popular way to get quick answers. Many people sign up and drop a few questions there. Minutes after, they get the first answers. eXo employees are actively monitoring the forums and try their best to help. But sometimes you are the first to encounter a specific problem or there is something to troubleshoot in your environment.
That’s where professional support fills the gap. An Enterprise subscription comes with an associated support service agreement that defines response time and various channels to contact us. As soon as a ticket is assigned, a support engineer will spend all the time necessary to get your problem resolved. There is no risk that he will be interrupted by another urgent matter because supporting you is his full-time job.
When a bug is fixed in code, it’s immediately available in the code repository. All bugs are tracked per their jira ID and thus can easily be tracked in the commit logs.
So when you are using the Community edition, you are free to grab the fixes you need and build the source code. But what if you are not a developer?
eXo provides a maintenance program associated with the Enterprise subscription. Basically, it means we put a lot of engineering effort to triage, review, integrate, and test those bug fixes (and a few other improvements) against the supported environments.
When you are using the Community edition, you can build the source code and include the fix. We make bug fixes available in source format to anyone, but eXo has dedicated staff to integrate and test them meticulously on the supported environments. The maintenance program also ensures backward compatibility and dedicated binaries (known as maintenance releases).
Upgrading eXo Platform is usually a simple task. In general, when there is some data structure change, a small upgrade routine is shipped with the code and can be activated at startup via a simple property in upgrade.properties. All the upgrade instructions are provided in the release notes.
Upgrades on the Community and Enterprise editions work the same except that Enterprise edition come with a stricter release management. Hence, upgrade instructions are verified to work smoothly from one version to another.
With the Community edition, if you grabbed an intermediary build or applied some custom patches, you will need to be careful to make sure you run the necessary upgrade routines.
Finally, if you are a bit late and need to catch up with several versions, you will have to craft your own upgrade recipe or upgrade successively with all versions that you missed. It is not impossible, but it may represent quite a lot of work if you skipped many versions.
For the Enterprise edition, our support engineers have your back. They have special procedures to upgrade Enterprise editions from older versions of the eXo Platform Enterprise edition.
The eXo Community edition is not eligible for eXo’s professional services. Sometimes we get calls from people who are using the Community edition who would like us to help them in their custom development or with integrating eXo in their company.
As much as we’d like to do this, we can’t. We can only deliver professional services to subscribed customers and on the enterprise edition. It may sound unfair, but we have a very good reason for doing it.
In order to deliver on promises, our consultants need reference points. When they have a problem to solve, they have a set of solutions and workarounds that are available according to a given version. So as we strive to provide excellence, we have to map our professional services to a predictable version for predictable success.
I have outlined the differences between the Enterprise and Community editions. There are valid reasons to use both. I would like to leave you with a few final bits of advice on when one or the other makes sense.
Use the Community edition when you want to do any of the following:
– Teach yourself: Open source is wonderful way to learn new technology.
– Evaluate or make a proof of concept: This is useful if the 30-day trial is too short and you need to experiment longer to make sure you made the right choice.
– Build some code: Let’s face it. Sooner or later you will want to make customizations and will need to apply fixes.
– Keep your DIY mindset: Not ready to handover your project to a third party? Be ready to support your users yourself, solve compatibility issues, build the missing features, manage upgrades, etc.
– Build something else: If you intend to heavily fork the code, make sure you get the LGPL constraints or look at our White Label program.
OK, I know it sounds demotivational. Many people are happy using the Community edition and living this life. We are perfectly fine with that, and we are even proud that something we built found some use. Simply put, however, do not underestimate the cost of supporting open-source software yourself.
Use the Enterprise edition when any of these conditions apply:
– You have limited IT resources: No IT staff? You just want to use it? eXo can install, support, host, and manage your eXo Platform instantly.
– You may need responses timely: in case of a technical incident, responses arrive under a guaranteed SLA
– You intend to run mission-critical services on eXo: We have your back in case something goes wrong.
– You need a highly available system: High load? Big volumes? Sizing and architecturing a system for high availability is not an easy task, but our consultants do it all the time.
– You need enterprise integration: Need single sign-on? Active Directory integration? Connection to a homemade business app? These tasks are complex and sometimes challenging, but we have the experts and you’ll be fully supported.
I hope this clarifies the differences between the Community and Enterprise editions. But in case you have even more questions, feel free ask in the Users forum.