Resolving the multiple controller code bases issue
David Meyer <dmm@...>
[04/29/2013] As you may know, there have been several proposals floated to deal with the problems created by the fact that we have two controller code bases. These include but not limited to:
(i). Work on portability between code bases and maintain two controllers going forward. This would obviously create enormous challenges and inefficiencies over time. In
addition, it will continue the lack of clarity over the ODP controller code base. (ii). Create a new controller project that would incorporate the desirable components of both controllers (the
so-called "merged controller"). Note that the creation of such a third controller project would require extensive resources for design and integration, versus expanding on
what we already have. Again, such an approach will also continue the lack of clarity over the ODP controller code base and push our deliverables out an for an undefined
period of time. (iii). Have the TSC vote for either the Cisco or BSN code base as the ODP controller code base. The TSC could also vote to keep the other code base available in case it ever
wanted to pull parts of the other code base in. (iv). Others that I might have missed? Clearly neither option (i). nor option (ii). reach the objective
of providing a clear understanding for the community of which code base ODP is building on (nor would they do so in a timely fashion). On the other hand, jumping directly to option (iii). is
not optimal as we might miss out on compromises that could be beneficial to our community (as well as being more "top-down" than we would like). Since our clear goal (and responsibility) is to make ODP into the
standard open source infrastructure for SDN, it is incumbent upon us as the ODP TSC to take affirmative action to clear this problem and get ODP moving. To that end and in consultation with
the Linux Foundation and others, I am formally putting the following resolution process in place: (a). I will ask Cisco and BSN to create a proposal for one controller code base that comprise the ODP controller
code base. This "one code base" could be either code bases or a mashup of the two that Cisco and BSN feel, from a technical point of view, will best serve the ODP
community. In addition, the proposal may include proposals to start other ODP projects or sub-projects to address any gaps or future work. And of course, community members are encouraged to participate in
this process. (b). The proposal should be available for TSC review no later than Monday, 13 May 2013. Of course, we should provide for flexibility in the event substantive progress is
being made. That said, 13 May 2013 should be our target date. (c). If no proposal can be created by Cisco and BSN (possibly working with other community members), the TSC will take
an up or down vote on which controller code base ODP will be using going forward. The vote should be taken on Tuesday, 14 May 2013 by email in a private ballot to
preclude the appearance of a "deciding vote" being cast by any TSC member. I propose that the Linux Foundation receive, tally, and make public all the votes and the
result at the same time. Note that it is not uncommon for an open source project such as ODP to have competing code bases, nor is it uncommon for a
resolution such as described above to be used in these cases. In particular, this process is designed to both be as true as possible to the open source community and its governance model while at the same time providing a forcing function to drive
resolution of our controller code base problem. Finally, I have asked Collin Dixon and David Erickson to start a discussion of architectural and technical aspects of the two code
bases on discuss@.... Thanks Colin and David! Please join in on that discussion to the extent you have time/inclination. This discussion is a crucial part of building
our community, and we will need such an analysis in the event that vote. In particular, this work will give us a technical basis on which to base our votes. Thnx, --dmm |
|