O Sucesso de Projetos Open Source - Parte 1
April 28th, 2008 | by Pedro Simonetti |Esse é o primeiro de uma série de quatro artigos que publicarei sobre a vitalidade de projetos open source, onde compartilho meus pensamentos e as experiências como usuário e desenvolvedor de projetos open source. Esses artigos sumarizam as experiências que tive desde 2006, quando fui contratado para desenvolver uma aplicação open source para uma empresa de geotecnologia. Agora em 2008, o projeto está sendo reestruturado e ampliado, e durante essa jornada muita coisa aconteceu, e algumas delas em particular me surpreenderam, o que acabou me motivando a escrever esses artigos. O artigo tem como pano de fundo o desenvolvimento desse projeto, e portanto, o texto entrelaça opiniões, relato de experiências, além de citações de outros autores.
O sucesso de um projeto open source depende de diversos fatores. Entretanto, pode-se dizer que o principal deles é a interação com a comunidade. Entende-se por comunidade o grupo de usuários e desenvolvedores desse projeto. Um projeto open source tem que ser atrativo para os usuários, para que mais gente possa usar, testar e divulgar o projeto. Ao mesmo tempo, ele tem que ser atrativo para os desenvolvedores também. Um projeto com muitos usuários e poucos desenvolvedores poderá falhar ao não conseguir suprir a demanda dos usuários, seja na assistência técnica, correção de erros, ou inclusão de novas funcionalidades. Por isso, é igualmente importante que o projeto seja atrativo também para os desenvolvedores.
Parece algo trivial, mas na verdade não é. Prever a aceitação do projeto por seus usuários já é algo difícil. Agora, prever a aceitação do projeto pelos desenvolvedores é na minha opinião algo ainda mais difícil. Isso ocorre por uma série de fatores, muitos deles não-determinísticos, mas podemos destacar alguns. Os desenvolvedores normalmente são mais criteriosos, e na maioria das vezes, possuem tempo livre limitado por estarem envolvidos em outras atividades profissionais. Além disso, desenvolvedores tendem a migrar de um projeto para outro dependendo de suas necessidades e/ou interesses particulares.
Vale a pena destacar também que projetos open source são geralmente formados por desenvolvedores de diferentes localidades geográficas, o que dificulta a gestão de recursos humanos, pois é mais fácil tomar conta de uma equipe que se encontra em um mesmo local de trabalho. A distância, de certa forma, também dificulta a uniformidade na visão e conceituação do projeto. Apesar desse não ser o maior dos problemas, é um fator de preocupação pois a estabilidade da equipe é fundamental para que o trabalho seja produtivo.
Para mim, essas dificuldades ficaram mais evidentes ao presenciar o fracasso de alguns projetos open source que tinham tudo para dar certo. Mas então, o que podemos fazer para evitar que nossos projetos acabem dessa forma? Foi justamente pensando nisso que passei a pesquisar sobre o assunto, e o resultado dessa pesquisa estou aqui compartilhando com vocês. No próximos dois artigos, veremos dois casos distintos sobre projetos que fracassaram. Por fim, em um último artigo veremos o que se pode fazer para evitar que um projeto acabe nessa mesma situação. Embora esses artigos abordem exclusivamente projetos open source, as dificuldades encontradas são parecidas com a de projetos de código fechado, principalmente quando se trata se uma equipe geograficamente descentralizada.
6 Responses to “O Sucesso de Projetos Open Source - Parte 1”
By JulioGreff on Apr 30, 2008 | Reply
É, fazer um projeto open-source sobreviver ao tempo e ao esquecimento não é uma tarefa das mais fáceis. Na minha opinião, o que mais acaba com esses projetos é a reação da comunidade. Se ela não superar as expectativas do(s) desenvolvedores, este(s) acabam por perder o entusiasmo, e sem força de vontade, o projeto acaba fadado ao fracasso. Tema interessante, também pretendo escrever sobre ele no futuro, mas não apenas no mundo open-source. Até mais!
By pedrosimonetti on Apr 30, 2008 | Reply
Fala Júlio,
Que bom saber que você anda (ou seria navega?) por aqui!
Pois é, como disse, é uma tarefa árdua. Se gostou do tema, volte para ver as outras partes do artigo, pois discutirei umas coisas bem legais.
Embora o artigo esteja focado em projetos open-source, as coisas discutidas aqui também podem ser transportadas para o universo do código fechado. Nos próximos artigos discutirei sobre a liderança e administração de equipes em projetos open-source, e de certa forma, são princípios que também valem para todo tipo de trabalho em equipe.
O grande problema dos projetos open-source é que eles dependem de ajuda externa de desenvolvedores para sobreviver. Já um projeto de código fechado não possui essa dependência de recursos humanos. Mas uma coisa é certa: todos dependem de usuários. Sem usuários, não há projeto que resista.
By JulioGreff on May 3, 2008 | Reply
“Sem usuários, não há projeto que resista.”: a mais pura verdade… Na minha opinião, nem tanto pelos usuários em si, mas pelo entusiasmo que eles geram nos desenvolvedores. “Se tem gente usando, ótimo, vamos fazer melhor!”
By pedrosimonetti on May 3, 2008 | Reply
Eae Júlio,
Rapaz, achei hoje duas monografias que falam sobre o desenvolvimento de projetos open source, de Christian Robottom Reis. Vale a pena conferir pois são materiais excelentes!
A primeira, mais resumida é para o exame de qualificação de mestrado do autor:
1) Caracterizaçao de um Modelo de Processo para Projetos de Software Livre
http://async.com.br/~kiko/quali/quali.pdf
A segunda, mais completa (mais de 200 páginas), é a própria dissertação de mestrado:
2) Caracterizaçao de um processo de software para projetos de software livre
http://async.com.br/~kiko/dissert_usp.pdf
Numa parte ele fala da importância da adoção de projetos ágeis no processo de desenvolvimento. Acabei resgatando um livro sobre XP (Extreme Programming) que estava meio abandonado na minha pilha de coisas para ler. Tanta coisa pra ler que nem sei por onde começar!!! rsrsrs…
“Tema interessante, também pretendo escrever sobre ele no futuro, mas não apenas no mundo open-source.”
Fica a sugestão de escrever logo então, aproveitando que já estamos aqui discutindo e pensando sobre o assunto.
By Mounter on Jun 7, 2008 | Reply
Falou tudo sobre como são o atual cenário dos projetos open-source, no inicio sempre começam bem, trazem usuários e expectativas, mas depois parece que os desenvolvedores se mudam, somem feito fumaça… Isso pode ocorrer em vários projetos, mas geralmente o fundador ou criador deles deve ser o mais entusiasmado!
Abraços
By pedrosimonetti on Jul 2, 2008 | Reply
Mounter,
Desculpe na demora em respondê-lo. De fato, esse é um assunto intrigante. É um grande desafio fazer um projeto open source decolar, o que estou podendo sentir na pele com o projeto jProton. Mas existem sim, algumas coisas que podemos fazer para minimizar os problemas, e são essas coisas que quero abordar nos artigos seguintes.
Quero dar continuado a essa série de artigos, pois colhi bons materiais a respeito, mas a correria pra lançar um outro projeto (por sinal, também open source), está atrasando a publicação desse artigo mais do que eu gostaria.
Esse outro projeto que me refiro é o projeto Veracidade (http://www.veracidade.com.br/), um projeto de visualização de mapas, onde é possível comparar imagens da cidade de diferentes épocas.
abraços!