Earlier this week, the Linux Foundation made an announcement about the oddly-named OpenDaylight project:
The Linux Foundation, the nonprofit organization dedicated to open source development and technologies, today announced the founding of the OpenDaylight Project, a community-led and industry-supported open source framework that will accelerate adoption, foster new innovation and create a more open and transparent approach to Software-Defined Networking (SDN).
Details about what that means can be found on the new OpenDaylight site:
OpenDaylight is an open source project with a modular, pluggable, and flexible controller platform at its core. This controller is implemented strictly in software and is contained within its own Java Virtual Machine (JVM).As such, it can be deployed on any hardware and operating system platform that supports Java.
The controller exposes open northbound APIs which are used by applications. OpenDaylight supports the OSGi framework and bidirectional REST for the northbound API. The OSGi framework is used for applications that will run in the same address space as the controller while the REST (web based) API is used for applications that do not run in the same address space (or even necessarily on the same machine) as the controller. The business logic and algorithms reside in the applications. These applications use the controller to gather network intelligence, run algorithms to perform analytics, and then use the controller to orchestrate the new rules, if any, throughout the network.
The controller platform itself contains a collection of dynamically pluggable modules to perform needed network tasks. There are a series of base network services for such tasks as understanding what devices are contained within the network and the capabilities of each, statistics gathering, etc. In addition, platform oriented services and other extensions can also be inserted into the controller platform for enhanced SDN functionality.
The southbound interface is capable of supporting multiple protocols (as separate plugins), e.g. OpenFlow 1.0, OpenFlow 1.3, BGP-LS, etc. These modules are dynamically linked into a Service Abstraction Layer (SAL). The SAL exposes device services to which the modules north of it are written. The SAL determines how to fulfill the requested service irrespective of the underlying protocol used between the controller and the network devices.
Serious stuff. But I think that the project's real importance lies elsewhere. Here's what the Linux Foundation's Executive Director, Jim Zemlin writes in a blog post:
This is a community-led, industry-supported open source framework on top of which companies, organizations and individuals will build commercial products and services for software-defined networking (SDN).
This is about code at the infrastructure level to help shape the future of SDN and every major player is in. This diversity is an early sign of a healthy community and the size and expertise of these companies demonstrate industry-scale support.
The list of "major players" is, indeed, diverse:
Big Switch Networks, Brocade, Cisco, Citrix, Ericsson, IBM, Juniper Networks, Microsoft, NEC, Red Hat and VMware are founding Platinum and Gold members of the project and will donate software and engineering resources for this open source framework and help to define the future of an open SDN platform.
Zemlin goes on to provide a good analysis of why so many rivals have come together on this project:
By building this level of infrastructure collaboratively, each company can innovate at higher levels of the stack and bring more innovative networking applications to their customers faster. Customers get more choice, better products and services, and increased ease in deployments.
Sounds pretty familiar, right? In the open source community, we know these benefits well. It's exciting to see the networking industry embrace this strategy. OpenDaylight underscores the trend that is driving innovation today throughout the entire technology industry: a fundamental shift in how software is built - - collaboratively.
I think this is spot on. The power of collaboration is that everyone works on the lower-level stuff, thus saving time and money, and then innovates at higher levels. It's precisely why GNU/Linux swept away all the other Unixes once it reached a sufficient level of maturity: it meant companies didn't need to have an entire team building a Unix-based operating system, just a few engineers that could collaborate with others, allowing more resources to be allocated to competing elsewhere.
And I think Zemlin is also absolutely correct that this is the future of software, at least for generic enterprise code. It's now abundantly clear that the collaborative technique of open source works: companies are crazy if they don't adopt it, and joint projects like OpenDaylight are the way forward.
That's no surprise; what's really interesting here is that it's the Linux Foundation that is acting as the nexus for that collaboration, even though the latter includes companies that are not traditionally thought of as open source. The presence of Microsoft is the clearest manifestation of that. This is a hugely important development for the future, particularly for the Linux Foundation, which looks well on the way to establishing itself as the honest broker for managing large-scale collaborative software projects.