[Zope-dev] the Zope Framework project
Martin Aspeli
optilude+lists at gmail.com
Tue Mar 3 03:21:15 EST 2009
Lennart Regebro wrote:
>> I'm talking about a group of people who act as if they're responsible,
>> not your mythical committee. We should be able to find a bunch of people
>> with a sense of responsibility, right?
>
> Yes. But I don't think making them a steering group is going to help.
Just to take some experience from Plone again: sometimes it's *very*
useful to have someone (be that one or more persons) with some
legitimacy and responsibility, for two reasons:
- it makes other people sit up and listen
- it nudges those people into performing a role that may not otherwise
have
So, in Plone, we have a few loci of legitimacy:
- The founders, Alex and (now to a lesser extent involved) Alan, who
get it through respect and historical position
- The Plone Foundation Board, who have a proper voting structure and
deals with non-code/functionality matters.
- The release manager, who is elected, confirmed by the board, and
paid (a tiny bit) for his duties
- The framework team, who are lieutenants and advisers to the release
manager
Sometimes, those people can step in and say "enough is enough" in a
discussion. Sometimes they can take the lead and summarise a particular
debate, or try to nudge people into being more constructive. Sometimes,
they will cast the deciding vote if the community is split in its
opinion. Sometimes they will be careful to ensure that decisions are
recorded and disseminated through documentation, mailing lists and blogs.
This role is very important, and I think it's lacking in the Zope
community. How many discussions have there been recently that just died
under the sheer weight of the number of lengthy and opinionated replies
there were? How many times have we gotten bogged down in semantics or
naming discussions and killed off the momentum behind something?
I'd argue that the reason this happens is not (just) that we're a bunch
of opinionated people. It happens because no-one, save perhaps Jim, who
is largely silent in these debates, has the legitimacy to make any kind
of decision or prod people to move along. And even if someone does have
that legicimacy, they don't *feel* that they do (or think that others
feel that they do) and so they don't exercise it.
We're not talking about dictatorship here, nor are we talking about
anyone going off and making a whole bunch of decisions that others have
to blindly follow. Open source doesn't work like that. But there are
ways to provide some guidance:
- Elect rather than appoint, so that the people being led feel that
they have a stake in the decisions made.
- Elect the right types of people. Thankfully, we have many capable
and pragmatic people to choose from.
- Create a process for self-perpetuation of the group that means
responsibility rotates. This is a good way to get people more involved
in a project as well as a way to share the burden when there's a lot of
work.
- Be transparent and document the discussions that take place, to
avoid conspiracy theories.
Again, looking at Plone, the framework team has worked out pretty well.
If anything, we started out with too little process and found there were
gaps we had to plug. It's not overly process-heavy, though, nor does
anyone have any illusion that a team that is focused on achieving a
particular task (roughly, getting a good release out the door without
compromising the future of the stack) for a particular period of time
(one major release) is going to be able to boss anybody around. But
having *some* process and *some* structure is incredibly useful, if only
because it makes things a bit more predictable and easier to fit oneself
into.
I'm sure that if you asked an outsider how they could contribute
meaningfully to the architectural direction of Zope, they wouldn't have
a clue, because it's all ephemeral, undocumented and dynamic. We rely on
a lot of unwritten rules. If you asked them the same question about
Plone, they would at least have some ideas, because there's some
structure there to be understood and taken advantage of.
This type of thing is pretty well researched in the social science of
organisations and groups. It's also pretty common in other open source
projects that have reached a certain size or age, including Plone.
I think Martijn is trying to address something that Zope has lacked for
a while. I don't think it'll solve all of the world's problems, nor do I
think that Martijn things so, but it will make some things - things like
this very debate - a bit easier and more productive.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Zope-Dev
mailing list