I specifically talked about communities having an intimacy gradient. The intimacy gradient is in a building, where you go from the most public space to the most private space, in a gradient. So you shouldn't go through private space to get to a semi-public space. Have you ever walked into an office and there's no receptionist, and you have to walk up to somebody's cubicle to ask them where such and such a person sits? It feels uncomfortable, doesn't it? Because you're intruding on their workspace. Even though it's an open space, it is a semi-private space for them and you're coming in from a public area. This feels wrong.
Article continues below
The same holds in communities. You can come into a community and you ask, "How do I submit a bug?" and somebody says, "Just email such and such, and he will give you access to the bug tracker." Well that's breaking the intimacy gradient because all of a sudden you're emailing somebody personally that you don't know, and you may or may not be comfortable with that. For something which is commonly thought of as being a semi-public resource, reporting a bug against a project, you shouldn't need to have human interaction.
The second idea was Jane Jacobs. There's a book called The Death and Life of Great American Cities, written by Jane Jacobs. She was a city planner in the 1950s, and moved to Toronto to ensure that her sons would not be drafted in the 60s. A very, very interesting lady.
In the book, she described the characteristics of successful neighbourhoods and the dynamics which lead neighbourhoods to degrade or get better, and why some neighbourhoods never get better; why there's so much crime in residential neighbourhoods in the suburbs, and so on. And one of the things that she talks about is the idea of mixed primary uses in an area.
So when you have, for example, houses, shops and offices - so the primary uses in the area would be 'I live there', 'I'm going there to work', or 'I'm there to buy things'. When you have the houses, shops and the office space in the same area, there's always people there. You've got the people leaving home to go to work, you've got the people arriving to go to work, you've got mothers who are going to bring their children to school, or home from school, you've got people coming out for a lunch break.
In the evening, because you've got bars and restaurants, you've got people going for dinner or going out for a drink, and so on. There's always activity; and activity creates, first, the demand for secondary uses that make areas nice places to live in. Things like bars and restaurants and theatres - the little niche shops rather than just the big food store or the mall.
It creates that demand for the secondary areas, and it also creates a secure environment because there's always somebody there. For example, on an IRC channel, you don't have this quiet period, where somebody can come in and become the troll and scare people away. The mixed primary uses in a project are 'I work on this project', or 'I do this in my spare time'. So it's good to have a diversity of professional and non-professional developers, because that way the project doesn't die on the weekends or in the evenings.
It's good to have geographical diversity, because that ensures you're always thinking about, first, it always works on every timezone, but you're always thinking about, 'How can I do things in this community that doesn't leave anybody out just because they're in Africa, Asia or South America?'
Projects that have mixed uses - the projects that are usable for different things - tend to be more modular, tend to be more evolved, tend to get better. This is a concept I think is important for open source projects as well.