[OSM-talk] OSM community organisation and decision-making process
steve at asklater.com
Sun Jul 1 22:43:54 BST 2007
On 1 Jul 2007, at 11:19, Christoph Eckert wrote:
> Thus, I'm personally not unhappy with the current constellation - but
> I'd really like to see a bit more community participation in
> decicion-making processes. So what do you think? Did you also notice
> the need for more participation - or even not? What kind of
> participation can you imagine?
In the structure of scientific revolutions kuhn shattered the notion
that scientific discovery and progress was a smooth process. It is
much more akin to revolutions as things build up and there are
analogies to dams bursting. There are various periods in evolutionary
history that are like this such as the cambrian explosion.
It's my belief that open software and data projects are much the
same, perhaps up to a certain point of maturity. They don't progress
smoothly but in fits and starts. Thus far those punctuations in
equilibrium have been the result of single efforts. To point out some
of them, they are the rails port, the introduction of mapnik, the
move from java to ruby, the first mapping party, josm, aerial
imagery. These are largely the result of one person having some time
and/or insight to change things.
I also think that the time people are able to put in to projects like
OSM is scale free. That is that there are a large number of people
with a small amount of time and a small number of people with a large
amount of time to contribute. The interesting thing is that, roughly
speaking, to scale a project like that you need to double the number
of users at the bottom of the scale to double the number at the top.
Put another way, you need to double from 4,000 to 8,000 users to
double the number of rails coders / sysadmins from 1 to 2. Which is,
roughly, what happened.
So, to double the number of rails coders / sys admins / conference
organisers again we need to move to 16,000 users.
Against this backdrop you have to look at what's going to attract
8,000 more people. Those things are going to be, roughly speaking,
the kind of one-man efforts like potlatch. So the scaling up and
increase in feature set and so on is inherently a non-smooth process.
To turn to community participation, my observations thus far is that
it's just not going to scale the way its often put forward. The
algorithm is often something like
1) Announce some vague questions (When shall we have a mapping party?
How shall we raise money?)
2) Wait for some equally vague and diverse answers (yes! no! july!
3) Nothing happens, or things don't reach their full potential.
Apart from the fact that it doesn't work very well, it's not
inherently wrong. It's how communities are often thought about in
open source. But if you look about at other organisations with 8,000
people like army units, schools, businesses, associations... they're
all command and control.
If you look at the turning points above (first mapping party,
potlatch...) they follow a different process in general
1) Someone announces a date or a feature
2) People turn up / use it, perhaps with small changes.
I say in general because I learnt my lesson with the isle of wight
party, I asked when people wanted to go. Mistake. Think also about
'consensus' on a new data model or the use of postgres. Mao would be
pleased at our thousands of schools of thought contending - but
someone actually has to do it. Neal Stephenson has this great quote
in the diamond age about it being the hardest thing in the world to
get educated westerners to pull together.
This may well change as the user base gets bigger. For example the
8,000 odd users we have now, only 400 or so are on this list (IIRC)
and only a handful of those write rails code. If you move to 16,000
people and the list gets 1,000 people and rails coders to dozens then
it may well support a different kind of community, but we shall see.
In a way, by asking how we should run the community you're looking at
trying to design it top-down. And that's not going to work. If you
look at the new hotness in coding, agile development, what you do
there is just throw up the simplest thing you can and then iterate
the design / coding as quickly as possible because by the time
someone's designed the spec document, you've already built 10 real
systems. (As an aside, this is very similar to john boyds OODA loop).
Back again at community participation, the quickest way is going to
be to throw something up. I don't know what problem you're
specifically trying to solve but it's pretty obvious to me how to fix
the fundraising thing. I'd try a bunch of routes like cafepress,
advertising, donations and even selling data. And I'd get on the
phone with 80n. But that's just me.
SteveC | steve at asklater.com | http://www.asklater.com/steve/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the talk