Slide 1

Slide 1 text

Contribuir Para Open Source Como Colaborador e Maintainer Isabel Costa @isabelcmdcosta #devfestPT

Slide 2

Slide 2 text

● Software Engineer @ Globality ● Admin @ AnitaB.org Open Source ● GSoC ‘18, ‘20; GCI ‘19 @isabelcmdcosta @isabelcosta isabelcosta.github.io Isabel Costa @isabelcmdcosta #devfestPT

Slide 3

Slide 3 text

Agenda ● Como me tornei colaboradora... ● 7 lições como colaboradora ● Como me tornei maintainer... ● 7 lições como maintainer ● Conclusões finais @isabelcmdcosta #devfestPT

Slide 4

Slide 4 text

Como me tornei Colaboradora... @isabelcmdcosta #devfestPT

Slide 5

Slide 5 text

Gostava de … Como começar? Open Source @isabelcmdcosta #devfestPT

Slide 6

Slide 6 text

REJEIÇÃO 2016 @isabelcmdcosta #devfestPT

Slide 7

Slide 7 text

Dezembro 2017: Primeira PR durante 24 Pull Requests @isabelcmdcosta #devfestPT

Slide 8

Slide 8 text

ACEITE 2018 @isabelcmdcosta #devfestPT

Slide 9

Slide 9 text

@isabelcmdcosta #devfestPT

Slide 10

Slide 10 text

O que aprendi sobre ser colaboradora até agora? @isabelcmdcosta #devfestPT

Slide 11

Slide 11 text

Ajuda ter interesse naquilo para que se está a contribuir @isabelcmdcosta Lição 1 #devfestPT

Slide 12

Slide 12 text

Porquê contribuo para Open Source? ● Praticar e aprender novas competências ● Construir portfolio ● Contribuir de volta para a comunidade (Voluntariado) ● Adoro o aspecto de comunidade de OS @isabelcmdcosta #devfestPT

Slide 13

Slide 13 text

Há muitos recursos, projetos e comunidades ao qual podes contribuir @isabelcmdcosta Lição 2 #devfestPT

Slide 14

Slide 14 text

Projects @isabelcmdcosta #devfestPT

Slide 15

Slide 15 text

Iniciativas @isabelcmdcosta #devfestPT

Slide 16

Slide 16 text

Não tens de saber programar para contribuir @isabelcmdcosta Lição 3 #devfestPT

Slide 17

Slide 17 text

Design @isabelcmdcosta Source: https://github.com/genuinetools/pepper/pull/4 #devfestPT

Slide 18

Slide 18 text

Garantia de qualidade @isabelcmdcosta #devfestPT

Slide 19

Slide 19 text

Conteúdo @isabelcmdcosta #devfestPT

Slide 20

Slide 20 text

Conteúdo Source: https://github.com/scala-exercises/exercises-fpinscala/pull/55 @isabelcmdcosta #devfestPT

Slide 21

Slide 21 text

Conteúdo @isabelcmdcosta #devfestPT

Slide 22

Slide 22 text

Bug fixes Source: https://github.com/getodk/collect/pull/1986 #devfestPT @isabelcmdcosta

Slide 23

Slide 23 text

Feedback Credit: http://systers-opensource.blogspot.com/2018/02/the-importance-of-feedback.html @isabelcmdcosta #devfestPT

Slide 24

Slide 24 text

Outras formas de contribuir ● Rever código em pull requests ● Sê mentor em iniciativas OS ● Ajuda outros a contribuir ● Ajuda a melhorar documentação ● Promove o projeto ● Reportar bugs e falhas ● Gere issues e contribuidores ● … usa os teus fortes! @isabelcmdcosta #devfestPT

Slide 25

Slide 25 text

Nem todos os projetos e comunidades são geridas da mesma forma @isabelcmdcosta Lição 4 #devfestPT

Slide 26

Slide 26 text

Sê sincero/a sobre expectativas @isabelcmdcosta Lição 5 #devfestPT

Slide 27

Slide 27 text

Confiança melhora com o tempo @isabelcmdcosta Lição 6 #devfestPT

Slide 28

Slide 28 text

Passos para uma contribuição Fork Clona Trabalha Commit & Push Submete PR Comunica e faz perguntas! #devfestPT @isabelcmdcosta

Slide 29

Slide 29 text

Tirar maior partido de Open Source requer trabalho Lição 7 #devfestPT @isabelcmdcosta

Slide 30

Slide 30 text

O que ter em consideração ... ● Será a comunidade acolhedora e inclusiva? ○ Código de conduta e instruções de como reportar? ○ Discussões na comunidade ● As discussões da comunidade são transparentes? ● Permite diferentes tipos de contribuições? ● O projecto está ativo? ○ Dia do último commit? # issues pull requests abertas @isabelcmdcosta #devfestPT

Slide 31

Slide 31 text

Como me tornei Maintainer... @isabelcmdcosta #devfestPT

Slide 32

Slide 32 text

O que aprendi sobre ser maintainer até agora? Eis 7 lições @isabelcmdcosta #devfestPT

Slide 33

Slide 33 text

Não tens de saber tudo @isabelcmdcosta Lição 1 #devfestPT

Slide 34

Slide 34 text

Podes aprender de colaboradores @isabelcmdcosta Lição 2 #devfestPT

Slide 35

Slide 35 text

Diversidade de colaboradores @isabelcmdcosta Lição 3 #devfestPT

Slide 36

Slide 36 text

Um colaborador não desistiu e resolveu o seu problema! (...) @isabelcmdcosta #devfestPT

Slide 37

Slide 37 text

Pode ser estressante manter um projeto “popular” @isabelcmdcosta Lição 4 #devfestPT

Slide 38

Slide 38 text

Fiz merge de código que partiu Swagger Docs! @isabelcmdcosta #devfestPT

Slide 39

Slide 39 text

Consegui resolver o bug rapidamente! @isabelcmdcosta #devfestPT

Slide 40

Slide 40 text

Pode ser estressante manter um projeto “popular” @isabelcmdcosta Lição 4 #devfestPT

Slide 41

Slide 41 text

Podes partilhar responsabilidades como maintainer @isabelcmdcosta Lição 5 #devfestPT

Slide 42

Slide 42 text

Dois membros da comunidade ajudaram a rever o código! @isabelcmdcosta #devfestPT

Slide 43

Slide 43 text

Colaboradores não encontram o projecto do nada @isabelcmdcosta Lição 6 #devfestPT

Slide 44

Slide 44 text

Como atrair novos colaboradores ● Promove o projeto ○ Participa em iniciativas de Open Source ○ Escreve blog posts e apresenta o projeto em meetups ● Configuração fácil de projecto ● Plano sobre o desenvolvimento futuro ● Issues para iniciantes ○ Categoriza como “good first issue” ou “first timer only” ● Meios de comunicação ● Boa documentação @isabelcmdcosta #devfestPT

Slide 45

Slide 45 text

@isabelcmdcosta #devfestPT

Slide 46

Slide 46 text

Resources ● Licença → https://choosealicense.com/ ● Código de conduta → https://www.contributor-covenant.org/ ● Guias sobre tudo relacionado com OS → https://opensource.guide/ ● Promover projeto → zenika-open-source/promote-open-source-project ● Ferramentas de automação: ○ GitHub Actions, Codecov, Codacy, Code Climate, CircleCI, TravisCI, ... ● Bot em destaque → all-contributors/all-contributors @isabelcmdcosta #devfestPT

Slide 47

Slide 47 text

Ser maintainer é uma posição de liderança @isabelcmdcosta Lição 7 #devfestPT

Slide 48

Slide 48 text

Notas finais... @isabelcmdcosta #devfestPT

Slide 49

Slide 49 text

Sê paciente Sê receptivo/a Sê amigável @isabelcmdcosta #devfestPT

Slide 50

Slide 50 text

"(...) the world is a better place when everyone takes time to understand one another. (...)" from Special Books by Special Kids video: https://www.youtube.com/watch?v=5pWrZQZb4BM @isabelcmdcosta #devfestPT

Slide 51

Slide 51 text

Obrigada! @isabelcmdcosta @isabelcosta isabelcosta.github.io #devfestPT