Criando Projetos Open Source

1,893 views
1,716 views

Published on

Slides sobre a criação, manutenção e abandono de projetos open source.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,893
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Criando Projetos Open Source

  1. 1. Criando e Mantendo Projetos Open Source <ul><li>Vitor Fernando Pamplona </li></ul><ul><li>[email_address] </li></ul>
  2. 2. Open Source? <ul><li>Liberdade para: </li></ul><ul><ul><li>Executar o software </li></ul></ul><ul><ul><li>Estudar o código fonte </li></ul></ul><ul><ul><li>Modificar o código </li></ul></ul><ul><ul><li>Redistribuir o software </li></ul></ul><ul><li>GPL , LGPL, BSD, MIT, Apache, CDDL... </li></ul>
  3. 3. Open Source vs Free Software <ul><li>Open Source </li></ul><ul><ul><li>Metodologia de desenvolvimento </li></ul></ul><ul><ul><li>Softwares proprietários não são a melhor solução </li></ul></ul><ul><ul><li>Licença preferida: LGPL </li></ul></ul><ul><li>Free Software </li></ul><ul><ul><li>Movimento Social </li></ul></ul><ul><ul><li>Softwares proprietários são o problema do mundo </li></ul></ul><ul><ul><li>Licença preferida: GPL </li></ul></ul>
  4. 4. Open Source é legal <ul><li>mas não dá dinheiro </li></ul><ul><li>... não gera renda </li></ul><ul><li>... não põe comida na mesa </li></ul><ul><li>... não é sustentável </li></ul>
  5. 5. Recompensas <ul><li>Para as empresas </li></ul><ul><ul><li>Necessidade suprida com baixo custo </li></ul></ul><ul><ul><li>Teste e adaptação de mercado </li></ul></ul><ul><ul><li>Instrução de novos profissionais </li></ul></ul><ul><ul><li>Expansão de uso de algum software </li></ul></ul><ul><ul><li>Motivação da equipe </li></ul></ul><ul><ul><li>Modularização da solução </li></ul></ul><ul><ul><li>Aumento da qualidade </li></ul></ul><ul><ul><li>Aniquilação de concorrentes </li></ul></ul>
  6. 6. Recompensas <ul><li>Para as pessoas </li></ul><ul><ul><li>Hobbie e diversão </li></ul></ul><ul><ul><li>Projeção profissional </li></ul></ul><ul><ul><li>Networking </li></ul></ul><ul><ul><li>Novas portas abertas </li></ul></ul><ul><ul><li>Currículum em segundo plano </li></ul></ul><ul><ul><li>Responsabilidade sobre o código </li></ul></ul><ul><ul><li>Conhecimento do ciclo de desenvolvimento </li></ul></ul>
  7. 7. Open Source é legal <ul><li>e ajuda a dar dinheiro </li></ul><ul><li>... ajuda a gerar renda </li></ul><ul><li>... ajuda a por comida na mesa </li></ul><ul><li>... ajuda na sustentabilidade </li></ul>
  8. 8. A idéia <ul><li>Esqueça originalidade </li></ul><ul><ul><li>Algo novo </li></ul></ul><ul><ul><li>Fantástico </li></ul></ul><ul><ul><li>Gigantesco </li></ul></ul><ul><ul><li>A revolução do universo </li></ul></ul><ul><li>Não gostou ? Implemente! </li></ul><ul><li>Melhore o que está na frente do seu nariz </li></ul>
  9. 9. Sugestões <ul><li>Use linux </li></ul><ul><li>Trabalhos de faculdade </li></ul><ul><li>Necessidade </li></ul><ul><li>Idéias loucas /absurdas </li></ul><ul><li>Interoperabilidade /portabilidade </li></ul><ul><li>Projeto pequeno e simples </li></ul><ul><li>Esqueça os concorrentes </li></ul>
  10. 10. Começando <ul><li>Implemente uma versão (em inglês) </li></ul><ul><li>Libere -a em beta </li></ul><ul><li>Divulgue o binário para os amigos </li></ul><ul><li>Espere </li></ul><ul><li>while (houver Bug ()) </li></ul><ul><ul><li>Implemente as correções </li></ul></ul><ul><ul><li>Libere uma versão </li></ul></ul><ul><ul><li>Divulgue o binário para os amigos </li></ul></ul><ul><ul><li>Espere </li></ul></ul>
  11. 11. Criando o Projeto <ul><li>Escolha uma licença : GPL, LGPL, ... </li></ul><ul><li>Encontre um repositório e crie o projeto </li></ul><ul><ul><li>SourceForge </li></ul></ul><ul><ul><li>Java.net </li></ul></ul><ul><ul><li>CodePlex </li></ul></ul><ul><li>É necessário CVS ou SVN </li></ul><ul><li>Monte a página do projeto </li></ul><ul><li>Crie uma lista de discussão </li></ul><ul><li>Crie um blog </li></ul>
  12. 12. A página do projeto <ul><li>Objetivos e perspectivas </li></ul><ul><li>Características ( Features ) </li></ul><ul><li>TO-DO List </li></ul><ul><li>Download </li></ul><ul><li>Manual e Documentação </li></ul><ul><li>Snapshots e Screencasts </li></ul><ul><li>Em português! </li></ul>
  13. 13. Liberando Versão <ul><li>Certifique-se que tudo esteja funcionando . </li></ul><ul><li>Crie links para downloads </li></ul><ul><ul><li>do binário (para diferentes plataformas) </li></ul></ul><ul><ul><li>do código fonte </li></ul></ul><ul><li>Página de mudanças (Snapshots/Screencasts) </li></ul><ul><li>Peça aos amigos para testarem . </li></ul><ul><li>Publique a notícia no blog e aguarde. </li></ul><ul><li>Publique a notícia em portais . </li></ul>
  14. 14. Garantindo a qualidade <ul><li>Do software </li></ul><ul><ul><li>Desenvolvimento dirigido a testes </li></ul></ul><ul><ul><li>Testes unitários , sempre </li></ul></ul><ul><ul><li>Libere quantas versões beta desejar </li></ul></ul><ul><ul><li>Boa documentação e feedback </li></ul></ul><ul><li>De suas ações </li></ul><ul><ul><li>Não responda as críticas ofensivas </li></ul></ul><ul><ul><li>Assimile apenas as críticas construtivas </li></ul></ul><ul><ul><li>Você é intocável . </li></ul></ul>
  15. 15. Idioma e Internacionalização <ul><li>Código Fonte: </li></ul><ul><ul><li>Sempre em inglês </li></ul></ul><ul><li>Página : </li></ul><ul><ul><li>Você escreve a página em português </li></ul></ul><ul><ul><li>Outros escrevem em suas línguas nativas </li></ul></ul><ul><li>Preocupe-se com i18n </li></ul><ul><ul><li>Principal fonte de colaboradores </li></ul></ul>
  16. 16. Conquistando Usuários <ul><li>Não faça propaganda demais </li></ul><ul><li>Deixe que os outros falem por você </li></ul><ul><li>Crie versões com instaladores </li></ul><ul><li>Crie pacotes : </li></ul><ul><ul><li>.deb para sitemas debian/ubuntu </li></ul></ul><ul><ul><li>.rpm para sistemas redhat </li></ul></ul><ul><ul><li>.yum para sistemas suse </li></ul></ul><ul><li>Inclua o seu programa nas distribuições </li></ul><ul><li>Invista em camisetas e brindes </li></ul>
  17. 17. Atraindo Colaboradores <ul><li>Abuse da motivação pelo i18n </li></ul><ul><li>Publique artigos sobre a estrutura interna </li></ul><ul><li>Faça eles se sentirem um grupo </li></ul><ul><li>Crie um fórum /lista para os desenvolvedores </li></ul><ul><li>Não abuse da autoridade </li></ul><ul><li>Aceite sugestões, conselhos e críticas </li></ul><ul><li>Aceite o voto vencido </li></ul><ul><li>Seja educado , e não babaca </li></ul>
  18. 18. Crescendo <ul><li>Você não está só ! </li></ul><ul><li>Assuma o posto de gerente aos poucos </li></ul><ul><li>Preocupe-se com </li></ul><ul><ul><li>A manutenção dos testes unitários </li></ul></ul><ul><ul><li>A manutenção da documentação </li></ul></ul><ul><ul><li>A manutenção das traduções </li></ul></ul><ul><ul><li>A motivação da sua equipe </li></ul></ul><ul><ul><li>Delegar responsabilidades (mas não muito) </li></ul></ul><ul><ul><li>Copyright dos desenvolvedores </li></ul></ul>
  19. 19. Adquirindo Recursos <ul><li>Associe-se ou crie uma ONG . </li></ul><ul><li>Pesquise empresas usuárias </li></ul><ul><li>Permita doações </li></ul><ul><li>Utilize banners discretos (Google/UOL) </li></ul><ul><li>Busque parcerias nas universidades </li></ul><ul><li>Garanta a qualidade! </li></ul>
  20. 20. Vivendo de Open Source <ul><li>Crie uma empresa </li></ul><ul><ul><li>Serviços de customização </li></ul></ul><ul><ul><li>Documentação </li></ul></ul><ul><ul><li>Suporte urgente </li></ul></ul><ul><ul><li>Plugins e/ou versão paga </li></ul></ul><ul><li>Mantenha a comunidade! </li></ul><ul><li>Dê prêmios para os commiters </li></ul><ul><li>Envie os commiters para palestras </li></ul><ul><li>Crie um plano de recompensa </li></ul>
  21. 21. Descontinuando o Projeto <ul><li>Normal ! </li></ul><ul><li>Passe adiante </li></ul><ul><li>Mantenha o código e a página on-line </li></ul><ul><li>Avise aos desenvolvedores. </li></ul><ul><li>Avise as distribuições ! </li></ul>
  22. 22. Obrigado Perguntas? <ul><li>Vitor Fernando Pamplona </li></ul><ul><li>[email_address] </li></ul><ul><li>http://vitorpamplona.com </li></ul>

×