[openstack-dev] [all][tc] How to deal with confusion around "hosted projects"

Monty Taylor mordred at inaugust.com
Wed Jun 28 21:50:22 UTC 2017

On 06/28/2017 09:50 AM, Thierry Carrez wrote:
> Hi everyone,
> Two weeks ago, as a result of a discussion at the Board+TC+UC workgroup
> working on "better communicating what is openstack", I started a
> thread[1] about moving away from big tent terminology. The thread went
> in a lot of directions, including discussing GitHub mirroring strategy,
> what makes projects want to be official, the need for returning to a
> past when everything was (supposedly) simpler, and naming fun.
> [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118368.html
> Many agreed that the "Big Tent" name (as a synonym to "official
> openstack projects") is hurting more than it helps, and we should stop
> using it. The issue is, merely stopping using it won't be enough. We
> have tried, and the name sticks. You need to replace the name by
> something that sticks more, or address the root cause directly.
> The central issue being discussed here is an issue of external
> perception. It's hard for newcomers to the OpenStack world to see what
> is a part of OpenStack and what's not. If you google "openstack machine
> learning", the first hits are Cognitive and Meteos, and it's impossible
> to tell that those are actually not OpenStack projects. One of those has
> been dead for 2 years -- having people think that those are official
> projects hurts all the OpenStack projects, by lowering expectations
> around what that means, in terms of quality, maintenance, or community.
> The confusion mainly stems from the fact that OpenStack project
> infrastructure is open to any open source project (and it's nobody's job
> to clean up dead things). So you can find (on our wiki, on our
> mailing-list, on our cgit farm, on our gerrit, on our GitHub
> organization...) things that are actually not OpenStack, even with the
> expansive "are you one of us" definition. Arguably the most confusing
> aspect is the "openstack/" prefix in the git repository name, which
> indicates some kind of brand association.
> I'd say we have two options. We can address the perception issue on the
> edges, or you can treat the root cause. Neither of those options is
> really an OpenStack  governance change (or "big tent" change) -- they
> are more about what to do with things that are actually *not* in our
> governance.
> Addressing the perception on the edges means making it clearer when
> things are not official. The thread above discussed a lot of potential
> solutions. We could give unofficial things a catchy group name
> (Stackforge, Opium, Electrons...), and hope it sticks. We could find a
> way to tag all projects on GitHub that are not official, or mirror them
> to another organization, or stop mirroring them altogether. We could
> remove the openstack/ prefix from all the projects we host. We could
> actively mark all wiki pages that are not about an official project. We
> could set up a separate Gerrit or separate ML for hosted projects
> development discussions. The main issue with that approach is that it's
> a *lot* of work, and it never completely eliminates the confusion.
> Removing the root cause would be a more radical move: stop offering
> hosting to non-OpenStack projects on OpenStack infrastructure
> altogether. We originally did that for a reason, though. The benefits of
> offering that service are:

I disagree that this is removing the root cause.

I believe this is reacting to a misunderstanding by hiding from it. I do 
not believe that doing this provides any value to us as a community.

Even though we do not actually use github for development, we have 
implicitly accepted the false premise that github is a requirement. It 
is suggested that the existence of git repos in the openstack/ github 
org is confusing to people. And our reaction to that is to cut off 
access to our Open Source tools that we set up to collaboratively 
develop cloud software and tell people to go use the thing that people 
suggest is one of the causes of people being confused?

* People are not 'confused' by what OpenStack is.

Being "confused" is a passive-aggressive way of expressing that they 
DISAGREE with what OpenStack is. We still have _plenty_ of people who 
express that they think we should only be IaaS - so they're still going 
to be unhappy with cloudkitty, congress and karbor.

Such people are under the misguided impression that kicking cloudkitty 
out of OpenStack will somehow cause Nova features to land quicker. I 
can't even begin to express all of the ways in which it's wrong. We 
aren't a top-down corporate structure and we can't 'reassign' humans - 
but even if we WERE - this flawed thinking runs afoul of the Mythical 
Man Month.

* Kicking non-official things out will not help

If I'm wrong about the above and it really is all just about not being 
able to navigate a set of repositories that are prefixed with the string 
'openstack/', it STILL WON'T HELP.

There are 1049 official repos. There are only 1676 repos in gerrit.

Do we honestly think that people who are confused are going to be less 
confused by the number of repos in the sacred 'openstack/' namespace 
going from 1676 to 1049? Do we next tell projects they can only have 
their primary service managed? Kick out chef, puppet, juju and ansible, 
as well as the deb- repos? Because maybe the existence of
openstack/deb-python-oslo.privsep is confusing someone?

Guess what? We're big. Software is hard. Life doesn't fit into neat 
packages people want it to fit in to.

> 1- it lets us set up code repositories and testing infrastructure before
> a project applies to be an official OpenStack project.
> 2- it lets us host things that are not openstack but which we work on
> (like abandoned Python libraries or GPL-licensed things) in a familiar
> environment
> 3- it spreads "the openstack way" (Gerrit, Zuul) beyond openstack itself
> I would argue that we could handle (1) and (2) within our current
> governance.
> For (1) we could have an "onboarding" project team that would help
> incoming projects through the initial steps of becoming an openstack
> project. The team would act as an umbrella team, an experimental area
> for projects that have some potential to become an OpenStack project one
> day. There would be a time limit -- if after one year(?) it looks like
> you won't become an openstack project after all, the onboarding team
> would clean you up. I actually think a bit more project mentoring would
> serve us better than our current hands-free approach.
> For (2) we could also have some other official project team as an
> umbrella for those deps we depend on and have to continue maintaining.
> Or we could expand Oslo's team scope to cover it. It's just a couple of
> repositories anyway.
> That leaves (3). I would argue that was a nice thing to have, but its
> impact was very limited (not so many successful/alive projects in that
> category). I guess if the need is still there and people really want to
> work on this, it could be (and actually has been) set up as a parallel
> infrastructure. The confusion that stems from running it on top of the
> very same infrastructure is just too costly for us at this point.
> This radical solution still means work, but it's one-time governance
> work, rather than infra changes / continuous curation work. It *is*
> radical though, especially for the affected git repositories (for which
> we often don't have any contact email). It will also make removing
> projects a lot more difficult (as there will be consequences in terms of
> project hosting).

The work to do this provides absolutely no benefit.

> Thoughts on that ? Would you rather address the confusion at the edges,
> or remove the root cause ?

The only reasonable action is actually addressing the confusion.

the confusion isn't just at the edges - the confusion is actually THE 
ONLY PROBLEM. There is no other problem that needs to be solved _other_ 
than confusion in this area. The number of projects in gerrit is not a 
technical problem. It's not overwhelming our governance. It's not a 
problem for anyone who isn't confused (or saying they're confused when 
they just disagree)

If we create problems for any our developers because there are people 
who are confused rather than addressing the confusion, we will have 
abdicated our responsibilities wholesale.


More information about the OpenStack-dev mailing list