[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