[openstack-dev] [all][tc][ptl] establishing project-wide goals

John Dickinson me at not.mn
Fri Aug 12 23:04:42 UTC 2016

On 12 Aug 2016, at 13:31, Doug Hellmann wrote:

> Excerpts from John Dickinson's message of 2016-08-12 13:02:59 -0700:
>> On 12 Aug 2016, at 7:28, Doug Hellmann wrote:
>>> Excerpts from John Dickinson's message of 2016-08-11 15:00:56 -0700:
>>>> On 10 Aug 2016, at 8:29, Doug Hellmann wrote:
>>>>> Excerpts from Doug Hellmann's message of 2016-07-29 16:55:22 -0400:
>>>>>> 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"
>>>>> The proposal was discussed at the TC meeting yesterday [4], and
>>>>> left open to give more time to comment. I've added all of the PTLs
>>>>> for big tent projects as reviewers on the process patch [1] to
>>>>> encourage comments from them.
>>>>> Please also look at the associated patches with the specific goals
>>>>> for this cycle (python 3.5 support and cleaning up Oslo incubated
>>>>> code).  So far most of the discussion has focused on the process,
>>>>> but we need folks to think about the specific things they're going
>>>>> to be asked to do during Ocata as well.
>>>>> Doug
>>>>> [4] http://eavesdrop.openstack.org/meetings/tc/2016/tc.2016-08-09-20.01.log.html
>>>>> __________________________________________________________________________
>>>>> OpenStack Development Mailing List (not for usage questions)
>>>>> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>> Commonality in goals and vision is what unites any community. I
>>>> definitely support the TC's effort to define these goals for OpenStack
>>>> and to champion them. However, I have a few concerns about the process
>>>> that has been proposed.
>>>> I'm concerned with the mandate that all projects must prioritize these
>>>> goals above all other work. Thinking about this from the perspective of
>>>> the employers of OpenStack contributors, and I'm finding it difficult
>>>> to imagine them (particularly smaller ones) getting behind this
>>>> prioritization mandate. For example, if I've got a user or deployer
>>>> issue that requires an upstream change, am I to prioritize Py35
>>>> compatibility over "broken in production"? Am I now to schedule my own
>>>> work on known bugs or missing features only after these goals have
>>>> been met? Is that what I should ask other community members to do too?
>>> There is a difference between priority and urgency. Clearly "broken
>>> in production" is more urgent than other planned work. It's less
>>> clear that, over the span of an entire 6 month release cycle, one
>>> production outage is the most important thing the team would have
>>> worked on.
>>> The point of the current wording is to make it clear that because these
>>> are goals coming from the entire community, teams are expected to place
>>> a high priority on completing them. In some cases that may mean
>>> working on community goals instead of working on internal team goals. We
>>> all face this tension all the time, so that's nothing new.
>> It's not an issue of choosing to work on community goals. It's an
>> issue of prioritizing these over things that affect current production
>> deployments and things that are needed to increase adoption.
>>>> I agree with Hongbin Lu's comments that the resulting goals might fit
>>>> into the interests of the majority but fundamentally violate the
>>>> interests of a minority of project teams. As an example, should the TC
>>>> decide that a future goal is for projects to implement a particular
>>>> API-WG document, that may be good for several projects, but it might
>>>> not be possible or advisable for others.
>>> Again, the goals are not coming from the TC, they are coming from the
>>> entire community. There will be discussion sessions, mailing list
>>> threads, experimentation, etc. before any goal is settled on. By the
>>> time the goals for a given cycle are picked, everyone will have had a
>>> chance to give input. That's why I'm starting this conversation now, so
>>> far in advance of the summit.
>> This is good, and the importance and difficulty of this is not lost on
>> me. I'm very glad you've included community feedback as part of the
>> process.
>> But if a project is on the minority side of the resulting concensus,
>> how do we protect that project from being negatively affected? Even if
>> there are good reasons at the time for a project to not support a
>> goal, that dissent can come back against the project negatively, even
>> years down the road after those who dissented have left. I know this
>> from experience.
>>> As far as not implementing a goal, if a team has a reason they feel a
>>> goal does not fit with their project, then they should document that in
>>> their response. That's part of the proposed process.
>>>> I know the TC has no malicious intent here, and I do support the idea
>>>> of having cross-project goals. The first goals proposed seem like
>>>> great goals.  And I understand the significant challenges of
>>>> coordinating goals between a multitude of different projects. However,
>>>> I haven't yet added my own +1 to the proposed goals because the
>>>> current process means that I am committing that every Swift project
>>>> team contributor is now to prioritize that work above all else, no
>>>> matter what is happening to their customers, their products, or their
>>>> communities.
>>> No, that's not what you're doing at all. You're saying that the
>>> team, as a whole, will address the goal. That does not necessarily
>>> mean every team member will be involved in it, any more than they
>>> are all directly and intimately involved in every other task the
>>> team takes on over the course of a cycle. But it does mean that
>>> someone will sign up to do the work, and the team agrees to do
>>> reviews or over whatever other help is needed to see it through.
>>> And if a goal is completely outside the bounds of what the team can
>>> agree to, then you are agreeing to document that in a sufficient
>>> detail that the rest of the community, who asked for the goal, can
>>> understand why, and then you move on.
>> Let's take the example of py35 support. First, remember that I
>> definitely support moving to py35.
>> I've never once seen anyone stop using Swift or choose to not use Swift
>> because Swift doesn't support py35. While getting py35 support is
>> good, and it should be done, doing that does nothing to help increase
>> user adoption. On the other hand, I know many people who have chosen
>> not to use Swift (or not to use it yet) because of a missing feature
>> or a because of a bug or a lack of some optimization. These are the
>> things I have previously prioritized over py35 compatibility.
>> In an open source project we can set priorities and hope, but we can
>> never promise a deliverable at a certain time with a certain feature
>> in it. Any person can say, "No. You don't pay me, and I don't have to
>> do what you think is most important." Our response to this as
>> community leaders must not be "there's the door" and chase people
>> away. Instead our response must be to reassess our own priorities.
>> Of course, you hope to never get to the point where community members
>> are saying "no". That's why there's the feedback and sharing part
>> before setting goals. However, the phrasing from the TC in response to
>> concerns with this proposal seems to be "if you don't agree to and
>> implement the goals, then you just might not belong in OpenStack."
>> This troubles me.
> Please go re-read the history of this thread and the comments on
> the patch. This isn't about showing anyone the door or kicking
> projects out of the big tent. I'm not going to repeat all of the
> previous assurances about that here, yet again.

This is what I saw in the review:

Hongbin Lu: the word "acknowledgement" seems to suggest that
  individual project team are forced to accept everything, regardless of
  the their willingness.

Doug: You have interpreted the wording exactly correctly.

Hongbin Lu: Again, I wish there are more democracy. In particular, the
  process of defining and approving individual goal should reach
  consensus of all the project teams, not just the TC. I demand that
  because some goals might fit into the interests of majority but
  fundamentally violate the interests of one or two project teams. It is
  not fair to approve some goals that satisfies the majority by
  sacrificing the minority.

Doug: Making it a directly-democratic decision in which everyone gets
  an individual vote is impractical.

Hongbin Lu: However, with respect, I fundamentally disagree with this
  proposal, although I tried to suggest somethings to fix it. I think
  the main problem of this proposal is that individual team doesn't have
  a way to defend their interests when an adverse goal is imposed from
  external parties via TC.

Doug: I'm concerned that you think projects need to "defend their
  interests" from what is intended to be a community-wide goal.

Doug: There's an unhealthy obsession with "consequences" in this
  discussion. We expect everyone to do these things. We don't expect it
  to be a big issue...Refusing to meet goals over a period of time
  establishes a pattern that maybe a project doesn't really want to be
  part of the common community.

>> As open-source project leaders, we don't tell our community what to
>> do; we tell the broader ecosystem what our communities are doing.
> This is a complete mischaracterization of this initiative.
> The point of this process is to identify things that our community is
> asking us to do that we are not doing, and to encourage project teams to
> focus on those things. I have no doubt that teams are aware of what
> their current, immediate, users are looking for. But we also need to be
> aware of those things that affect all of openstack, and not just an
> individual team. We need to collaborate as a community, and not limit
> ourselves to the narrow vision of one product team.

Yes! Let's do the things users are asking us to work on, and encourage project
teams to work together on them!

And like you, I do not want to have one project dictate what all the other projects
should prioritize. (Or rather, a majority impose on a minority.) Since there is such
a large and diverse community inside of OpenStack, let's not try to dictate a
prioritization and due date.

The proposed plan has a lot of good in it, and I'm really happy to see the TC
working to bring common goals and vision to the entirety of the OpenStack
community. Drop the "project teams are expected to prioritize these goals above
all other work", and my concerns evaporate. I'd be happy to agree to that proposal.


> Doug
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160812/61a368f8/attachment.pgp>

More information about the OpenStack-dev mailing list