On 16/05/16 00:23 -0700, Clint Byrum wrote:
Excerpts from Nikhil Komawar's message of 2016-05-14 17:42:16 -0400:
Hi all,


Lately I have been involved in discussions that have resulted in giving
a wrong idea to the approach I take in operating the (Glance) team(s).
While my approach is consistency, coherency and agility in getting
things done (especially including the short, mid as well as long term
plans), it appears that it wasn't something evident. So, I have decided
to write this email so that I can collectively gather feedback and share
my thoughts on the right(eous) approach.


I find it rather odd that you or anyone believes there is a "right"
approach that would work for over 1500 active developers and 200+
companies.

We can definitely improve upon the aspects of what we have now, by
incremental change or revolution. But I doubt we'll ever have a
community that is "right" for everyone.


Right! To that let's also add we have a bunch of smaller communities within our
OpenStack big tent. Each one of these teams might requires a different approach.

[snip]


We are developing something that is usable, operationally friendly and
that it's easier to contribute & maintain but, many strong influencers
are missing on the most important need for OpenStack -- efficient way of
communication. I think we have the tools and right approach on paper and
we've mandated it in the charter too, but that's not enough to operate
things. Also, many people like to work on the assumption that all the
tools of communication are equivalent or useful and there are no
side-effects of using them ever. I strongly disagree. Please find the
reason below:


I'd be interested to see evidence of anyone believing something close
to that, much less "many people".

I do believe people don't take into account everyone's perspective and
communication style when choosing how to communicate. But we can't really
know all of the ways anything we do in a distributed system affects all
of the parts. We can reason about it, and I think you've done a fine job
of reasoning through some of the points. But you can't know, nor can I,
and I don't think anyone is laboring under the illusion that they can
know this.

This is a good point and I believe it may explode into several smaller
discussions. I'll try to light the bomb:

- We used to be a community that assumed good faith about people, proposals,
 etc. Have I been genuine enough to believe this is still true? I certainly
 work under this *assumption* unless I things stink really bad and even then,
 I'd try to work around the issue without unecessary finger-pointing.

- We've always been a multi-cultural community company-wise, tz-wise,
 culturally-wise, language-wise, etc. These is super hard to coordinate and
 finding a right solution for everyone is even harder. For example, depending
 the communication medium you might have a bad/good impact on non-native
 English speakers. Spending enough time understanding people's perspective is
 critical to avoid the frustration of non-native English speakers. Asking dumb
 questions that translate to "I don't get your English" when things are utterly
 clear doesn't help, really.

- Is picking the communication tool based on people's preferences rather than
 based on the technical issue they are meant to solve the right thing to do?
 I'm sorry if this is missing part of your point but I believe each one of the
 tools we have are meant to ease specific communication issues for specific
 cases. That is to say, I agree not all mediums are equivalent but I do think
 there must be a preferred medium for "whenever you don't know where to send
 $X". To me, that's the ML.


[snip]

[1] https://en.wikipedia.org/wiki/Conway's_law


* So, what can be the blocker?

Nothing, but working with these assumptions is really the blocker. That
is exactly why many people in their feedback say we have a "people
problem" in OpenStack. But it's not really the people problem, it is the
assumption problem.

Assumptions are very very bad:

With 'n' problems in a domain and 'm' people working on all those
problems, individually, we have the assumption problem of the order of
O((m*e)^n) where you can think of 'e' as the convergence factor.
Convergence factor being the ability of a group to come to an agreement
of the order of 'agree to agree', 'agree to disagree' (add percentages
to each for more granularity). There is also another assumption (for the
convergence factor) that everyone wants to work in the best interest of
solving the problems in that domain.



rAmen brother. We can't assume to know the motivations of anyone, though
we can at least decide how much to trust what people say. So if they say
that they're interested in solving the problems in a domain, I certainly
will give them space to prove that right or wrong.

Ok, let me see if I can put this in a way it doesn't sound bad. Bear with me.

Sometimes, when it comes to keeping communications healthy/going in
multi-cultural communities, it's better to have a bit of "assumption". Depending
on the problem's space, topic, etc, it might be healthier to assume some things
on specific points than keep poking with the same questions (structured
differently) which just end up frustrating folks. I guess my point is, there's a
time and space for every discussion/question. Unfortunately, I believe we don't
spend enough time understanding this and we as well sometimes disagree on what's
the right time/space to discuss things.

Hope the above makes (some) sense. As a general thing, I prefer to assume good
faith, it truly makes my life simpler.

[snip]

* Also, one very important thing that I keep hearing: "I do not like
that" without any other information, as an argument to disregard
technical proposals. I think it is very disruptive and irrational way to
express arguments. We are not buying flowers in OpenStack, we need to
keep rationality in check when we express our opinions. It reduces
convergence factor and increases dubiety among the developers &
reviewers. Then we have a ecosystem where people do not understand why
we do things the way we do it. We should not stop businesses just
because someone doesn't like something, please no. Lack of rationale can
actually do that.



+1! Qualify or quantify your objections, but please don't just give us
your unfiltered opinions.

++

[snip]

As a counterpoint, I think we mostly need more understanding of our
distributed nature, and to let go of the idea that we can control any
of it. To anyone involved I say: Wield your influence, and measure your
success, but don't expect 1500 people to do what you tell them to do,
because they might just have 1500 different ideas of what you actually
meant.

This! This! and again, THIS!

Thank y'all,
Flavio

--
@flaper87
Flavio Percoco

Attachment: signature.asc
Description: PGP signature

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to