Neela Jacques: Why Collaborative Development is Right for Software-Defined Networking
There are a number of open source software business models that companies employ today. These approaches fall along a spectrum of openness, from companies building their products and services utilizing fully open, raw code to a mostly closed model in which they offer access to their products via a limited API, says OpenDaylight Executive Director Neela Jacques. In between lies what he calls “Open Plus,” or proprietary software built on open source and/or open standards.
“I believe this is where the sweet spot lies,” Jacques wrote recently in his OpenDaylight blog. “In many cases end users here can experience the best of both worlds – the performance from a highly tuned, controlled piece of software, but the ability to migrate to another member of the ecosystem if technical requirements change.”
Vendors are already taking this approach with the OpenDaylight project, and many other open source projects that follow the collaborative development model. Jacques and other collaborative project leaders will go into more detail about this approach in a keynote panel, moderated by Linux Foundation Executive Director Jim Zemlin, next week at Collaboration Summit in Napa, Calif. Here he talks more about collaborative development, its challenges and successes, and its role in revolutionizing software-defined networking.
Linux.com: Is collaborative development the new model for open source success (as Peter Levine recently suggested), why or why not?
Neela Jacques: I see running open source a little bit like air traffic control in the way that it benefits end users (passengers). To do this well you need solid infrastructure and governance - common systems, agreed upon paths, a standard way for planes to communicate, signs for taxiing etc. On the other hand, you want competition for what comes around it - companies utilizing the common infrastructure and governance to innovate on top - (planes), service providers (airlines) and other services (food service, shops etc.).
I do believe we are seeing a major evolution in how software is being developed. It used to be you had two opposing models: Closed Proprietary vs. Fully Open. Today what we're seeing is something I call open-plus, where players large and small work together to define standards, develop industry wide APIs and protocols, and to create platforms everyone can plug into. In this model you overcome the challenges with each model and get the best of both. You don't get the waste of everyone constantly reinventing the wheel with undifferentiating technologies just like you don't want a country with eight separate incompatible phone systems. In fact this frees up resources for people to invest in making solutions that have better UX, that better solve end-user problems. It's not surprising that so much of the technology that has changed our lives incorporates open source code at its core.
Can you describe the biggest challenge you've faced so far and how you overcame it?
Jacques: In general mine has been to bring the skeptics on board. Many correctly identify all the challenges to collaboration in our industry. I find myself often having to invite folks into the community to see for themselves that it’s a meritocracy.
From a technical perspective the biggest challenge has been to determine support for a wide variety of ideas and technologies. OpenDaylight prides itself as being the place where people come to debate their ideas of how networking should be done, but to debate with code. The Service Abstraction Layer (SAL) is the solution we've found to enable a multitude of southbound devices and protocols.
Why is an open source, collaborative development model right for software defined networking?
Jacques: The key difference between SDN and traditional networking is that you are centralizing network intelligence at least to some degree, primarily to get greater programmability and agility in your network. Having multiple controllers makes as much sense as having multiple disparate civil air traffic controllers in the same city. SDN begs for a platform into which all network services can plug into and that can talk to the set of hardware devices to its south. One option is to anoint one player to own that platform and let them control the market and the bulk of profits for the next twenty years. The challenge is if that’s the model everyone will spend money trying to be that one dominant player, and therefore we'll see endless turf wars. Open, collaborative development makes perfect sense for SDN because controllers are the wrong battleground. They all do roughly the same function. The value is in the apps, in the network services, in the orchestration and in the hardware/chipsets. Basically anywhere but the controller.
What other industries or market niches are ripe for collaborative development and why?
Jacques: I think PaaS and orchestration as two areas really needing strong community collaboration. I was very excited to hear Pivotal announce it was creating a foundation for Cloud Foundry. The way that apps are written needs to change, and while AWS has many advantages it still doesn't provide all the elements of a true PaaS. The Cloud Foundry community has the potential to become Borland, Eclipse, WebSphere and AWS all wrapped into one - a one-stop shop for app developers - but it's hard for me to see any one company providing all the resources and leadership needed to be able to achieve that.
When I was at VMware I used three words to describe the approach you need to take to get to a software-defined data center. For each type of resource (compute, storage and networking) you need to "abstract, pool, and automate." The industry has been making great progress on abstract and pool, but we're still in the early days of "automate." I would love to see industry collaboration around developing an industry standard orchestration and automation engine. OpenStack Heat is a good start, but I think the potential in the space is huge. I see OpenDaylight plugging right into OpenStack Neutron which will enable a much richer set of networking functions and tasks to be automated.