[openstack-dev] The future of Incubation and Core
Gabriel Hurley
Gabriel.Hurley at nebula.com
Wed Nov 7 19:47:49 UTC 2012
We need to step back for a minute and question the supposition that a "non-core but blessed by OpenStack" category is benefical. I don't believe it is.
There are serious implications to creating a space which is not core but is blessed by the foundation/TC. It sends mixed messages to the community and has a significant impact on the ecosystem. All the concerns the TC has about crushing ecosystem competition when debating incubation apply just as much to creating a second "non-core" space.
There should be Core, and then there should be a thriving community which is supported equally by the foundation. Nothing in between. We can't play favorites there.
I also think we're placing too much weight on the value of CI infrastructure and release management. Projects have been doing that for themselves forever and there's lots of free (or nearly free) services for Open Source projects readily available.
Ultimately making another category is just a way to dodge the hard issue of what is truly core. Whether core is Iaas or a viable cloud at all levels of the stack... that's the real debate here.
I agree (even at peril to my own project's status) that Horizon (currently core), Ceilometer (currently incubated) and Heat (incubated largely by a plurality of abstentions) fall above the realm of IaaS. However I think that Core would be excruciatingly lacking without the inclusion of higher-layer projects for two main reasons:
1. Higher-layer projects are the only check on the unity of the "core" projects. Projects that span the APIs of Nova, Glance, Swift and Quantum are the ones that discover the pain points. They're the ones that can work towards OpenStack feeling cohesive. Without those OpenStack is just a trademark and a bunch of arbitrary code.
2. Higher-layer projects (particularly Horizon) improve the discoverability, usability and visibility of OpenStack. At this point most new users considering OpenStack experience Horizon first. When people want to demo OpenStack's functionalities, they use Horizon. That's quite telling. Humans are inherently visual creatures and the majority of the future users of "cloud" are not the type who want arcane CLIs. Folks from Amazon, Rackspace and any other cloud provider will tell you that services experience a huge increase in usage when they integrate into the dashboard. Losing that from Core benefits nobody.
As a final argument, let me flip things the other way and suppose that Horizon was designated a "supported" project. If that entails the arduous Gerrit review process and having to clear major decisions with the broader community rather than just letting my team keep building great things... that's enough of a disincentive that I'd rather not be "supported". I'll go build something autonomously, promote it aggressively, make it dead-simple to install, and if it's cool people will use it. People will use it in spite of a core component if it's better in every metric.
Long story short, I don't see value in creating another category; I think we need to fundamentally define Core, let things be in or out, and then devote the foundation's resources to supporting the *entire* ecosystem, not just a handful of projects.
- Gabriel
From: Doug Hellmann [mailto:doug.hellmann at dreamhost.com]
Sent: Wednesday, November 07, 2012 10:45 AM
To: OpenStack Development Mailing List
Subject: Re: [openstack-dev] The future of Incubation and Core
On Wed, Nov 7, 2012 at 12:13 PM, Russell Bryant <rbryant at redhat.com<mailto:rbryant at redhat.com>> wrote:
On 11/07/2012 12:04 PM, Doug Hellmann wrote:
>
>
> On Wed, Nov 7, 2012 at 11:40 AM, Thierry Carrez <thierry at openstack.org<mailto:thierry at openstack.org>
> <mailto:thierry at openstack.org<mailto:thierry at openstack.org>>> wrote:
>
> Hi everyone,
>
> Incubation is currently an OpenStack project status that grants a
> promising project more access to OpenStack shared resources, especially
> in the CI, release management and QA space. That status lets the
> promising project prove that it is ready to join other official
> OpenStack core projects for the next full development cycle.
>
> In the past governance the Project Policy Board was the only decider on
> Incubation and Core inclusion. With the new governance, the Technical
> Committee is still the only decider on Incubation status and still
> proposes projects for Core inclusion, but the Board of Directors has the
> possibility to veto that Core inclusion.
>
> This creates an awkward process where a project could go all the way
> through Incubation and be denied Core inclusion at the end of that
> process, basically wasting OpenStack resources. We need to evolve the
> Incubation process so that the question of whether a project belongs in
> "Core" is fully resolved as early as possible. And define how a project
> can enter, grow or exit the incubation process.
>
> This also raises the question of whether "Core" should really be the
> only destination of an Incubated project. Which triggers the very
> question of what OpenStack Core actually is. For some it's the
> collection of OpenStack projects that work well and complement each
> other, for others Core should only include the IaaS pieces, for others
> they should represent the bare minimum you need to implement to be able
> to be called an "OpenStack Cloud"...
>
>
> It would be healthy to allow the scope of projects managed by the
> foundation to evolve over time to be broader than IaaS components. If we
> need to define "OpenStack Cloud" for brand management, we should be
> thinking about it at the different levels of the stack. There could be a
> separate set of "core" projects for IaaS and PaaS, for example.
I agree that I'd like to see the project overall be inclusive instead of
exclusive.
> Once "Core" is defined we can evaluate the need for a category that
> would still be in "OpenStack" but not have the "Core" label on it.
> Incubation could then lead two ways.
>
>
> It seems like we want a "supported" category for projects the TC feels
> are worth spending foundation resources on but the BoD does not want to
> include in "core" and require that deployers use them to be able to
> claim they are an "OpenStack Cloud" as you mention above. So projects
> would start out in the community, move to "incubated" and then to
> "supported" after the incubation period is up. They could apply
> separately for "core" status, after being declared "supported" by the TC.
This seems to be the crux of the issue. If the OpenStack mark is going
to be wrapped up in what "core" is, then I think it seems fine to keep
it very limited, and perhaps to minimal IaaS components, but *only* if
we have a place for everything else that is a positive addition to go.
A new category like "supported" seems like a great idea to me.
My gut feeling of where the line would be is that Heat, Ceilometer, and
Horizon would all be in this new category, while everything else would
remain the core.
That makes sense to me.
Doug
--
Russell Bryant
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto: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/20121107/1767300c/attachment.html>
More information about the OpenStack-dev
mailing list