There are so many factors to consider when choosing an ESB for your organization, it can dazzle you. You have to think about costs and scalability, but also about vendors and support partners. Even us experts got caught in the web of endless ESB possibilities when we first started! Today, we know all the ins and outs of ESB products and applications. So to get you started, we are going to post three blog posts dedicated to this one, very complex question: how do I choose the right ESB? In this first chapter, we have a look at an essential ESB consideration: Open versus Proprietary. Take a deep breath and take it in!
Apple or Android?
Choosing between Open Source and Proprietary is just like choosing between Apple and Android. People who buy Apple products are said to highly prefer clarity and comprehensibility. For this guidance, they are willing to pay a premium. People who buy Android based products, on the other hand, prefer to have the same tools as the experts so they can decide what is best for them. Although all smartphones basically have the same functionality, people choose to buy Apple or Android specifically, simply because they identify themselves with the values of their smartphone supplier. Both Apple and Android have little to do with enterprise integration software. Their DNA, however, Apple offering proprietary software and Android open source, does have a strong parallel. Let’s have a look at some basic differences.
Proprietary software are applications that are entirely written, updated and maintained by their owners. The organization that owns the software holds the exclusive rights to the source code, meaning that users that want to use the software need to acquire a software license, which entitles usages according to specific terms. So even though you have paid for a license, you cannot alter the software to your own desires. However, most enterprise grade proprietary software offer the possibility to either significantly customize the product or to add custom build modules to complement the software. A clear disadvantage of proprietary software is the limited access to the source code and the other constraints that may have been set forth by the terms and conditions in the license agreement. However, when you buy your software from a reputable firm such as Oracle, Tibco or IBM, you will benefit from the years of experience they have in building reliable products. As the saying goes “No one ever got fired for buying IBM”.
On the other hand, open source software application are applications entirely written, updated and maintained by a community, allowing everyone to view the code. This means developers and organizations are able to learn from the code, contribute to it, and reuse it in their own projects. Open-source software also comes with a license, but does not curtail the freedom of the end-users the way proprietary licenses do. The following are the most common open source licenses:
- Apache License 2.0
- BSD 3-Clause "New" or "Revised" license
- BSD 2-Clause "Simplified" or "FreeBSD" license
- GNU General Public License (GPL)
- GNU Library or "Lesser" General Public License (LGPL)
- MIT license
- Mozilla Public License 2.0
- Common Development and Distribution License
- Eclipse Public License
There is no such thing as a free lunch...
A clear advantage of the abovementioned open source software is that you can use it for free. It is often overlooked, however, that enterprise grade software applications also require enterprise grade support when they are used in primary business processes. This reliability level cannot always be provided by the community because the contributors have no real responsibility, meaning there will always be costs for partner support. Although these costs should not be underestimated, they will not nearly be as high as they would have been for proprietary software. If the software only needs to support secondary or even tertiary business processes, then using the community as the support channel will be sufficient.
Your new religion
Having read this blog, you are one step closer to choosing the ESB that fits your needs. Do you have a large budget and do you prefer relying on the expertise of the big names in the industry? Then go for a proprietary ESB. Do you work for an innovative organization and do you want to be more flexible while spending less? Then open source is your new religion.
Next up: What is the difference between a standalone and integrated ESB?
What do you look for in an ESB? Leave a comment below!