Adding Value to Open Source: Or, How to Use Free Code in Production



There’s no doubt that open source is now the leading way to do software. Research shows that 78 percent of companies now use open source in their operations. That number is poised only to grow yet further as open source continues to enter new niches, like smart cars and drones.

Open source’s popularity is not surprising. Since projects like Linux, GNU and Apache HTTPd first showed in the 1990s that companies could run production server environments using code that was given away for free, a new generation of open source platforms has arisen to solve a much broader set of technological challenges.

Hadoop and Spark deliver data analytics. Node.js and npm have radically simplified the development of Web applications. GitHub has revolutionized the way programmers write and share code. These are just a handful of examples of major open source projects today that have a big (albeit indirect) commercial impact.

The advantages of open source

It’s obvious why open source has grown so popular: Open source offers lots of advantages over proprietary platforms.

The most significant is the ability to inspect and modify the code of the software you use. Whether or not you actually know how to program, the visibility you derive from adopting open source platforms assures flexibility that you don’t get from proprietary alternatives. No vendor can lock you into a particular app if it’s open source and you’re free to modify it yourself in the event that the vendor stops supporting it, for example.

Code visibility also offers security advantages. True, the fact that anyone can inspect code does not guarantee that it’s free from security flaws. (Breaches like Heartbleed, which affected OpenSSL, are a reminder that even widely used open source tools can have security problems.) But what would you rather place your trust in: An open source app whose code you can scan yourself for security issues, or a closed-source program, which requires you to take the vendor’s word for it that there are no security holes?

Open source has obvious cost advantages, too. Notwithstanding the long efforts of a certain proprietary software company based in Redmond during the late 1990s and early 2000s to discredit GNU/Linux server platforms as having a higher total cost of ownership, open source solutions are usually less expensive because the products themselves are free, free community support is available if desired and the cost of modifying or integrating open source code with another product is much lower (because, again, anyone can inspect and change the code).

The list of advantages of open source could go on. But I’ll leave it at this, because there are other important dimensions of open source that companies need to understand.

Open source is complex

The biggest is that, while open source software offers a flexible and efficient way to solve technological challenges, it’s also complex. The fact that anyone can view the code does not mean that the code is easy to follow, or that everyone should attempt to deploy open source products in their raw form.

In other words, while the nature of open source makes it possible for anyone to download and install an open source app, the expertise required to run that app effectively often outweighs the cost savings of deploying that app directly from the source.

After all, there’s a reason why almost no one builds Linux systems from scratch. Yes, you could download the source code for the Linux kernel, all the user land GNU utilities and the various other bits and pieces you need to build a functioning Linux-based computer, then configure and compile them. But that would take hours and hours of work. It would also require a high level of expertise in building and installing code from source in Unix-like environments. So, instead of undertaking that hassle, almost everyone except the most hardcore geeks uses a pre-built GNU/Linux distribution.

Value-added open source

That approach to deploying open source is not unique to the Linux world. The same lesson applies when it comes to any major open source platform.

Unless your organization has a large, expert ITOps team on hand, it’s probably not going to be able to run an open source platform like Hadoop or OpenStack effectively on its own. A much better approach would be to adopt a value-added implementation of these platforms from vendors who specialize in packaging them for non-experts to use.

That’s why so many companies now specialize in delivering value-added versions of open source platforms. They deliver important value to the open source ecosystem.

At first glance, value-added versions of an open source platform may seem like a silly investment if they cost money or require a commercial license subscription. It would be dumb to pay for a slightly modified version of something you could get for free by downloading the open source code directly, right?

Well, no. Again, the cost of hiring on-staff programmers with enough expertise in a particular open source platform to deploy it from scratch themselves will almost certainly be much greater than obtaining a value-added distribution of the same platform from a vendor that specializes in it.
That’s why, as open source adoption reaches new heights, value-added implementations of open source products will remain crucial. They may not make as many headlines as open source code itself, but they’re an essential part of the ecosystem.

Chris Tozzi has worked as a journalist and Linux systems administrator. He has particular interests in open source, agile infrastructure and networking. He is Senior Editor of content and a DevOps Analyst at Fixate IO.


Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published.

Skip to toolbar