terça-feira, 18 de março de 2008

Os 5 Tipos de Projeto Open Source

Procurando informações sobre tipos de projeto de código aberto, achei um texto muito interessante de Josh Berkus, membro do time do PostgreSQL desde 2002. Em The 5 Types of Open Source Projects, ele procurou uma classificação organizacional, focando em quem toma as decisões, quais são objetivos estratégicos, como alguém pode se juntar ao projeto, dentre outros. Farei aqui um breve resumo, dando uma pitada da minha visão.

1 - Solo. Um ou dois colaboradores mantém 100% do código e tomam todas as decisões. Normalmente é fácil contribuir, afinal eles abriram o código com objetivo de compartilhar, portanto sentem-se meio que emocionados quando alguém oferece ajuda. A maioria (mais de 90%) dos projetos está nessa categoria.

2 - Monarquia. É um "Solo que deu certo". Mesmo tendo uma criado uma comunidade grande em torno do projeto, as decisões principais ainda são tomadas pelo seu líder ou um pequeno grupo por ele indicado. Contribuir (e obter retorno) é relativamente fácil, ainda mais quando há aproximação com o líder ou o núcleo principal.

3 - Comunidade. Com um número significativo de contribuintes, existe um processo social intenso (fóruns e listas extremamente ativos) e as decisões são tomadas numa combinação de meritocracia e concenso. A"voz" de cada um é proporcional à qualidade e quantidade das contribuições.

4 - Corporativo
. Geralmente código fechado de uma empresa, que mesmo após aberto ainda não se desvencilhou dela. A maioria dos colaboradores ainda é empregado da companhia, portanto sujeita aos seus direcionamentos. Contribuir é frequentemente difícil, por isso os programadores independentes não se sentem muito atraídos. Um suporte de melhor qualidade pode ser obtido através de um contrato ou licença comercial.

5 - Fundação. O ponto máximo de organização formal em um projeto open source bem sucedido, que necessita das vantagens de uma estrutura legal e a possibilidade de empregar funcionários e receber doações. O ingresso (individual ou de empresa) normalmente passa por um processo formal. Existem patrocinadores que também dão sustentação comercial.

A classificação de 1 a 5, acima, indica uma tendência crescente de formalismo. Os Solo são mais informais e menos burocráticos, enquanto os Corporativos e de Fundação possuem exigências e regras documentadas, inevitável aos seus participantes. Berkus enfatiza que essa é uma classificação subjetiva, sugerindo que verifiquemos as coisas por nós mesmos.

Finalizando, entender como funciona o mundo do Software Livre nos ajudará a encontrar os caminhos para promover uma maior colaboração interna às organizações. Nada melhor, porém, que participar ativamente de algum tipo de comunidade ou grupo de usuários, para perceber o quanto estamos perdendo tempo em aplicar esses princípios no nosso dia-a-dia. Escolha um tema do seu interesse e comece já!!!

6 comentários:

Leandro disse...

Queria refletir como o mundo do Software Livre pode nos ajudar a encontrar os caminhos para promover uma maior colaboração no meio da corporação política... Esse novo termo: o "político 2.0"...

Vi uma boa matéria sobre, segue o link:

http://www.knowtec.com/?m=ver&id_item=4

Manuele Ferreira disse...

Muito interessante o tema do blog e, principalmente, os posts inseridos nele. Ainda não havia parado para pensar em algo parecido, apesar de ser uma entusiasta do movimento Software Livre.

Parabéns pela iniciativa!! Vou ficar ligada aqui nas novidades.

Abraços

Rodrigo Fagundes disse...

Durante a leitura, tive a impressão que os tipos 1 a 3 formam uma espécie de "amadurecimento" de um projeto que sempre (em minha opinião) parte de uma pessoa - a questão é por quanto tempo a iniciativa permanece individual.

Acho interessante que as empresas de software tenham projetos de componentes (se não abertos) de uso interno usando essa forma de trabalho. Pessoas mais satisfeitas por se engajarem - parcialmente - em projetos que gostam irão produzir melhor.

É importante, no entanto, atentar para que os projetos de interesse da organização não fiquem nos tipos 1 e 2, caso contrário cairemos na armadilha do herói (fazendo uma conexão meio louca com o nível 1 de maturidade do CMMI). Infelizmente a história nos mostrou que na realidade os heróis morrem.

Tom Zé disse...

Serge,
Este texto está muito legal. Estarei a partir dele pesquisando um pouco mais para tentar coloca-lo nos meus estudos.

Caso você tenha interesse e ainda não conheça, segue um artigo cujo tema é o Linux e a Perspectiva da Dádiva.

Arquivo:
http://www.scielo.br/pdf/ha/v10n21/20626.pdf

Até,
Tom Zé

galuco disse...

Ola,

Criamos recentemente um espaco com alguns codigos liberados e estaremos liberando outros na empresa que trabalho.

Porem devido a legislacao Brasileira nosso advogado nao aconselhou criar uma Fundacao.

Desejamos trabalhar no modelo de fundacao e nao queremos ser os donos da verdade, mas fazer isto aqui no Brasil pode ser bem complicado se comparado aos EUA.

Como deixar de ser corporativo? Ou como demonstra a transparencia?

http://opensource.datasul.com.br

Glauco

Viviane disse...

Muito legal o ponto levantado e interessante essa diferenciação de tipos de projetos. O mundo do software livre é muito diverso e, para aprender com ele, precisamos ter em mente essa diversidade.

Pode ser uma leitura complementar interessante para reflexão:
http://www.firstmonday.org/Issues/issue7_6/krishnamurthy/

Falamos muito de "community" e realmente temos muito que aprender com elas. Mas e esse fenômeno das "caves". Como interpretá-lo? 90% de projeto "solo" não é muito? Por que isso acontece?