Eighteen months ago, I wrote a guest blog here on SDxCentral where I asked, "Who will finish the SDN controller?" I was bemoaning the lack of a credible "complete platform" on which to build an SDN software ecosystem, and taking the then-contrarian position that an open-source solution might leapfrog the opportunity to build a big proprietary software business and become the Microsoft of the disaggregated network solution ecosystem.
My thesis was that the vision of pioneering SDN gurus like Scott Schenker at Berkeley had not yet been delivered. Go back and listen to his brilliant articulation of the dream, pre-SDN-washing. The barebones research controllers (NOX, Beacon, Floodlight, POX, Ryu, etc.) available at that time did not have anything resembling a high-level set of SDN and distributed systems libraries upon which a controller "application" ecosystem could be built. At that time I asked how and when we would finally get a foundation that such an ecosystem could use to develop pure differentiation, without having to supply all of the "me too" bits.
Since then there have been a number of dramatic changes in the landscape as the ambitious vision and vague definition of SDN have begun to move from slideware to deployable technology. By some definitions, there are 14 or so SDN controller solutions spanning open-source and commercial offerings. Many have made incremental progress towards having a richer, more mature set of services to eliminate much of the low level, error-prone drudgery of building applications and services above the low-level device languages and details.
But the emergence of the Open Daylight Project, its community structure and governance, and the contribution of boatloads of near-GA quality source code for diverse controller platform technology have an excellent opportunity to finish building a common platform with the sort of rich APIs and services necessary to appeal to a broader set of network programmers spanning vendors, service providers, and the enterprise.
OpenDaylight is an open-source community, hosted by the Linux Foundation, in which anyone is welcome to participate. So, it's looking like we, as in a "we the people in this community" sense, are going to finish the SDN controller.
As I write this, developers from dozens of commercial and non-commercial organizations are building and integrating the most comprehensive and programmer-friendly SDN controller platform to date. One can make a strong case that this is the sort of platform originally envisioned. By sharing the core technology platform upon which programmable networks can be built, the vendors have avoided a potential SDK-features arms race that would have nothing to do with their core businesses. In ODP, they each throw a bunch of resources at the open-source platform (à la corporate Linux development), and they all get a higher quality and more widely deployed platform than any of them could build individually.
The OpenDaylight Project allows wide latitude in ways to deliver commercial differentiation and value. The net result of building a shared controller platform should be greater innovation and less investment in "me too" for everybody. If all the big vendors getting together to provide tons of free top-end software sounds suspiciously too good to be true, you will feel better to know that it's in their best interest.
Not Your Father's Open-SourceThere is no question that this is an atypical open-source community. Back in the day, a bunch of geeks got together and starting building something out of curiosity and common interests, and it evolved into an open community, often lead by a single vision held by a "benevolent dictator" who played the tie-breaker and direction-setter roles. The code grew organically as a community discussion played out about what to build and how to build it. Eventually some of these quirky hobbies became so popular and broadly used that commercial vendors flocked in and built multi-billion dollar businesses.
Here, the sequence and roles have been scrambled. The vendors were there at the birth of baby daylight (artificial insemination as compared to Linux immaculate conception?) and huge chunks of functionality were brought to the table largely complete, if not already in beta, leaving little room for the community to discuss design decisions and such. Furthermore, there is no Linus Torvalds equivalent in this community who can claim some kind of inherent right to shepherd the flock.
As a result of the above dynamics, there is arguably room to question whether the result will be as valuable as, say, Linux has been in the compute world. Obviously there are thousands of servers for every SDN controller, so the total available market is not comparable, but there is hope to get a community-developed SDN platform that is as valuable in that role as Linux has been in the admittedly larger domain. To date, Dave Meyer has been elected head shepherd and is bringing his thoughtful and imminently gentle guidance to the process. While some of the components have been developed outside of the ODP community and imported, they all appear to be well designed by talented and diligent engineers. While the vendors have been involved since the community started, the day-to-day behavior is a pure meritocracy of ideas, with a very simple standard that code trumps debate and whiteboards. Folks are working smoothly to build a common platform with a collective interest in getting a great result.
Ignore ODP as a big-vendor trick at your own risk. This is a rare example of realists in the industry risking disrupting themselves to avoid being disrupted by the market shifts that could accompany SDN. It is a sensible move for the incumbents, even if quite unfortunate for at least one of the groups hoping to become the Microsoft of the controller business. It looks like we are going to skip Microsoft and go to Red Hat in the controller business. And Red Hat is has shown up to audition for the role of — wait for it — Red Hat.
Hold onto your seats kids, this ride is going to get even wilder.