We've had some discussion about the use of non-OpenStack code required to use drivers. Some want everything included in-tree while others want just an interface that communicates to the vendor's system. It is also not clear where that line should be drawn. In Cinder, most backend storage is proprietary. But is it also OK to require a driver to talk to an intermediate, possibly closed source, application server to interact with the device? What about an intermediate, possibly closed source, vendor CLI? What about a library that gets loaded by the driver? Where do we draw the line of what is acceptable in an open source project and what is not.
References: http://lists.openstack.org/pipermail/openstack-dev/2016-June/097307.html
Session Leader(s): Sean McGinnis (smcginnis), Kendall Nelson (diablo_rojo)