Tipicamente, no início de projetos de SL não existem procedimentos definidos de coordenação. Eles surgem e evoluem organicamente na medida em que mais desenvolvedores agregam-se aos projetos. Como observado nas comunidades de desenvolvimento, um projeto pode surgir a partir da iniciativa de um único desenvolvedor (como ocorreu com Linux, Python, Ruby on Rails e Drupal), a partir de um grupo tentando solucionar um problema comum (Apache) ou através de uma iniciativa empresarial ou acadêmica de abrir o código de um determinado produto para o desenvolvimento comunitário (OpenOffice.Org, PostgreSQL).
Os projetos que surgem através da iniciativa individual possuem, normalmente, uma coordenação centralizada, fortemente focada na figura de uma pessoa que define os rumos do projeto e é o juiz final em eventuais conflitos. Linux, Python, Ruby on Rails e Drupal apresentam este tipo de gerência.
Os projetos que surgem através de um grupo ou a partir de empresas tendem a se organizar através de comitês. Estes são formados por desenvolvedores eleitos internamente na comunidade ou pelos membros fundadores do projeto. Os projetos que apresentam este tipo de coordenação são Apache, PostgreSQL e OpenOffice.
Nota-se, porém, independentemente da forma de organização de cada comunidade, a prevalência das listas ou fóruns de discussões na coordenação e distribuição das tarefas de desenvolvimento.
A Tabela 2 resume as ferramentas usadas na coordenação de cada projeto.
Projeto | Ferramenta |
Kernel Linux | Listas de discussões CVS Patchwork |
Apache | Listas de Discussões Subversion Bugzilla |
Python | Listas de discussões Subversion RoundUp |
PostgreSQL | Listas de discussões CVS Fluxo de submissão de erros (formulário, lista e wiki) |
Ruby on Rails | Listas de discussões Git LightHouse |
Drupal | Drupal (módulos Fórum e Project) |
OpenOffice | Listas de discussões CVS IssueTracker |
Tabela 2 – Ferramentas de Coordenação