On Thu, Aug 28, 2014 at 10:40 PM, Thierry Carrez <thie...@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@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev