Using open source in your enterprise? What to look out for
Discover the potential benefits of open source software for your business and the risks you need to be aware of. Open source has long been hailed as the future of software development, yet it’s definitely not for everyone. Darya Efimova, a digital transformation observer at Iflexion, taps into the big promise of open source along with its advantages and risks when it comes to enterprise-grade software.
According to Statista, the open source market was valued at $11.4 billion in 2017 and is estimated to grow to $32.95 billion by 2022, showing it has no intention of slowing down anytime soon.
Founded on the belief that collaboration and cooperation build better software, open source sounds closer to a utopian dream than to the cold digital world of programming. Research showed that open source code takes over proprietary one in applications at 57%. This has numerous benefits, such as speeding up the software development process or creating more effective and innovative software.
For example, open source frontend development frameworks, such as Angular, are often found in custom web apps, which allows companies to get their products to market at ever-increasing rates. In addition, companies tend to engage open source when at the cusp of technological innovation, especially when it comes to AR, blockchain, IoT, and AI.
With such a high usage, it is easy to think that open source is a flawless solution; however, this is not the case. As with all software development projects, using open source software (OSS) means to take into account various pros and cons, more on which below.
6 benefits to open source
As OSS is based on a community-style architecture, this often means that code is vetted more intensely than it normally would be within one company. Open source means the community reviews the code, and this leads to solutions being created early on by mending any faults, bugs and other little surprises that the original engineer may have missed.
Staffing is a considerable expense for any organization. To get code developed to the highest standard from scratch is going to require a lot of working hours. By using open source code and then altering it to suit their needs, companies can save time, money, and much headache.
Due to its very nature, open source code is highly flexible. This means that once you adopt it for your business, you’re free to add to, amend, and alter it in (almost) any way to suit your needs.
Freedom of choice
When creating products, many software providers use proprietary software that locks both companies and users into a set system. This means migrating to another platform or type of software is both expensive and logistically complicated. Conversely, open source solutions allow for flexibility, so companies are not married to one particular set of solutions (or one vendor) and are freer to choose the best one for their business.
Faster times to market
Building software from the ground up is not only costly; it can be time-consuming too. It takes multiple iterations of design, development, and testing before a product is ever ready for the market, and this isn’t effective for business. Unless your company is seeking an entirely unique proprietary product, OSS could help to get your solutions to market faster, reducing the workload.
Backed by major names
Once heavily criticized by a Microsoft executive as “an intellectual property destroyer,” open source now became the basis of the company’s new strategy. Microsoft’s CEO Satya Nadella stated that the company needed to be “boundary-less and globally minded in seeking solutions,” and that means using and contributing to open source.
The lingering challenges
For businesses, open source isn’t always a heavenly solution. Such code is intended to form a part of a more comprehensive infrastructure. This means your company needs to account for the time and expenses it will take to ensure that the end solution meets the original project intentions.
Orphaned software and update issues
As OSS highly relies on the community, this creates a bigger risk for orphaned software (software whose creator has essentially abandoned it). This means that once you choose to use the code, you may end up bearing the responsibility for updating it for your own purposes and ensuring it adheres to the latest security standards.
Open source code may be initially deceiving, and users may be tricked into thinking that almost anyone can use code freely to build anything. While this is somewhat true if you and your team have the right skill set, in many cases it means seeking expert guidance to arrive at a needed solution. Considering the millions of open source projects available, specific licenses and commercial use terms, this calls for professional quality audits to avoid possible risks in using a particular open source code. And that’s before we even get to use it on the actual project.
No matter whether your code is open source or entirely custom, you will be required to undertake maintenance and apply due diligence to ensure that once your solution hits the market, it continues to run effectively. This may mean anything from keeping an eye on edits and updates, to watching out for orphaned software and running your own tests to ensure effectiveness after the release.
Data protection requirements
Nowadays almost every business is bound by data protection requirements. This may vary depending on where your company operates, but some jurisdictions require you to own the code you provide in order to comply with data protection laws. Before starting a software development project, it is essential that you review the particular legislation that affects you and decide whether open source is an appropriate solution in your case.
SEE ALSO: Chatbots suck
How could this be a bad thing? Admittedly, the community is the backbone of open source. Well, it is, but like in any society where free will enters into the equation, no one is obliged to answer your questions or update their own software unless they are legally bound to do so. While the community element is the strongest part of open source allowing for the furthering of innovative tech solutions, it can also be said to lack the accountability of a proprietary software provider.
Besides, being part of the open source community is seen as a reciprocal relationship, meaning you may be expected to contribute back to the community in the form of feedback, adjustments, improvements, or even your own open source code projects. Such stipulations can often be found in the fine print of licensing agreements.
To open source or not to open source?
So, the question remains: does open source live up to the claims? And should enterprises use it when developing their applications?
The answer is not so clear-cut.
Open source does present much potential for companies to innovate and truly tap into the next generation of technology. It boosts time to market and can prove to be an effective solution for most projects, as backed by the worldwide usage stats.
However, those thinking of engaging in open source should also take account of the associated challenges and risks, so as not to fall victim to any of the common pitfalls of using open source code.