On 08/01/2016 08:33 AM, Sean Dague wrote:
On 07/29/2016 04:55 PM, Doug Hellmann wrote:
One of the outcomes of the discussion at the leadership training
session earlier this year was the idea that the TC should set some
community-wide goals for accomplishing specific technical tasks to
get the projects synced up and moving in the same direction.
After several drafts via etherpad and input from other TC and SWG
members, I've prepared the change for the governance repo [1] and
am ready to open this discussion up to the broader community. Please
read through the patch carefully, especially the "goals/index.rst"
document which tries to lay out the expectations for what makes a
good goal for this purpose and for how teams are meant to approach
working on these goals.
I've also prepared two patches proposing specific goals for Ocata
[2][3]. I've tried to keep these suggested goals for the first
iteration limited to "finish what we've started" type items, so
they are small and straightforward enough to be able to be completed.
That will let us experiment with the process of managing goals this
time around, and set us up for discussions that may need to happen
at the Ocata summit about implementation.
For future cycles, we can iterate on making the goals "harder", and
collecting suggestions for goals from the community during the forum
discussions that will happen at summits starting in Boston.
Doug
[1] https://review.openstack.org/349068 describe a process for managing
community-wide goals
[2] https://review.openstack.org/349069 add ocata goal "support python 3.5"
[3] https://review.openstack.org/349070 add ocata goal "switch to oslo
libraries"
I like the direction this is headed. And I think for the test items, it
works pretty well.
I commented on the reviews, but I disagree with both the direction and
the proposed implementation of this.
In short, I think there's too much stick and not enough carrot. We
should create natural incentives for projects to achieve desired
alignment in certain areas, but placing mandates on project teams in a
diverse community like OpenStack is not useful.
The consequences of a project team *not* meeting these proposed mandates
has yet to be decided (and I made that point on the governance patch
review). But let's say that the consequences are that a project is
removed from the OpenStack big tent if they fail to complete these
"shared objectives".
What will we do when Swift decides that they have no intention of using
oslo.messaging or oslo.config because they can't stand fundamentals
about those libraries? Are we going to kick Swift, a founding project of
OpenStack, out of the OpenStack big tent?
Likewise, what if the Manila project team decides they aren't interested
in supporting Python 3.5 or a particular greenlet library du jour that
has been mandated upon them? Is the only filesystem-as-a-service project
going to be booted from the tent?
When it comes to the internal implementation of projects, my strong
belief is that we should let the project teams be laboratories of
innovation and avoid placing mandates on them.
Let projects choose from a set of vetted options for important libraries
or frameworks and allow a project to pave its own road if the project
team can justify a reason for that which outweighs any vetted choice
(Zaqar's choice to use Falcon fits this kind of thing).
Finally, instead of these shared OpenStack-wide goals being a different
stick-thing for the TC to use, why not just make tags that projects can
*choose* to pursue, therefore building in the incentive (as opposed to
the punishment) to align with a direction the TC feels is a good one.
You could have tags like:
supports:python-3.5
or
supports:oslo-only
or things like that. Project teams could then endeavour to achieve said
tags if they feel that such a tag absolutely aligns with the team's goals.
Just my two cents,
-jay
I'm trying to think about how we'd use a model like this to support
something a little more abstract such as making upgrades easier. Where
we've got a few things that we know get in the way (policy in files,
rootwrap rules, paste ini changes), as well as validation, as well as
configuration changes. And what it looks like for persistently important
items which are going to take more than a cycle to get through.
Definitely seems worth giving it a shot on the current set of items, and
see how it fleshes out.
My only concern at this point is it seems like we're building nested
data structures that people are going to want to parse into some kind of
visualization in RST, which is a sub optimal parsing format. If we know
that people want to parse this in advance, yamling it up might be in
order. Because this mostly looks like it would reduce to one of those
green/yellow/red checker boards by project and task.
-Sean
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev