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

Reply via email to