[openstack-dev] OpenStack Programs

Thierry Carrez thierry at openstack.org
Mon Jun 24 09:50:38 UTC 2013


Hi everyone,

"Official" OpenStack projects are those under the oversight of the
Technical Committee, and contributing to one grants you ATC status
(which in turn you use to elect the Technical Committee members).

The list of official projects used to be simple (Swift+Nova) but
nowadays it is rather convoluted, with categories like "integrated",
"incubated", "library", "gating" and "supporting", as described in [1].
That complexity derived from the need to special-case some projects
because their PTL would automatically get a TC seat. Now that we
simplified the TC membership, we can also simplify official projects
nomenclature by blessing the goals rather than the specific repositories.

[1] https://wiki.openstack.org/wiki/Projects

This is why Monty had the idea of "programs" which would be blessed by
the TC (and then any code under an official program becomes "official").
Rather than trying to come up with categories that would cover all the
stuff that the Infrastructure team is working on (gating, supporting,
libraries...), just say that "Infrastructure" is a program and let them
add any repo that they need. The TC would bless the *mission statement*
of the program rather than the specific set of projects implemented to
reach that goal.

That sounds like a pretty nice idea, so could we consider everything
falls under the realm of a "program" ? Like having an "integrated
release" program that would contain all integrated projects ? I think we
need to keep special-casing a concept of "projects", separated from
"programs", since those are accepted one by one by the TC and go through
an incubation period. Those "projects" would contain at least one repo
that wants to be part of the integrated, common OpenStack release, plus
anything the same team works on (like the corresponding python client
project).

To match with the current state we would end up with:
* Projects (Nova, Neutron, Swift, Glance, Keystone, Horizon, Cinder,
Ceilometer, Heat)
* Incubated projects (Trove, Ironic)
* Programs (Oslo, Infrastructure, Documentation, QA)

New programs would draft a clear mission statement and apply to the TC
for consideration. Programs should also expect to have a specific
"topic" at the Design Summit (most of them already have), and should
probably designate a lead/ambassador as a clear go-to person.

A few questions I had left:

* There are efforts that span multiple projects but work directly on the
project code repositories, like integrated release, or stable
maintenance, or vulnerability management (collectively called for the
convenience of this thread "horizontal efforts"). Should they be
considered separate programs (without repos) ? Be lumped together into
some catch-all "integration" or "production" program ? Or ignored as far
as ATC status goes ? I've mixed feelings about that. On one hand I'd
like those efforts visible and official to be more widely seen as a good
way to contribute to OpenStack. On the other hand it's hard to tie ATC
membership to those since we can't trace that back to commits to a
specific repo, and I'd like the programs mission statements to be
precise rather than vague, so that the TC can bless them...

* Where would devstack fall ? QA program ? Infrastructure program ?

* Where would openstack/requirements fall ?

-- 
Thierry Carrez (ttx)



More information about the OpenStack-dev mailing list