[tc] [all] Please help verify the role of the TC
Zane Bitter
zbitter at redhat.com
Fri Jan 18 06:56:16 UTC 2019
On 16/01/19 4:30 AM, Jeremy Stanley wrote:
> On 2019-01-15 11:01:09 +0000 (+0000), Chris Dent wrote:
> [...]
>> Then I implied that the TC cannot do anything like actionable and
>> unified technical leadership because they have little to no real
>> executive power and what power they do have (for example, trying to
>> make openstack-wide goals) is in conflict (because of the limits of
>> time and space) with the goals that PTLs (and others) are trying to
>> enact.
> [...]
>
> Maybe I'm reading between the lines too much, but are you thinking
> that PTLs have any more executive power than TC members? At least my
> experience as a former PTL and discussions I've had with other PTLs
> suggest that the position is more to do with surfacing information
> about what the team is working on and helping coordinate efforts,
> not deciding what the team will work on. PTLs (and TC members, and
> anyone in the community for that matter) can direct where they spend
> their own time, and can also suggest to others where time might be
> better spent, but other than the ability to prevent work from being
> accepted (for example, by removing core reviewers who review
> non-priority changes) there's not really much "executive power"
> wielded by a PTL to decide on a project's direction, only influence
> (usually influence gained by seeking consensus and not attempting to
> assert team direction by fiat decree).
This seems like a good lead in to the feedback I have on the current
role-of-the-TC document (which I already touched on in the review:
https://review.openstack.org/622400). This discussion (which we've had
many times in many forms) always drives me bananas, and here's why:
It is *NOT* about "executive power"!
Think of it this way. If you drop a bunch of humans in a field in the
middle of nowhere, the chances of them arriving together at some
destination - any destination! - are approximately zero in the absence
of some co-ordination. This is true even if you assume they all have the
same destination in mind, which is already pretty unlikely.
The minimum requirements for success would appear to be:
1) One or more people to stand up and say "I think we should go this
way" and explain why;
2) A reason for each person to expect that everybody else is going to go
in the same direction; and
3) When the going gets tough, a sense within each individual that they
were part of making the decisions, even when they don't agree with them.
In short: leadership.
But not "executive power"! In fact, executive power is to be avoided,
because exercise of executive power is inimical to #3.
Where the action is at is #2. Generating #2 is the meatspace equivalent
of the Byzantine Generals problem in computer science. It's a hard
problem, but a problem to which we have instinctively known the solution
for a long time (long before it was solved in computer science, even
though it's essentially the same solution): you somehow bootstrap a
positive feedback loop in which confidence begets confidence.
In OpenStack we choose to bootstrap it by using elections. People
generally expect other people to follow the elected leaders because they
believe that those other people voted for them, which at least in the
aggregate is true. Other projects have chosen the BDFL model, which is
inherently unsustainable as I believe the recent experiences of the
Python community have shown. I think we made the right choice.
But, having elected a group of folks to the TC - the only body that is
elected by the community as a whole, and therefore the only folks that
can set the direction of the project as a whole - what do we then say?
"Well, we can't tell anybody what to do, so we have no choice but to
just leave 'em in this field and hope for the best."
Friends, I have feelings about this, but propriety precludes me from
expressing them fully here. You're welcome to ask me about it some time.
Suffice it to say that I believe this is a false dichotomy.
Note that we don't need the TC to supply #1. But nobody else can supply
#2. For these purposes you can think of "governance" - the stuff that
the TC does consistently do - as being the guardian of the process that
ensures #3.
The false dichotomy does not appear to exist at the level of individual
projects, and IMHO the result is kind of what you'd expect: a bunch of
projects that are individually successful but that struggle to cohere
together.
Positive feedback loops are a funny thing: they're inherently unstable,
so sometimes it doesn't take much to make them runaway in the wrong
direction. Confidence begets confidence, but disappointment begets
disappointment. (That's why e.g. I'm opposed to project-wide goals where
we expect from the outset at least one project to fail to complete it in
a single release cycle.) It is to this - the fact that the TC does not
have a great track record of convincing the community to all move in one
direction - that I would attribute the substantial group of people who
are, as Chris says, simply tired of this sort of navel-gazing. I'm sure
those folks would say that we should just stop trying. I think the
actual solution is to start succeeding. It remains to be seen who is right.
cheers,
Zane.
More information about the openstack-discuss
mailing list