Como contribuir com projetos de software livre



Documentos relacionados
Como contribuir com projetos de software livre

COLABORANDO COM O GNOME Aprendendo os primeiros passos de como colaborar com o projeto GNOME

S o f t w a r e L i v r e e S u m m e r o f C o d e. Adriano Monteiro Marques <py.adriano@gmail.com>

FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER.

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Os desafios do Bradesco nas redes sociais

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Principais Sistemas Operacionais. Prof. Fernando Nakayama de Queiroz

NO ABRIR DA MINHA BOCA (EFÉSIOS 6:19) USO DO POWERPOINT

Aprenda, ensine, instale e compartilhe

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)

Política de Afiliados

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

Trilha PHP PHP: adquirindo experiência e qualificação em projetos internacionais

Controle de Versão de Software. Luiz Jácome Júnior

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Software Livre. Islene Calciolari Garcia. 15 de junho de Instituto de Computação - Unicamp

Web Design Aula 11: Site na Web

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

Projeto Fedora. Fábio Olivé Embaixador do Projeto Fedora no Brasil

Sistemas de Produtividade

FACULDADE SENAC-RS PELOTAS RODRIGO ALMEIDA PEREIRA. Sistemas de Informação

Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software

10 estratégias para gerar tráfego para seu blog

Como é o desenvolvimento de Software?

software livre: a tecnologia que liberta!

Software Livre, Redes Sociais e Segurança na Internet. Alexandro Silva alexos@ngsecurity.com.br

Tutorial Moodle Visão do Aluno

Backup. Prof. Marciano dos Santos Dionizio

Software Livre, Ética, Segurança e Privacidade na Internet. Prof. Alexandro Silva

Git e contribuição para projetos Open Source. Bruno Orlandi

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

Registro e Acompanhamento de Chamados

Tiago Rodrigo Marçal Murakami

Controle de Versão com GIT

Versionamento de Código. Núcleo de Desenvolvimento de Software

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Introdução ao Git. Laboratório de Programação. Luísa Lima, Pedro Vasconcelos, DCC/FCUP. Março 2015

Manual Arkos Administrador

Empresário. Você curte moda? Gosta de cozinhar? Não existe sorte nos negócios. Há apenas esforço, determinação, e mais esforço.

4 passos para uma Gestão Financeira Eficiente

Circuito Curitibano de Software Livre

Java Programação para Fábrica de Software. Fernando Lozano Consultor 4Linux

Mas como você gera sua lista de ? Listei abaixo algumas das formas de construir uma lista de marketing eficaz;

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE

Como Criar Sites Grátis de Sucesso

Manual. Configuração do. Samba. Compartilhamento e Servidor Samba Linux. Produzido por: Sergio Graças Desenvolvedor do Projeto GNU/Linux VRlivre

JVM s Livres. Paloma Costa. javawoman@portaljava.com.br

Aprendendo a ESTUDAR. Ensino Fundamental II

Software Livre e Redes Sociais. Prof. Alexandro Silva

Engenharia de Software e Software Livre

Integração de Ferramentas de Apoio a Processos Outubro 2010 GUSTAVO VAZ NASCIMENTO

Para participar de um mapa colaborativo usando o Cmap Tools

Consultoria sobre Joomla!

Curso Introdução ao Linux. Desmistificando o Software Livre. Nícholas André nicholas@iotecnologia.com.

Celebre este natal e ano novo junto aos seus amigos e familiares distantes.

Produção de tutoriais. Coordenação de IAESMEVR Usando o Gerador de Vídeo 4.5

Simulador ITIL Exame de Certificação da EXIM

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Controle de Versão. Prof. Msc. Bruno Urbano Rodrigues.

Manual do Google agenda. criação e compartilhamento de agendas

Trilha Agile TDD e 20 coisas que você precisa saber

COMO ORGANIZAR UM EVENTO VAI ORGANIZAR UM EVENTO? TEMOS DICAS VALIOSAS PARA TE AJUDAR! womoz.mozillabrasil.org.br

Curso de Informática Básica

16:21:50. Introdução à Informática com Software Livre

Desenvolvendo Websites com PHP

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

No E-book anterior 5 PASSOS PARA MUDAR SUA HISTÓRIA, foi passado. alguns exercícios onde é realizada uma análise da sua situação atual para

Aula 01. Introdução ao Linux

Problemas em vender? Veja algumas dicas rápidas e práticas para aumentar suas vendas usando marketing

ANALISE AS RESPOSTAS DA PESQUISA COMPARTILHE OS RESULTADOS COM OS SÓCIOS DO SEU CLUBE E OUTROS COMPANHEIROS LEÕES

Manual prático de criação publicitária. (O dia-a-dia da criação em uma agência)

Tutoriais de apoio para a migração do Atualização: 30/04/2014

Informática I. Aula Baseada no Capítulo 2 do Livro Introdução a Informática Capron e Johnson

SOCIEDADE DA INFORMAÇÃO E LIBERDADE DE CONHECIMENTO. Professor Milton José Lyrio Simonetti prof.milton@ig.com.br

Prof. Me. Marcos Echevarria

3 Estudo de Ferramentas

Online com o Ubuntu. Navegue na web Envie Converse com amigos Acesse máquinas remotas Video conferência

Programas Funciões valores Iniciais

3 Dicas MATADORAS Para Escrever s Que VENDEM Imóveis

LibreOffice e o poder da comunidade

Manual. Por: PET ADM UFMG. Um guia para conhecer melhor a faculdade

INSTRUMENTO NORMATIVO 004 IN004

Instituto Federal de Educação, Ciência e Tecnologia. IF baiano Turno: matutino Nome: Almiro,Erica,Flavia,Valdinéia Professora: Laís 2015

PASSOS INICIAIS PARA CRIAR O SEU NEGÓCIO DIGITAL. Aprenda os primeiros passos para criar seu negócio digital

O guia completo para uma presença. online IMBATÍVEL!

Marketing: Dicas De Como Fazer De Uma Forma Que Funciona

Ministério do Esporte. Cartilha do. Voluntário

O dia dos namorados está chegando junto com a oportunidade de vender mais com a ajuda do CRM, veja estas dicas para criar uma estratégia de vendas

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.


PASSO A PASSO: CRIAÇÃO DE PERSONAS

Utilizando a ferramenta de criação de aulas

Transcrição:

Como contribuir com projetos de software livre Luciana Fujii Pontello 1 / 29

Software livre? 2 / 29

Por que contribuir? Software livre Liberdade não preço Linux, Ubuntu? Sim, mas não só Quatro liberdades básicas 3 / 29

Por que contribuir? Quatro liberdades 0 - A liberdade de executar o programa, para qualquer propósito. 1 - A liberdade de estudar como o programa funciona, e adaptá-lo como você quiser. (Acesso ao código-fonte é um pré-requisito para esta liberdade.) 2 - A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo. 3 - A liberdade de distribuir cópias do seu programa modificado. (Dessa forma toda a comunidade pode se beneficiar). 4 / 29

Por que contribuir? Por que contribuir? Por que você acredita em software livre! Devolver o que se recebe Melhorar seus conhecimentos Porque é divertido Coçar aquela coceira Ter reconhecimento Carreira profissional Experiência internacional Comunidade, pessoas 5 / 29

Por que contribuir? DDs no mundo 6 / 29

Por que contribuir? GNOME no mundo 7 / 29

Por que contribuir? Contribuição no Brasil Muitos usuários, mas poucos contribuidores em geral Entre as contribuições, poucas são de código Cultura de consumir e não de produzir 8 / 29

Por que contribuir? Minha experiência 2002/2003 - Usuária e defensora de software livre 2004 - Organização do primeiro Encontro Mineiro de Software Livre, trabalhando em projeto de software livre na UFMG 2005... 2006... 2007... 2008... 2009... 2010 - Trabalho com GStreamer, GNOME Outreach Program 2011 - Mantenedora do Cheese, mentora do GSOC, comecei a trabalhar com desenvolvimento de software livre 9 / 29

Por que contribuir? O difícil é começar Primeira experiência foi difícil, conhecer o ambiente e o código até conseguir fazer alguma coisa útil Depois do primeiro passo as idéias aparecem, é muito mais fácil e rápido consertar pequenas coisas Encontrar o que se gosta de fazer 10 / 29

Por que contribuir? Várias possibilidades de contribuições Desenvolvimento Tradução Design Documentação Organização de eventos Usabilidade Desenvolvimento web Teste Marketing Patrocínio 11 / 29

Ferramentas de desenvolvimento Ferramentas de desenvolvimento Um dos principais desafios é conhecer como os projetos são organizados. Ferramentas de software livre: controle de versão (git, bzr, svn, cvs) bug tracking (bugzilla...) IRC, e-mails 12 / 29

Ferramentas de desenvolvimento Bug trackers Controle dos bugs do software Bugzilla Bom lugar para encontrar problemas para trabalhar Pode ser usado para controlar os patches Usado para discussões de certos problemas Reportar bugs e testar são boas formas de começar a se envolver 13 / 29

Ferramentas de desenvolvimento Dicas para reportar bugs Procurar se o bug já foi reportado Tentar verificar se já foi consertado numa próxima versão Descrever como e quando acontece o problema Colocar versão dos softwares utilizados Acompanhar as respostas 14 / 29

Ferramentas de desenvolvimento Comunicação Cada projeto tem sua dinâmica É importante saber onde encontrar as pessoas: lista de e-mails irc bugzilla? Lembre-se que a maioria das pessoas também é voluntária Mostrar que está interessado em aprender e que procurou a informação (leia a documentação) As vezes é necessário insistir 15 / 29

Ferramentas de desenvolvimento Controle de versão Ajuda você a manter seu programa, mesmo que sozinho Cada projeto funciona de um jeito Controle de versão centralizado (CVS, SVN) Controle de versão distribuído (Git, Bazar) Git: Várias facilidades, como branches Formata patches para serem colocados no bug tracker Servidores grátis: GitLab, GitHub 16 / 29

Desafios Desafios Começar é difícil Cultura do projeto Dependência de bibliotecas muito novas Compilar o código a primeira vez pode ser custoso Tecnologias diferentes Pessoas não amigáveis 17 / 29

Desafios Como facilitar pra você Acostume-se às ferramentas usadas, elas também vão te ajudar no dia-a-dia. Tente instalar o software pelo código fonte. Aprenda inglês. Participe de listas de discussão e IRC, isso ajuda a entender melhor como a comunidade funciona. Peça ajuda! Todo mundo já foi iniciante em algum ponto. Ajude também: por mais que seus conhecimentos sejam pequenos, você pode ajudar pessoas iniciantes também e aprender com isso. Não desanime! 18 / 29

Incentivos a contribuição Incentivos a contribuição Bolsas Marcar bugs para iniciantes Canais de IRC para iniciantes Mentores 19 / 29

Incentivos a contribuição Projetos para incentivo a contribuições OpenHatch Google Summer of Code Outreachy GNOME Love KDE Junior Jobs Google Code in etc 20 / 29

Incentivos a contribuição OpenHatch Objetivo de ajudar desenvolvedores a encontrar comunidades, ferramentas e educação para o que precisam Busca por tarefas em projetos para contribuir Definido por linguagem, dificuldade, label e projeto Educação: missões para aprender a tecnologia necessária para contribuir para projetos de software livre. Exs: usar git, usar shell, usar diff e patch Projetos de software livre cadastram no OpenHatch para se tornarem mais amigáveis a novos participantes https://openhatch.org 21 / 29

Incentivos a contribuição Google Summer of Code Voltado para estudantes de curso superior ou pós graduação Acontece durante o verão do hemisfério norte O Google fornece uma bolsa para o estudante e um valor para o projeto organizador Projetos aprovados: GNOME, KDE, GStreamer, Mozilla, Wikimedia Foundation, etc sempre participam Os projetos dão idéias do que pode ser feito O estudante propõe um projeto para trabalhar durante o período Os estudantes são aprovados com um projeto O estudante trabalha com um mentor 22 / 29

Incentivos a contribuição Outreachy Surgiu com a idéia de incentivar a participação de mulheres no GSOC Acontece duas vezes por ano (no período de férias do hemisfério sul e norte) Apenas para mulheres Não é exclusivo para estudantes Não é só Code Os projetos podem ter mais interação com a comunidade Assim como o GSOC, trabalha com bolsa e mentor 23 / 29

Incentivos a contribuição Google Code In Voltado para estudantes pré-universitários (13-17 anos). Acontece no nosso verão. Alguns ganhadores ganham passagens para o Google em Mountain View. Projetos aprovados: alguns dos que participam do GSOC (GNOME, KDE...). Os projetos definem tarefas de diversas áreas e a dificuldade. Inclui tarefas de programação, documentação, marketing, acessibilidade entre outros. 24 / 29

Tutoriais Primeiro patch no GNOME Decida o que você quer fazer, bugs marcados como GNOME Love são boas idéias Baixe o software pelo git Construa e rode Desenvolva, teste... peça ajuda se precisar Comemore! 25 / 29

Tutoriais Primeiro patch no GNOME Crie seu patch com git format-patch Abra um bug no bugzilla sobre o problema e coloque seu patch Responda as perguntas e modifique seu patch de acordo com os comentários Se precisar insista! Pode ser difícil descobrir o melhor jeito de fazer algumas modificações, não desista! 26 / 29

Tutoriais Contribuir no github Forke o projeto pela interface do github Clone o seu fork no seu computador ($ git clone <endereço>) Crie um branch para trabalhar nas suas modificações ($ git branch -b newbranch) Faça commit das suas modificações ($ git add <file> $ git commit) Faça push para o seu branch ($ git push newbranch) Mande um pull request para o projeto 27 / 29

Conclusão Just do it! Não deixe para amanhã ou pra daqui a 7 anos. Participar de um programa é um bom começo e também um bom objetivo. Como fazer uma aplicação ser aceita no GSOC? Contribua antes! Peça ajuda. 28 / 29

Conclusão Links https://openhatch.org http://live.gnome.org/joingnome http://br.gnome.org/gnomebr/colabore http://community.kde.org/getinvolved http://www.debian.org/devel/join/ https://developers.google.com/open-source/soc/?csw=1 e-mail: luciana@fujii.eti.br 29 / 29