O pré-requisito básico para a colaboração em um projeto de software open source é entender como o software funciona, e depois entender como funciona o projeto.
Alguns projetos disponibilizam roadmaps (uma espécie de passo-a-passo) que mostram para onde estão caminhando. Outros também fornecem guias sobre como colaborar. Os guias são quase sempre criados em torno do que é mais necessário no projeto.
Para colaborar em um projeto você não precisa exclusivamente programar. Há diversas formas de colaboração:
Documentação
Uma coisa é certa sobre os programadores: Eles adoram programar! E por isso, normalmente tendem a deixar de lado tarefas necessárias para o projeto, como a criação da documentação dos softwares.
Por documentação, entendemos os manuais de uso, guias de instalação, tutoriais e FAQ's. Tudo que possa oferecer um suporte impessoal para o usuário, fazendo com que este só vá procurar o suporte pessoal (Listas de E-mail, Canais de IRC, Fóruns de Discussão) depois de ler o manual.
Em um projeto open source, qualquer pessoa que conheça o software pode contribuir escrevendo a documentação do sistema.
Tradução
Outro fato sobre softwares open source é que a maioria é desenvolvida em inglês. Por padrão, muitos deles suportam outros idiomas, mas os projetos esperam que usuários de outras nações cuidem disso.
Os desenvolvedores do projeto costumam criar arquivos com todos os textos e mensagens que irão aparecer na execução do programa. Uma vez que tudo está contido em um único arquivo, o processo de tradução fica mais fácil para usuários não-programadores.
Testes
Outra forma de contribuir é testando as várias versões do software, como a alpha, a beta e os pré-releases, e, após descobrir erros e outros problemas de instabilidade, reportar para o time de desenvolvimento. Com isto você estará ajudando o projeto a lançar versões estáveis mais garantidas e confiáveis.
Artwork
Quem tem aptidões artísticas pode ajudar projetos open source desenvolvendo a arte gráfica. Programadores quase sempre não têm tempo para usar softwares de criação e edição de imagem, e a “cara” dos softwares abertos nem sempre é a mais bonita. Designers gráficos podem ajudar criando logotipos para o projeto, ícones e até o layout do site do projeto, tornando-o mais amigável e menos denso.
Publicidade
Um software não é nada sem usuários. E para softwares open source, quanto mais usuários, mais colaboradores e mais o projeto crescerá.
Qualquer pessoa pode contribuir para projetos de software open source fazendo publicidade de diversas formas: contando para um amigo, escrevendo um relato em um blog sobre como foi a sua instalação, encorajando outras pessoas a instalar e testar o software, ou até de forma mais direta - colocando banners no seu site.
Suporte aos Usuários
Qualquer pessoa que entenda apenas como o software funciona já tem os requisitos necessários para colaborar em um projeto software open source: Basta ajudar outros usuários a resolver problemas de instalação e configuração, acessando as listas de e-mail, canais de IRC e/ou fóruns de discussão.
Programando
Para colaborar como um programador, no entanto, a lista de requisitos é um pouco maior, como segue:
Um programador pode ajudar em um projeto open source resolvendo os problemas reportados ou até implementando novas idéias no software.