Article
· Jan 9, 2018 6m read

Why Open Source is the Future (and if not, what hampers it?)

Too often users finding themselves in need of a software solution do not consider “open source” vs. “proprietary” alternative. Most of them either have their go-to favorite developer or just google for reviews and ready-made answers. However, this alternative must be the starting point of their search, as the decision has the most consequences.

It is not an overstatement to say that open source is the future of technology, albeit, it has its own unique challenges. Here is what users, especially corporate users should consider choosing the software for their business needs.

Fast evolution

Open source is an engine of the evolution, as the community is spread across the world and everyone contributes constantly in real time. There is an unprecedented possibility not only to detect bugs but fix them with lightning speed.

Nick Hopman (senior director, Emerging Technology Practices in US Sales, Red Hat) called the open source model of sharing a “fountain of innovation”. According to him, “every major technology that enterprises are likely to bet on – cloud, artificial intelligence, mobility – has a lot of its current innovation happening upstream in the open source community".

No Lock-In

With open source software, if the user wants to implement changes, they are encouraged to do so, not prevented from it. Their creativity power the improvements. The user wants your product to work with software from another source and seeks the ways to implement it? Brilliant! It will be more versatile and compatible with more other titles. Things are quite the opposite with closed ecosystems (so-called “walled gardens”).

In closed systems, any tweak and modifications are viewed as something akin to breaking the law and therefore punishable. Consider the term “jailbreak” for a moment. Risk it if you will, on your head be it. It will void your guarantee and brand you as an untrustworthy user.

Uninstalling an app is a seemingly simple task for “good” users who obeyed the rules and went only for approved “compatible” software. If they opted “beyond the wall”, they may have troubles weeding out the unwanted intruder (as seen from the closed-source developer perspective).

Continuous availability

With closed-source software, you are always dependent on the marketing decisions of the vendor. Say, you opt for a nice closed-source solution and it seems a bargain. However, sometime later, the vendor decides that subscription model would bring them more revenue, so your “lifetime” warranty now becomes one-year subscription you will have to renew… for a fee. Alternatively, some core features that attracted you to the product in the first place become very expensive add-ons due to vendor’s transition to a freemium model.

Such transformations do not happen in open source.

Adaptability

Even when proprietary software developers promise unique solutions tailored to meet your needs, they still need to be customized. Especially, when it comes to software for business. Some options are unavailable at all.

Open source software allows all the tweaks, modifications and adaptations to really make solutions that fit your business like a glove. The only important things which one should not forget is to contribute all the changes back upstream to ensure that further upgrades will run smoothly.

Expertise

Many users share still share the preconception, that open source is something amateurish. According to this myth, young people develop open-source projects as a hobby, before they get enough skill to land a job at a corporation that makes “proper” products. Well, at least it’s free.

As we know, it cannot be farther from the truth. Over the years the open-source community has grown significantly in numbers and expertise. Did you know that about 70 percent of corporate organizations are participating in open source community or contributing to it? This should give us some idea about the levels of knowledge and skills involved in open-source development, as well as the perspectives of the movement.

Quality of the code

This is not some intrinsic characteristic of an open-source software but a logical consequence of the approach. Since the code is visible to anyone, it is open to scrutiny. For software developers code is like a portfolio for designers. No one wants their name to be associated with poor-quality work. Therefore, open source programmers strive to create cleaner, easier-to-understand piece of code. They do not have company guidelines to rely on and to cover for them, they have to make the quality assessment by themselves. They perfect and they learn.

Why users still have doubts?

Breaking the habit and leaving the ecosystem might be difficult. For example, Adobe Photoshop and GIMP have almost identical functionality. Why then, photographers and designers prefer shelling out a hefty sum for the Creative Suite instead of migrating to GIMP?

The answer is network effect. Unlike excludable good, network increases in value and usefulness as more people use it. The success of companies like Uber, Airbnb, eBay, and Amazon rests upon it.

Creative Suite is a kind of “industry standard” for professionals. It is a medium and leaving it leads to some degree of exclusion. When all of the colleagues you collaborate with use certain software, 100% compatibility is crucial.

Another reason is a power of habit. For example, being a college student I used Open Office as a word processor because I could not afford to buy Microsoft Office Suite. The software could do everything (and even more) that a default Office. I could save my documents in any extension professors would require to hand down our papers, so there were no compatibility issues.

Still, I have found the transition quite demanding as I grew accustomed to the interface and features being laid out in a certain way. I was a student, yet still, it did not come easily. Imagine how a seasoned professional must feel when they spend years depending on a certain software.

Main Challenges

For users considering the transition to open-source world, there are three main challenges. First is a steep learning curve. Some may find mastering open-source software a tedious task. The problem here lies in the fact, that open-source products are tech-driven instead of user-orientated. As it often is, the strong side is also the main weakness. While technical characteristics are superior, the intuitiveness and accessibility are less developed.

Tackling this in the overcrowded niche is a tricky task. You want to create a product with all the features that a user expects laid-out in a familiar way. You also don’t want your product to be a “rip-off”. However, if you adopt a feature that users crave, they might be the first to accuse you of “stealing”. Remember the uproar brought up by Instagram Stories, the concept of which was “inspired” by Snapchat’s core feature?

The second reason is the lack of adequate user support. The end user is viewed as a co-creator, but not everyone is ready for that role. Open source depends on the community to fix issues, therefore they are addressed when the community has the time. Plus, there is always the risk of abandonment, when the most invested programmers lose interest in the product and move on to the next big thing.

Then, there are still issues with vulnerability. Although the open source community is focused on spotting bugs and fixing them, there is always a risk that someone might decide to exploit it. However, the stability of a particular product depends greatly on the support network that ensures its security. Therefore, open source products often are more secure than commercial software. The probability of a threat going unnoticed is lower by the hour thanks to the constant growth of the dedicated community that can respond faster.

Flexibility, speed of development, principles of sharing and volunteering keeps open source on the leading edge of technology and wins new fans all over the world. It gives users the power to be creative and pro-active, with is the key to innovation.

Discussion (2)0
Log in or sign up to continue

I cannot stress the importance of network effect enough.

Recently, we have been implementing microservices written in node.js around our central Caché database and according to my experience chances are, that for all but the most obscure use cases, a library solving your particular problem exists. Features that would take days to implement in COS from scratch are generally solved with one or two api calls.

Hi Darren

I remember an Intersystems Global Summit (or DEVCon and it was called back then) around 10 years ago where ISC did a presentation (Robert Nagle) on a  project where they got MIT to develop the same business app using open source and Caché.

It was big data where they were monitoring and capturing real-time data from solar energy installations (from small to large)

The project never fully completed but the indications were that the closed Caché outperformed open source on all metrics.

Interesting to see what's changed!
Just wish I had a copy of the presentation

Peter