Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Contribuindo com projetos OpenSource: a teoria ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Lucas Mazza
October 19, 2013
Technology
10k
14
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Contribuindo com projetos OpenSource: a teoria na prática.
Lucas Mazza
October 19, 2013
More Decks by Lucas Mazza
See All by Lucas Mazza
OpenAPI e Elixir (e qualquer outra linguagem)
lucas
0
120
Ecto sem SQL
lucas
0
410
Feature Toggles! - Elixir
lucas
3
610
Feature Toggles! - Ruby
lucas
2
380
Testes automatizados e a prática antes da teoria
lucas
0
440
Circuit Breakers em Ruby
lucas
1
420
The Zen and Art of Refactoring
lucas
4
1k
Minitest: voltando ao básico sobre testes
lucas
1
430
10 coisas que eu gostaria de ter aprendido mais cedo
lucas
67
5.4k
Other Decks in Technology
See All in Technology
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
200
Atlassian Cloudサポート業務でのAIエージェント活用事例
smt7174
0
190
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
250
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
7
2.9k
データ組織の転換期 一足飛びしない段階的戦略
leveragestech
PRO
0
130
AIエージェントに財布を渡す日 ― 承認付き"買い物エージェント"を作って実演
yama3133
0
110
20260724 情シスAI #1 「全従業員をAIネイティブにする」ために情シスがやっていること(公開版)
frtckty
0
110
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
710
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
390
ガバメントクラウドでのランサムウェア対策
techniczna
1
450
システム監視入門
grimoh
5
780
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
7
4.3k
Featured
See All Featured
Designing for Performance
lara
611
70k
Fireside Chat
paigeccino
42
4k
New Earth Scene 8
popppiees
3
2.4k
How to make the Groovebox
asonas
2
2.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
260
WENDY [Excerpt]
tessaabrams
11
39k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Agile that works and the tools we love
rasmusluckow
331
22k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
380
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Transcript
Contribuindo com projetos OpenSource a teoria na prática
@lucasmazza
http:/ /www.casadocodigo.com.br/products/livro-html-css
None
Open Source wat?
None
Open Source
Open Source Você
OSS Ruby Ruby on Rails jQuery Redis Git Django Bootstrap
Backbone Node.JS Debian PHP Elixir MySQL Java Android AngularJS Docker MongoDB H5BP Android Play
Open Source não é trabalhar de graça
Open Source não é uma competição
Open Source é sobre cultura
Colaboração Comunicação Aprendizado
Desenvolvedores ajudando desenvolvedores
(Obrigado GitHub <3)
Participando dos projetos você pode aprender muito sobre o código
que você usa no seu dia a dia
Como as coisas funcionam
Como as coisas funcionam Design de APIs
Como as coisas funcionam Design de APIs Performance
Como as coisas funcionam Design de APIs Performance Como fazer
software melhor
Ler o código existente é uma bagagem incrível
Você pode ajudar a definir o rumo da comunidade
E dos projetos que são importantes para você
E o importante é começar a participar
“Dude, sucking at something is the first step towards being
sorta good at something.”
como faz?
Reportando bugs
Reportando bugs Enviando patches
Reportando bugs Enviando patches Participando de discussões
Reportando bugs Enviando patches Participando de discussões Revisando colaborações
Todo mundo começa reportando bugs
Confira as issues existentes
Confira as issues existentes StackOverflow e mailing lists
Confira as issues existentes StackOverflow e mailing lists Explique como
reproduzir o bug
Confira as issues existentes StackOverflow e mailing lists Explique como
reproduzir o bug Stacktraces, versões e tudo mais
Não reporte falhas de segurança publicamente
[email protected]
[email protected]
[email protected]
Aprenda as regras de cada projeto
None
Contributing to Ghost 1. Reporting An Issue 2. Working on
Ghost Core 3. Coding standards 4. Submitting Pull Requests 5. Grunt Toolkit 6. Troubleshooting / FAQ 7. Contributor License Agreement CONTRIBUTING.md @ TryGhost/Ghost
twbs/bootstrap joyent/node rails/rails jashkenas/backbone plataformatec/devise
Triagem de issues e test drive de correções
None
None
None
None
None
None
None
o papel de “suporte” é muito importante
Detalhes de configuração
Detalhes de configuração APIs alternativas
Detalhes de configuração APIs alternativas Issues duplicadas
Detalhes de configuração APIs alternativas Issues duplicadas Benchmarks das suas
apps
Tente corrigir sozinho e envie um Pull Request
$ git clone https://github.com/voce/repo.git $ git checkout -b fix-things #
hack hack hack hack hack $ rake test # Pull Request time! $ git commit $ git push origin fix-things -u
None
Busque opiniões sobre o código
Busque opiniões sobre o código merge / rebase / squash
a vontade
Busque opiniões sobre o código merge / rebase / squash
a vontade Tome o seu tempo para acabar
Busque opiniões sobre o código merge / rebase / squash
a vontade Tome o seu tempo para acabar Repita tudo de novo
Feedback é a maior recompensa que você pode receber em
um Pull Request
“[...] Remember that a PR is the start of a
conversation, not the end of one.” CONTRIBUTING.md @ boxen/puppet-git
“Build First, Discuss Later” Mark McSpadden @ Your First Rails
Pull Request
https:/ /help.github.com/articles/using-pull-requests
http:/ /guidelines.plataformatec.com.br/pull-requests
Nem tudo é sobre escrever código
Documentação e guias
Wikis
Typos, warnings e código obsoleto
rails/docrails github/developer.github.com janl/waaa
não se esqueça
Não existe contribuição “pequena demais”
None
Existe um zilhão de formas de participar
None
Não tenha medo de pedir ajuda
None
Colocando o seu código no mundo
“Porque eu colocaria o meu código no GitHub?”
Manter o seu código para o futuro
Manter o seu código para o futuro Receber ajuda de
outros devs
Manter o seu código para o futuro Receber ajuda de
outros devs Vale mais que o seu LinkedIn
None
1 Escolha uma licença
“Choosing a n OSS license doesn’t need to be scary”
http:/ /choosealicense.com
“Choosing a n OSS license doesn’t need to be scary”
http:/ /choosealicense.com TL;DR: Apache 2.0 ou MIT
2 Escreva um README
Readme Driven Development - @mojombo “Consider the process of writing
the Readme for your project as the true act of creation.”
3 Escreva o seu código
Dave Thomas @ elixir-lang-core “[...]In the meantime, the only truth
is code.”
Faça ser fácil contribuir com o seu projeto
O que eu preciso instalar?
O que eu preciso instalar? Como eu testo o que
eu fiz?
O que eu preciso instalar? Como eu testo o que
eu fiz? Qual o workflow do projeto?
Cuide do seu README.md e CONTRIBUTING.md
Abuse do ferramental da comunidade
Automatize as partes mecânicas
source 'https://rubygems.org' gemspec gem 'country_select', '~> 1.1.1' gem 'railties', '>=
4.0.0', '< 4.1' gem 'activemodel', '>= 4.0.0', '< 4.1' gem 'actionpack', '>= 4.0.0', '< 4.1' gem 'rake' gem 'rdoc' gem 'tzinfo' Bundler
Travis CI
Documentação
Vagrant Boxes
WebHooks
Dedique um tempo para revisar as contribuições
E ajude os outros a melhorar o seu software
Retrocompatibilidade
Retrocompatibilidade APIS e styleguides
Retrocompatibilidade APIS e styleguides Promova contribuidores
Retrocompatibilidade APIS e styleguides Promova contribuidores Lidere por exemplo
Não tenha medo de começar de novo
None
“I have learned that in the open- source world, you
are not your code. A critique of your project is not tantamount to a personal attack.” http:/ /sstephenson.us/posts/you-are-not-your-code
Open Source e código fechado
Open Source é baseado em:
Colaboração
Colaboração Comunicação
Colaboração Comunicação Aprendizado
Desenvolvimento de Sofware é baseado em:
Colaboração
Colaboração Comunicação
Colaboração Comunicação Aprendizado
O que funciona de um lado pode funcionar do outro
Descentralização
Descentralização Visibilidade do que é feito
Descentralização Visibilidade do que é feito Comunicação aberta
Descentralização Visibilidade do que é feito Comunicação aberta Autoria coletiva
“Your team should work like an open source project.” http:/
/tomayko.com/writings/adopt-an-open-source-process-constraints
Obrigado! https:/ /twitter.com/lucasmazza https:/ /speakerdeck.com/lucas