In the competitive landscape of software-defined networking, vendors often use the word "open." Either a vendor claims its product is open, or a competitor counters that it's not. This really raises a question: What does it mean to be open? As with so many issues in networking, the answer to that question is "It depends." The best way to address this conundrum is to look at what certain vendors and projects mean when they say open. I think we'll find that the notion of open has become fluid.
Cisco's Application Centric Infrastructure is Cisco's holistic SDN initiative consisting of a controller called APIC, compatible hardware, and the newly introduced OpFlex protocol. On Cisco's ACI landing page, the company describes ACI as "an open ecosystem" that provides "support for open networking," with a key characteristic: "open software flexibility for DevOps teams and ecosystem partner integration."
That's a heavy use of the word open -- a theme that continues as you read through Cisco ACI literature. So what does this really mean? Can you download APIC and use it freely? No. Can you dig into the source code and modify it as you see fit, launching your own APIC fork on GitHub? Again, no.
What it does mean is that you can integrate your product or process with the APIC controller using a variety of APIs that Cisco provides. In that sense, there is a degree of openness. The door has been opened to allow Cisco infrastructure to be integrated with other vendor infrastructure and customer operations via a programmatic interface.
That said, this is not the same sort of open that network practitioners have come to expect. While Cisco will open the door to anyone who wants to integrate with its infrastructure -- a savvy, if obvious, business decision -- Cisco is not giving intellectual property away to anyone who might like to use it. Cisco ACI, OpFlex, and related APIs are open in the sense that Cisco is offering a key to drive its car around. It is not opening the hood and allowing engine modifications.
The Open Networking Foundation is the organization behind the protocol OpenFlow. With such prominent use of the word open, OpenFlow must be open, correct? Well, yes -- and no. Participation in OpenFlow's development is only available to ONF members. Membership in the ONF costs $30,000 annually. Startups catch a break, paying only $1,000 annually for their first two years.
A select number of academicians can participate freely. Even ONF working group and discussion group mailing lists are shrouded from the public, as only ONF member email domains are permitted to join.
So the process of developing OpenFlow is not open to the general public. What about the products the ONF creates, i.e. OpenFlow? Surely, those who wish to bake the OpenFlow specification into their products can do so. Again, yes and no.
The ONF's OpenFlow trademark policy requires contacting the ONF for a written license agreement unless your usage falls into an exception category. One of those exceptions is for community-developed implementations of OpenFlow "released free of charge and under an Open Source Initiative-approved license." The trademark policy makes it seem like perhaps anyone could use OpenFlow for noncommercial purposes, but the story becomes more complex when reviewing the ONF Intellectual Property Rights document.
This document states: "Each Member, on behalf of itself and its Affiliates, hereby grants to the other Members and their Affiliates... worldwide license under their Necessary Claims to make, have made, use, import, offer to sell, lease, sell and otherwise distribute Compliant Portions."
Hmm. In other words, ONF members allow all other ONF members to use OpenFlow "compliant portions" however they like, with some caveats further detailed in the policy. Perhaps I missed it in the jargon-laden document, but I saw no provision allowing ONF nonmembers to create OpenFlow products.
How, then, is OpenFlow open? In the sense that a large number of organizations with an emphasis on end users are working together as members to create a protocol, OpenFlow is open -- a point not to be understated. I believe most of the networking industry feels that OpenFlow is an open standard. However, the ONF's process is closed to public viewing, participation, and productization, making OpenFlow somewhat less open than its name implies.
In contrast to Cisco ACI's and ONF's flavors of "open," the OpenDaylight (ODL) SDN initiative is a completely open project. Membership in ODL is not exclusive. Anyone can participate and commit code, assuming the code has merit as determined by the community. In fact, OpenDaylight is actively seeking contributors.
The ODL process is open; anyone can subscribe to the mailing lists of the various projects or the technical steering committee, and anyone can participate in the public IRC channels. The ODL products are consumable by anyone. Whoever would like to work with OpenDaylight's first release, Hydrogen, can freely download the product. OpenDaylight could even be used as a baseline for other products that are later commercialized. Simply stated, OpenDaylight is as open as open gets.
Open to interpretation
Clearly, open means different things in networking literature; context is extremely important. All of the technology I mentioned here is indeed open... from a certain point of view. IT practitioners need to understand the context and point of view clearly to know what is meant when the word "open" is used. Armed with that knowledge, they can then decide which open basket to place their eggs into.