Why don't they contribute to open source projects
Recently, on the Israel.pm list Gabor Szabo wrote:
In a recent poll conducted by Elizabeth Naramore people were asked why they don't contribute to open source projects?
He also linked, at the bottom, to Shlomi Fish's article about How to start contributing to or using Open Source Software.
Both articles are a mouthful, and try to be very thorough in the advices and ideas they present. Sadly, both miss the point completely by assuming that "contributing" means "committing code". And this is not only wrong, its part of the reason people hesitate to contribute
For starters, "Open Source" projects tend to be seen as a hard-core programmers-only club, where you have to know how to program (mainly in C/C++), or you have no reason to be there. Seeing that the high profile projects are such complex systems, I can understand how did this image.
I would even point to the whole concept of nomenclature (Free Software/Open Source) as another clue to this "hackers only" image. When new users ask about what is FOSS, they are given a confusing lecture about the freedom of reading the code, changing the code, etc. They read articles about Open source and realise they need to learn about build systems and about version control, and get scared away.
This is sad because, as I said before, contribution to FOSS project is never limited only to committing code. Ask many project leaders about what they need and the will tell you that other than code, documentation is the number 1 issue in almost any FLOSS project, starting from user-manuals to API and design documentation. Other fields that are traditionally lacking include community management, community support, creating a web-presence, graphical design, coordination, packaging, testing, and I'm probably missing another half a dozen.
In all actuality, centring your recruitment efforts around those areas will benefit your project in the more technical oriented areas, as projects that make good progress in those fields will be more visible, new-comers friendly and will end up attracting more programmers who will see it as a thriving project that they could jump into and not get entangled with undocumented, untested cruft, or need to face puzzled, annoyed users. Solid community management and shiny web presence give the feeling of a stable project, which is what most developers seek.
Not only that, but a lot of projects that focus on getting more developers, do end up neglecting the other parts of the package, and might end up losing the community of contributors they already have, since programmers don't want to do web design, mailing list moderation, or other non-programming things.
Not all projects are GNU/Linux, who were a technical, no eye-candy affair, and whose community developed as a meritocracy of programmers. Most projects do need to clean up the façade, replace the door mattress, wipe the windows and dust up the attic to get builders and architects interested.