The holy grail for OpenStack projects has been to achieve the status of Integrated. Integration equals your code gets the designation of OpenStack. Being an official OpenStack project means it is much easier to get developers to work the project as your visibility goes up. However, projects that have been deemed Integrated do not meet the needs of a specific use case or customer. You can’t just take all the OpenStack Integrated projects and build a cluster. It is much more complicated than that. Rather, an Integrated project means that it has met certain technical requirements like release cycle alignment and architectural maturity. The majority of people outside of the OpenStack development community do not understand what OpenStack Integrated means. Many of the companies employing OpenStack developers do not fully understand what Integrated means. This is a big problem.
The existing OpenStack project process is outlined here.
We need to have release management requirements for projects. We need to have deployable configurations. These different objectives, both valid, have caused much confusion and heartburn around OpenStack. Questions around using or developing projects in the various states of maturity are difficult to answer. If I am funding developers on a project that hasn’t reached the Integrated status, is it still valuable work? How and when do non-integrated projects get into OpenStack distributions? What are valid, deployable OpenStack projects with or without using a distribution?
The OpenStack Technical Committee has recognized this growing schism, as they are working through it day-to-day. There is a two-part solution. First, use tags to replace the Incubated to Integrated project maturity monikers. There could be tags to describe project maturity as well as release configurations like HPC, HA, or security hardened. Projects with multiple tags will allow the different characteristics to be clearly understood. These tags will be also critical to start supporting the coming changes from the OpenStack trademarks improvements. Second, streamline the process to be considered an OpenStack project. For a project to be part of OpenStack, it merely needs to follow the community development process and allow the Technical Committee oversight.
I have vastly simplified the proposal. You can find Thierry Carrez’s blog post here and the Technical Committee specification here. These changes are important ones. Take a close look at what proposed. It is a huge step forward.
1 thought on “OpenStack: Evolution”
Comments are closed.