Projeto de software livre

De Open Source Software
Ir para: navegação, pesquisa

Um projeto de software livre consiste em software desenvolvido por grupos de indivíduos independentes, que trabalham geograficamente dispersos segundo uma filosofia que só pode ser descrita como original: o software que produzem pode ser livremente utilizado e modificado por qualquer pessoa que se interessar [1].

O processo de desenvolvimento de projetos de software livre é alvo constante de investigação. O primeiro trabalho, não acadêmico, que buscou caracterizar o processo de desenvolvimento foi desenvolvido por Eric Steven Raymond, identificando dois estilos de processo: Catedral e Bazaar [2]. Os projetos que adotam o estilo Catedral caracterizam-se por grupos fechados, com pequena abertura para participação externa enquanto que os projetos do estilo Bazar são desenvolvidos de forma mais transparente, abertos à participação por qualquer desenvolvedor que tenha interesse [1][2].

Entretanto, não é clara essa dicotomia nos estilos dos projetos de software livre. Por exemplo, argumenta-se que um projeto de software livre pode ser uma combinação dos estilos Catedral e Bazaar, utilizando atividades de um ou de outro em menor ou maior grau[3].

Outra questão importante é que esses trabalhos preliminares consideram uma percepção de alguns desenvolvedores quanto ao projetos de software livre. No entanto, seria realmente esse o cenário? Em um dos primeiros trabalhos empíricos nesse contexto, considerando-se os projetos maduros, constatou-se que a maioria dos projetos é desenvolvida por um grupo pequeno de indivíduos (mediana de 4), possuem poucos canais de comunicação (geralmente listas de email) e com pouca discussão/comunicação nesses meios. Essas características são ortogonais à questão de Catedral ou Bazaar, mas o fato é que, para projetos maduros, independente do estilo, espera-se que exista uma comunidade maior do que aquela encontrada no estudo. Outro ponto que era esperado era a predominância de projetos na forma Bazaar, por ela ser mais livre, mas o fato é que a quantidade de comunicação não é aquela esperada por tal modelo[4].

Logo, o modelo de desenvolvimento dos projetos de software livre é mais complexo do que acredita-se ser, sendo necessária a condução de estudos sistemáticos e mais rigorosos para a compreensão deste tipo de projeto e contribuir para que novos projetos adotem esse modelo ou as características dele que colaboram para o sucesso ou para o fracasso. Ao analisar esses pontos, é possível abordar críticas quanto ao processo, tais como a pouca eficiência e limitações da eficácia das atividades de qualidade[5], o trabalho voluntário[6], a falta de boas ferramentas e pouco preocupação do projeto (design) e gestão de projeto[7].

Uma importante característica dos projetos de software livre é a constituição de sua comunidade. Um dos primeiros estudos sobre software livre traz evidências de que a comunidade organiza-se em desenvolvedores, reparadores de erros e informantes de erro, sendo a quantidade de pessoas em cada um desses grupos separada por uma ordem de magnitude cada (1 desenvolvedor, 10 reparadores, 100 informantes)[8]. Outra característica observada é que os desenvolvedores também são usuários do software[8] (Eat your own dog food).

  1. 1,0 1,1 Reis, C. R. Caracterização de um Modelo de Processo para Projetos de Software Livre. Dissertação de mestrado. Universidade de São Paulo: São Carlos, SP, Brasil, 2003, 158p.
  2. 2,0 2,1 Raymond, E. S. The Cathedral and the Bazaar. In: The Cathedral and the Bazaar, O'Reilly, 1997, 279p.
  3. Bezroukov, N. A Second Look at the Cathedral and the Bazaar. First Monday, University of Illinois at Chicago, 1999, v. 4, n. 12, p. 1-16.
  4. Krishnamurthy, S. Cave or Community? An Empirical Examination of 100 Mature Open Source Projects. First Monday, University of Illinois at Chicago, 2002, v. 7, n. 6, p. 1-7.
  5. McConnell, S. Open Source Methodology: Ready for Prime Time?. IEEE Software, IEEE Computer Society, 1999, v. 16, p. 6--11.
  6. Glass, R. L. The Sociology of Open Source: Of Cults and Cultures. IEEE Software, IEEE Computer Society, 2000, v. 17, n. 3, p. 104-105.
  7. Wilson, G. Is the Open-Source Community Setting a Bad Example?. IEEE Software, IEEE Computer Society, 1999, v. 16, n. 1, p. 23-25.
  8. 8,0 8,1 Mockus, A.; Fielding, R. T. and Herbsleb, J. A Case Study of Open Source Software Development: The Apache Server. In: 22nd International Conference on Software Engineering, ACM, 2000, p. 263--272.