[tc] Project repository namespaces

Doug Hellmann doug at doughellmann.com
Tue Mar 19 12:13:56 UTC 2019



> On Mar 19, 2019, at 5:45 AM, Thierry Carrez <thierry at openstack.org> wrote:
> 
> Jim Rollenhagen wrote:
>> [...]
>> 2) Move unofficial projects to "stackforge" or some other namespace, which is
>>    only a small amount of work to list the repositories, but probably a large
>>    amount of bikeshedding^Wdiscussion to come up with a name.
>> 3) Do (2), but also namespace the OpenStack projects in a more fine-grained
>>    manner, by project team. For example: nova/nova, ironic/bifrost, etc.
>>    This is a larger chunk of work, but looks a bit nicer. Also makes it easier
>>    to move a project out of OpenStack later, as we don't have to move
>>    namespaces. This has an open question of whether we use one large namespace
>>    for unofficial projects, or give them each their own. It also has a downside
>>    of making more effort to move a repository between project teams, though
>>    I think that's fairly rare.
> 
> IMHO the key difference between (2) and (3) is that it will be much harder to see which projects are part of OpenStack with (3).
> 
> Historically we've seen a lot of confusion with a single "openstack/" namespace, with things claiming to be OpenStack projects while not being produced by the OpenStack community under the 4 opens.
> 
> The move to opendev gives us an opportunity to move things that are not OpenStack out of the "openstack/" namespace, into their own namespaces. But if at the same time we also move OpenStack components into their own project-level namespaces, then the confusion as to what is a part of openstack and what is not will stay.
> 
> So between (2) and (3) I'd really prefer if we did (2).
> 
>> 4) ??
> 
> I'd propose this:
> 
> 4) Create several namespaces to match the OpenStack map[1] buckets:
> 
> - openstack/ to hold first-level components in the central box
> - openstack-operations/ to hold operational tooling from the rights box
> - openstack-lifecyclemanagement/ to hold deployment recipes
> - openstack-user/ for SDK and CLI
> - openstack-adjacentenablers/ for adjacent tech bridges
> 
> Plus:
> - openstack-libs/ to hold libraries and second-order dependencies
> - openstack-dev/ for all repositories that we end up creating in order to get things done but have otherwise no relationship with the end product
> 
> [1] https://openstack.org/openstack-map
> 
> 
> Of those 3 options, (2) is a community-oriented view (openstack or not openstack), (3) is a developer-oriented view (organized by project teams, which really only matter to developers), and (4) is a user-oriented view (organized by what users are looking for).
> 
> My preference would be (4), otherwise (2).
> 
> -- 
> Thierry Carrez (ttx)
> 

You make excellent points. I agree. 

Doug





More information about the openstack-discuss mailing list