10 março 2010

Conheça a Apache Software Foundation


Agora pela manhã me deparei com esta mensagem do RioJUG no meu e-mail:
Olá ,
Estou terminando uma Pós em Engenharia de Software com ênfase em J2EE , assim gostaria de contribuir em projetos Open Source.... quem souber de algum projeto que não exija um nível de experiencia avançado por favor me avise.
Att,
Primeiro, quero dizer que estou surpreso em saber que existem pessoas saindo da faculdade, e talvez mais grave ainda, vindos de uma Pós, que não conhecem a ASF. Os motivos podem ser diversos: falta de interesse do aluno, ou dos professores ou o mais provável: marketing pobre da própria fundação. E é por isso que escrevo este artigo.

Você deve conhecer o Servidor Web Apache, que acabou de celebrar 15 anos de aniversário no último mês de Fevereiro. Entretanto, por trás deste projeto, existe a Apache Software Foundation, a mais importante organização e a maior contribuidora de código Open Source que você pode imaginar. Muitas empresas estão por trás, como (acredite!) Microsoft, Google, IBM, RedHat, HP, Cisco, Yahoo!, Facebook e muitas outras. Muitas destas empresas contribuiram ou ainda contribuem, entregando códigos ou projetos inteiros à fundação, além também de contribuições financeiras para manter a infra-estrutura necessária para estes projetos.

Graças ao Firefox, ao Thunderbird e ao antigo Mozilla, muitos devem conhecer a Mozilla Foundation. Entretanto, a Mozilla direciona todos os seus recursos para estes poucos projetos. Já a Apache, provê suporte organizacional, financeiro e jurídico a qualquer empresa ou indivíduo que queira contribuir com um projeto, produto ou apenas um trecho de código Open Source. E é por isso que, ao acessar este site, você verá uma quantidade absurda de projetos mantidos pela fundação. Alguns deles até já falei a respeito, aqui no meu blog, como o Apache Camel e Apache Wicket. Se você preferir conhecer projetos por linguagem de programação, veja esta página.

Voltando agora ao e-mail anônimo: como contribuir para o Open Source? Como participar de algum projeto? Onde começo? Está aí uma ótima oportunidade de disciplina para as faculdades de software. Confesso que não entendo até hoje, porquê nenhuma faculdade oferece uma cadeira sobre Comunidade Open Source (se você conhece uma, por favor comente!).

A Apache trabalha com o sistema de meritocracia. Para começar, é fácil: contribua de alguma forma:
  • Participe das listas de discussão
  • Envie correções de bugs
  • Sugestões de funcionalidades
  • Escreva a documentação (este ganha muitos pontos!)
  • Faça palestras (você pode ser convidado para a ApacheCon)
  • E mais importante: seja humilde e paciente
Você pode passar meses contribuindo com bug fixes, ou respondendo dúvidas nas listas, e mesmo assim ninguém chega para você e diz: "ei, quer ser um committer?". O motivo é que provavelmente, existem muitos outros desenvolvedores fazendo o que você já faz, há muito tempo! Outro motivo possível é a quantidade atual de desenvolvedores no projeto. Neste caso, você só vai mesmo ter chance quando contribuir com algo realmente valioso e inovador. Minha sugestão: procure um projeto na incubadora ou algum projeto já graduado mas ainda recente, como por exemplo o CouchDB. Ingresse na lista de discussão, conheça o produto e veja no Issues Tracker se há alguma coisa que você já possa resolver.

Em pouco tempo você ganhará experiência em como contribuir, vai entender a gíria da comunidade e ainda dar opinião no trabalho de outras pessoas. Seja um Desenvolvedor Open Source.

4 comentários:

Andre Fonseca disse...

Excelente artigo, Bruno. Sugiro também uma busca no github. Lá existe m diversos projetos os quais você pode dar um fork e colaborar com patchs.

Bruno Borges disse...

Andre, o github é apenas um repositório de projetos. Não existe uma fundação por trás, que ajuda a organizar o projeto, com financiamento e auxilio juridico.

Não se deve comparar os dois. :-)

Unknown disse...

Cara, tenho visto seu blog e vendo os exemplos de Wicket. Estou iniciando nele e tenho uma dúvida. Se você puder ajudar eu ficarei muito grato.

Seguinte, tem como parar o submit de um form? Por exemplo, o usuário digita o login e a senha. Primeiro verifico se o login existe, se não existir quero mandar uma mensagem pro FeedbackPanel e parar o processamento do form. Tem como fazer isso?!

Desculpe a ignorância se a minha pergunta for muito ridícula =P

Unknown disse...

Aí, pode ignorar a mensagem anterior. Dei um jeito aqui =)

Poxa, você saca muito de Wicket cara, você poderia fazer um tutorial com um CRUD básico. Ia ajudar pra caramba...

Um abraço, e parabéns pela iniciativa de compartilhar seus conehcimentos ;)

Contato

Email:bruno.borges(at)gmail.com

LinkedIn: www.linkedin.com/in/brunocborges
Twitter: www.twitter.com/brunoborges
Comprei e Não Vou
Rio de Janeiro, RJ Brasil
Oracle
São Paulo, SP Brasil