Adopting Open Source Is About Integration, Not Programming

This guest blog post is by Lisa Caywood, Director of Ecosystem Development at The Linux Foundation. We thank The Linux Foundation for being a sponsor.

For some years, I’ve been conversing with various folks about SDN, NFV, open source, and whether network engineers are all going to have to become programmers. (Tl;dr: no.)

This “engineer-programmer” notion conflates several different, though related, topics.

SDN and NFV are technological approaches to constructing and operating a network.

Open source is a methodology for developing software, the output of which is incorporated–usually not in its entirety–into other software packages. (Some 90% of commercial packaged software is constructed using various bits of open source software.)

SDN (re)introduced the possibility of disaggregating the network stack, but that doesn’t mean that the end user needs to be the programmer. This is where the current fascination with “intent” comes in: with sufficiently sophisticated programming on the back end, the end user can define the desired rules and outcomes within a network automation platform and let the platform implement and monitor those instructions at scale.

Now, the reason we had vertically integrated stacks to begin with is that they’re MUCH easier to consume than assembling everything yourself. Doing one-off integrations for everything in your network is error-prone and not scalable.

So how can we optimize each layer independently, in a scalable way? By building common models, common frameworks, and common interfaces. Open source communities exist to build that common platform. That’s why open source frameworks are becoming increasingly important in guiding the direction of industry development efforts, and why all of the top 10 networking vendors are involved in one or more major open source projects.

Enterprises often wonder, however, why they should actually go for an open source-based product, other than the ”cool” factor.

Misconceptions abound. The most common is that ‘open source’ means you download the code (for free!) and go off and use it. Very few companies will ever do this. You can do it. But then you’ll be compiling, integrating, and deploying the code yourself, all of which costs time and money. You may save on upfront acquisition costs, but your TCO remains the same at best.

In other words, an open source project is NOT a free product you download and use in its entirety, as you would a traditional packaged commercial product. It is a set of tools, or building blocks, that can be selectively combined in many ways, either by you, or by your vendor, or both. Not surprisingly…

Seeing a theme among the #NFD17 presenters. Combine open source tools into a solution and sell that to customers as bundled, supported offering.

At the same time, a Dice survey conducted in August 2017 found that 77% of respondents say the ability to architect solutions based on open source is their most valuable skill. In other words, being able to program isn’t itself the most important thing; it’s understanding the open source landscape and being able to ask intelligent questions of open source-based providers.

A great place to begin to get the lay of the open source landscape is the Open Networking Summit, taking place in Los Angeles at the end of March. I hope to see you there.