There’s a new term floating around that seems to be confusing people left and right. It’s something that’s been used to describe a methodology as well as used in marketing left and right. People are using it and don’t even really know what it means. And this is the first time that’s happened. Let’s look at the word “open” and why it has become so confusing.
For those at home that are familiar with Linux, “open” wasn’t the first term to come to mind. “Free” is another word that has been used in the past with a multitude of loaded meanings. The original idea around “free” in relation to the Open Source movement is that the software is freely available. There are no restrictions on use and the source is always available. The source code for the Linux kernel can be searched and viewed at any time.
Free describes the fact that the Linux kernel is available for no cost. That’s great for people that want to try it out. It’s not so great for companies that want to try and build a business around it, yet Red Hat has managed to do just that. How can they sell something that doesn’t cost anything? It’s because they keep the notion of free sharing of code alive while charging people for support and special packages that interface with popular non-free software.
The dichotomy between unencumbered idea software and no cost software is so confusing that the movement created a phrase to describe it:
Free as in freedom, not free as in beer.
When you talk about freedom, you are unrestricted. You can use the software as the basis for anything. You can rewrite it to your heart’s content. That’s your right for free software. When you talk about free beer, you set the expectation that whatever you create will be available at no charge. Many popular Linux distributions are available at no cost. That’s like getting beer for nothing.
Open, But Not Open Open
The word “open” is starting to take on aspects of the “free” argument. Originally, the meaning of open came from the Open Source community. Open Source means that you can see everything about the project. You can modify anything. You can submit code and improve something. Look at the OpenDaylight project as an example. You can sign up, download the source for a given module, and start creating working code. That’s what Brent Salisbury (@NetworkStatic) and Matt Oswalt (@Mierdin) are doing to great effect. They are creating the network of the future and allowing the community to do the same.
But “open” is being redefined by vendors. Open for some means “you can work with our software via an API, but you can’t see how everything works”. This is much like the binary-only NVIDIA driver. Proprietary programming is pre-compiled and available to download for free, but you can’t modify the source at all. While it works with open source software, it’s not open.
A conversation I had during Wireless Field Day 7 drove home the idea of this new “open” in relation to software defined networking. Vendors tout open systems to their customers. They standardize on northbound interfaces that talk to orchestration platforms and have API support for other systems to call them. But the southbound interface is proprietary. That means that only their controller can talk to the network hardware attached to it. Many of these systems have “open” in the name somewhere, as if to project the idea that they work with any component makeup.
This new “open” definition of having proprietary components with an API interface feels very disingenuous. It also makes for some very awkward conversations:
$VendorA: Our system is open!
ME: Since this is an open system, I can connect my $VendorB switch and get full functionality from your controller, right?
$VendorA: What exactly do you mean by “full”?
Using “open” to market these systems is wrong. Telling customers that you are “open” because your other equipment can program things through a narrow API is wrong. But we don’t have a word to describe this new idea of “open”. It’s not exactly closed. Perhaps we can call it something else. Maybe “ajar”. That might make the marketing people a bit upset. “Try our new AjarNetworking controller. As open as we wanted to make it without closing everything.”
“Open” will probably be dominated by marketing in the next couple of year. Vendors will try to tell you how well they interoperate with everyone. And I will always remember how open protocols like SIP are and how everyone uses that openness against it. If we can’t keep the definition of “open” clean, we need to find a new term.
Pingback: Do We Need To Redefine Open?
Perhaps you can dissect the notion of “open” into what people actually care about (i.e. their point of view). These aspects generally include: (1) free as in no-capital outlay, (2) freedom to intellectual property rights to use/modify/distribute, and (3) access to code for “insurance” or “agility” reasons. For example, a networking engineer may want “free tools”, but really doesn’t care about the source code; in fact just dealing with building/compiling the code (open-source) is not “free” given the time and energy to do it. Alternatively, if a business is using software as a critical element of their tools they might care about access to source code to mitigate risks/etc; but maybe don’t mind paying for it (open, but not free). Lots of angles to this discussion for sure.
Perhaps a better word to describe this would be “accessible.” I think that better addresses the real nature of the interoperability. Then again, maybe “interoperable” is the one. Regardless, it’s not “open.”
Pingback: Open Choices In Networking | The Networking Nerd