[openstack-dev] [tc] campaign question: How should we handle projects with overlapping feature sets?
Zane Bitter
zbitter at redhat.com
Mon Apr 23 16:49:01 UTC 2018
On 23/04/18 09:50, Doug Hellmann wrote:
> [This is meant to be one of (I hope) several conversation-provoking
> questions directed at prospective TC members to help the community
> understand their positions before considering how to vote in the
> ongoing election.]
>
> In the course of evaluating new projects that have asked to join
> as official members of the OpenStack community, we often discuss
> whether the feature set of the project overlaps too much with other
> existing projects. This came up within the last year during Glare's
> application, and more recently as part of the Adjutant application.
>
> Our current policy regarding Open Development is that a project
> should cooperate with existing projects "rather than gratuitously
> competing or reinventing the wheel." [1] The flexibility provided
> by the use of the term "gratuitously" has allowed us to support
> multiple solutions in the deployment and telemetry problem spaces.
> At the same time it has left us with questions about how (and
> whether) the community would be able to replace the implementation
> of any given component with a new set of technologies by "starting
> from scratch".
>
> Where do you draw the line at "gratuitous"?
I'd want to see sound technical reasons for taking a different approach
that addresses, or partially addresses, the same problem. If people are
starting their own projects to avoid having to work with the existing
team then I'd label that gratuitous.
Evidence of co-operation with the existing project, and the provision of
migration paths for existing operators and users, would be points in
favour of a project wanting to go down this route.
> What benefits and drawbacks do you see in supporting multiple tools
> with similar features?
>
> How would our community be different, in positive and negative ways,
> if we were more strict about avoiding such overlap?
We used to have that rule, of course, and the primary result was that
some folks who were for all intents and purposes part of our community
got left out in the cold, officially speaking, only because some other
folks got there first. I don't think it even contributed much to
interoperability - Monasca is the project that comes to mind, and people
who wanted to run that instead of Ceilometer did so regardless of the
official status.
On the other hand, the Telemetry projects have completely transformed
themselves since the days when people used to complain about the
scalability of Ceilometer, and they did so while maintaining an orderly
deprecation and migration of the APIs. Perhaps if if we'd doubled down
on that path we'd have ended up with less fragmentation for the same
benefit?
It's really hard to say, and I think that is perhaps the point. None of
us have all that much confidence in our ability to predict the future,
so we have chosen to err on the side of not picking winners.
cheers,
Zane.
More information about the OpenStack-dev
mailing list