[openstack-dev] [all] [ptls] The Czar system, or how to scale PTLs

James Polley jp at jamezpolley.com
Thu Aug 28 22:36:45 UTC 2014


On Thu, Aug 28, 2014 at 10:40 PM, Thierry Carrez <thierry at openstack.org>
wrote:

> James Polley wrote:
> >>>         Point of clarification:  I've heard PTL=Project Technical Lead
> >>>         and PTL=Program Technical Lead. Which is it?  It is kind of
> >>>         important as OpenStack grows, because the first is responsible
> >>>         for *a* project, and the second is responsible for all projects
> >>>         within a program.
> >>
> >>     Now Program, formerly Project.
> >
> > I think this is worthy of more exploration. Our docs seem to be very
> > inconsistent about what a PTL is - and more broadly, what the difference
> > is between a Project and a Program.
> >
> > Just a few examples:
> >
> > https://wiki.openstack.org/wiki/PTLguide says "Program Technical
> > Lead". https://wiki.openstack.org/wiki/PTL_Elections_March/April_2014
> > simply says PTL - but does say that each PTL is elected by/for a
> > Program. However, Thierry pointed
> > to https://wiki.openstack.org/wiki/Governance/Foundation/Structure which
> > still refers to Project Technical Leads and says explicitly that they
> > lead individual projects, not programs. I actually have edit access to
> > that page, so I could at least update that with a simple
> > "s/Project/Program/", if I was sure that was the right thing to do.
>
> Don't underestimate how stale wiki pages can become! Yes, fix it.
>

I don't know if I've fixed it, but I've certainly replaced all users of the
word Project with Program.

Whether or not it now matches reality, I'm not sure.

I alsp removed (what I assume is) a stale reference to the PPB and added a
new heading for the TC.


> > http://www.openstack.org/ has a link in the bottom nav that says
> > "Projects"; it points to http://www.openstack.org/projects/ which
> > redirects to http://www.openstack.org/software/ which has a list of
> > things like "Compute" and "Storage" - which as far as I know are
> > Programs, not Projects. I don't know how to update that link in the nav
> > panel.
>
> That's because the same word ("compute") is used for two different
> things: a program name ("Compute") and an "official OpenStack name" for
> a project ("OpenStack Compute a.k.a. Nova"). Basically official
> OpenStack names reduce confusion for newcomers ("What is Nova ?"), but
> they confuse old-timers at some point ("so the Compute program produces
> Nova a.k.a. OpenStack Compute ?").
>

That's confusing to me. I had thought that part of the reason for the
separation was to enable a level of indirection - if the Compute program
team decide that a new project called (for example) SuperNova should be the
main project, that just means that Openstack Compute is now a pointer to a
different project, supported by the same program team.

It sounds like that isn't the intent though?


> > I wasn't around when the original Programs/Projects discussion was
> > happening - which, I suspect, has a lot to do with why I'm confused
> > today - it seems as though people who were around at the time understand
> > the difference, but people who have joined since then are relying on
> > multiple conflicting verbal definitions. I believe, though,
> > that
> http://lists.openstack.org/pipermail/openstack-dev/2013-June/010821.html
> > was one of the earliest starting points of the discussion. That page
> > points at https://wiki.openstack.org/wiki/Projects, which today contains
> > a list of Programs. That page does have a definition of what a Program
> > is, but doesn't explain what a Project is or how they relate to
> > Programs. This page seems to be locked down, so I can't edit it.
>
> https://wiki.openstack.org/wiki/Projects was renamed to
> https://wiki.openstack.org/wiki/Programs with the wiki helpfully leaving
> a redirect behind. So the content you are seeing here is the "Programs"
> wiki page, which is why it doesn't define "projects".
>
> We don't really use the word "project" that much anymore, we prefer to
> talk about code repositories. Programs are teams working on a set of
> code repositories. Some of those code repositories may appear in the
> integrated release.
>

This explanation of the difference between projects and programs sounds
like it would be useful to add to /Programs - but I can't edit that page.

>
> > That page does mention projects, once. The context makes it read, to me,
> > as though a program can follow one process to "become part of OpenStack"
> > and then another process to "become an Integrated project and part of
> > the OpenStack coordinated release" - when my understanding of reality is
> > that the second process applies to Projects, not Programs.
> >
> > I've tried to find any other page that talks about what a Project is and
> > how they relate to Programs, but I haven't been able to find anything.
> > Perhaps there's some definition locked up in a mailing list thread or
> > some TC minutes, but I haven't been able to find it.
> >
> > During the previous megathread, I got the feeling that at least some of
> > the differing viewpoints we saw were possibly down to some people
> > thinking of a PTL as responsible for just one project, while others
> > think of a PTL as being responsible for any projects that might fit
> > within a Program's scope. As we approach the next PTL elections, I think
> > it would be helpful for us to recap the discussions that led to the
> > Program/Project split and make sure our docs are consistent, so that
> > people who weren't following the discussion this time last year can
> > still be clear what they're voting for.
>
> Programs are just acknowledging that code repositories should be
> organized in the way that makes the most sense technically. They should
> not be artificially organized to match our governance structure.
>
> Before programs existed, it was difficult for teams to organize their
> code the way they wanted, because there was only one code repository
> ("The Project"), so everything had to be in it. Then we added an
> exception for the Python client projects, so the Nova team could work on
> the Nova project *and* the Python client for it. But then it made sense
> to organize the code differently, so rather than continuing to add
> exceptions (which you can see traces of at stale page [1]), the easiest
> way to organize that was to just say that a given team could rule a set
> of code repositories, and organize them as they preferred.
>
> So teams, organized around a clear mission statement, could decide which
> code repositories they wanted to organize their code in. We call those
> teams "programs".
>
> [1] https://wiki.openstack.org/wiki/ProjectTypes


I *can* edit that page; I'd like to bring it up-to-date. It seems like a
good basis for explaining the difference between Programs and Projects and
the historical reasons for the split. I'll aim to take a stab at this next
week.


>
>
> --
> Thierry Carrez (ttx)
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140829/9bc09913/attachment-0001.html>


More information about the OpenStack-dev mailing list