Cimi says that we have a large userbase and a small number of developers, and the key to continued survival is to have more of the users become the developers. Then we have new blood, and new ideas, and also some help (good grief, I could clone myself four times over and still work full time on some of the work I have around here).
I have often wondered what it is that stops people crossing over from being users into being developers. Here are some thoughts I’ve had:
- Not understanding “free”. I once saw that someone complained about Wikipedia because the version in his language couldn’t even get the word for “free” right: they’d used the “as in freedom” version, and he had an assumption that “the free encyclopedia” meant “the encyclopedia you don’t have to pay for”. Similarly, when I was downloading a particular program with Rio last night and I explained to her what GPL meant, she got very excited and said “cool! Can I give it to my best friend at school? And we can make a version which looks like this or that!”.
- Not being a hacker. The other day Fin was somewhere getting lunch with a group of people and there were no forks; Fin picked up two wooden stirrers from beside the coffee machine and used them as chopsticks. All the other people in the group were amazed at this ingenuity. This is the sort of thing I mean: some people are content not to figure out ways to improve the stuff they’re given and rethink the fundamentals. It’s the sort of thing that RMS called “creative playfulness”, and some people are content not to have it.
- “But I’m not a programmer”. Some people, creative people who would otherwise do well, think of themselves as non-programmers and so don’t get involved. But we need more than just programmers to get involved– we need artists, copywriters, testers, triagers, sysadmins, coordinators. At least, we say we do, but I think there’s a public perception that to be a real GNOME person you need to be a programmer; I wonder if we went down the membership list of the Foundation and checked how many people were coders whether there’d be an obvious disproportionality. Something that struck me today was Mårten Woxberg mentioning the proliferation of Metacity themes; I think we see so many of them because they’re something relatively harmless and easy for non-programmers to modify, and they really have got the idea of free software about the right to share and the right to fork that only far more rarely happens with real software. Secondly, however, it is hard for us to remember that coding isn’t just something you can sit down and do, especially writing patches. We programmers have a fair amount of training merely to be programmers, and we take that for granted. Look at the willingness people have to contribute to Wikipedia, where the bar to entry is far lower (you might also say that the quality is lower too, but maybe we have better QA). What is the solution? Can we identify creative people who aren’t programmers but who might want to help, and help them become programmers somehow, not solely so they can have A Lucrative Career In Information Technology™ as my radio keeps telling me but so that they can help the world? Some kind of course, perhaps including work on actual GNOME programs as a project? Maybe we can join forces with an existing distance-learning institution?
- “But it’s all so huge! Where do I fit in?” (And hey, Rob, I promised you an essay about this a few months ago. It is coming, when it’s ready.) When Mozilla’s first public release was made, I decided I wanted to help even though I’d never worked on free software or on a collaborative project that large before. So I checked it out of CVS and started looking around. After a few hours I started freaking out at the size of it all (who was it who called it a code-katamari?) and ran away and wrote my own little projects for the next eight years or so. In the GNOME project, we do actually have a place for this to happen, GNOME Love, so we’re actually doing pretty much okay on this point. It certainly helped me fit in with GNOME. (If there was such a place for Mozilla back then, I apologise; I never did find it, though).
I suppose the existing GNOME Love can always use improvement, but something I’d really like to see is a sort of Job Centre for all free software. I’d like to be able to say “I need someone who knows about P to help out on Metacity and I’m willing to help them with Q and they will learn useful things like R and presumably gain XP on the system”. And then someone could enter all the things they knew about, and the stuff they wanted to learn about or have appear on their resume, and it would email them when things came up. Maybe this is something Canonical could fit into Launchpad somewhere.
Any more reasons than these why people don’t dive in?