Open Source – Should you use it and what to look out for

Open Source – Should you use it and what to look out for

Even though Open Source software solutions are available for a wide range of applications and systems these days, a large segment of organizations still are very hesitant to use Open Source more software broadly in their organization and end up using commercial offerings or even custom developing solutions, thereby often reinventing the wheel, spending dearly and not benefitting from others. But despite some well publicized failures, Open Source is much better than its reputation and you are very likely using a lot of Open Source without even knowing – even in your commercial offerings. 

But when is Open Source the answer, what are the operating models and why is it different than commercial software? The answer as always is not that straight forward, but businesses should definitely develop a clear position on Open Source to understand where and where not to consider Open Source. Open Source can support cost-savings, will very often positively contribute to the rate of innovation and development, and will very often, by nature, increase an organizations tech savviness and understanding of options available. On the other hand, heading into an Open Source based project requires understanding of the different possible operating models and intrinsic characteristics of using Open Source in projects to make a well-considered business decision. 

While Open Source is open and free by definition, it doesn’t mean that you can do anything you like with it and that you need to do everything yourself. Organizations such as Red Hat, Canonical, SUSE and many others provide free versions of their systems but also provide commercial extensions and support such that open systems can be used with the safety net of a commercial player supporting you. The same is true for a wide range of solutions; as an example, the Apache Druid platform that is used for highly scalable analytics solutions is supported by Imply who do provide commercial support. The range of solutions is breathtaking with a wide ecosystem of commercial organizations contributing to the community. These organizations typically also provide custom development and/or commercial support for organizations who wish to base their solutions on an open platform but can’t maintain the skills needed in house. A completely different model is provided by the cloud providers both big and small. While everyone knows Amazon AWS, what fewer people are aware of, is that large portions of the AWS offerings are based on Open Source components. This cloud model provides organizations with yet another operating model for using (partially) Open Source solutions while not having to maintain the full stack. Naturally benefits will be different than when using free versions of the software, but the key point is that there are options available.

Having said all this, before heading into using Open Source widely in your organization, make sure you carefully consider at least the following issues to understand how you need to adapt and whether your organization is ready for Open Source:

  • What do you expect from the platform / software? If you expect the same as you would expect from a commercial product, you will be disappointed. Since there is a community contributing, there is no single vendor representing the “product” and even commercial players providing support and integration, will at times need to work with the community to solve technical problems. This doesn’t mean that you will get a poorer service, on the contrary, but the approach for solving issues will be different. 
  • Understand the “community” is key. Open Source solutions are typically provided by a “community” which can be individuals but may well also involve large commercial organizations. Large tech companies such as Airbnb, Microsoft, IBM, Google, Facebook and many others contribute to a wide range of open initiatives and/or have released platforms they have used internally as Open Source. But understanding who the “community” behind the solution is that you are looking to deploy is, how active that community is and who drives the strategy is key to understand if this solution is right for you. The last thing you want to do is to invest in a platform that is no longer maintained or that is really controlled by a single player, thus locking you in after all. Know what you get into, just as you would do with a commercial offering.
  • Again, just as with commercial offerings, do your homework and make sure you understand the options available to you, their pro’s and con’s as well as the direction development is taking. Test, compare, reach out to the community to who will be happy to share experiences and advice to ensure you are making the right choice. 
  • Development is driven by a “community” so be sure to engage. There are different ways of engaging that all have their pro’s and con’s, ranging from actively contributing to the project to more passively following or even just financially contributing, but either way, make sure you understand what role you wish to. Also, make sure you don’t just take, please. 
  • Understand the licensing model. There are a range of different Open Source license models that provide varying levels of restrictions. Before using a piece of software and possibly even investing in modifying it or building around it, make sure you understand the licenses. This is becoming even more relevant if you are actually planning to commercialize the end product. A good starting point on this subject is Wikipedia: https://en.wikipedia.org/wiki/Open-source_license 
  • Open Source solutions very often don’t come nicely shrink wrapped ready to go (some may). The consequence is that you really need to understand how using open platforms changes your operating model and the level of skill you may need to build. In some cases it may well be desirable to offset some of the savings in the licensing side by adding more skill to your organization such as to maximizing the benefit you get from your implementation while maintaining skills in-house. 

Whole books could be written on the subject, but upon working with hundreds of clients, it has become clear that Open Source is still widely misunderstand apart from the tech savvy few who are capable of benefitting from all the innovation that is going on. Open Source has long grown from being the domain of some obscure geeks and has become mainstream, in many cases out-innovating commercial players. This provides a unique opportunity to assemble the components in an innovative fashion and to develop new and disruptive solutions quickly, experimenting along the way. We for one have found that there is hardly a domain of technology where we can’t find an innovative open set of components, we can assemble to solve real business problems fast while out innovating the competition. Therefore, before you buy the next piece of commercial software, make sure you understand your options.