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
Contributing to Open Source: from beginning to ...
Search
Carlos Antonio
March 07, 2015
Technology
5
460
Contributing to Open Source: from beginning to lessons learned @ Tropical Ruby 2015
Carlos Antonio
March 07, 2015
Tweet
Share
More Decks by Carlos Antonio
See All by Carlos Antonio
Contribuindo para Open Source @ 1º Tech Day GURU- PR
carlosantoniodasilva
2
230
Os truques que o Rails não te contou @ RubyConf Brasil 2014
carlosantoniodasilva
20
830
Os truques que o Rails não te contou @ TDC Floripa 2014
carlosantoniodasilva
18
960
Tricks that Rails didn't tell you about @ RailsConf 2014
carlosantoniodasilva
76
11k
Integração de gems com o Rails @ RS on Rails
carlosantoniodasilva
2
160
Escrevendo Aplicações Melhores @ RubyConf Brasil
carlosantoniodasilva
3
150
Railties @ WyeWorks
carlosantoniodasilva
1
99
Plataformatec's Hacking Evenings @ RubyConf Uruguay
carlosantoniodasilva
1
94
1,2,3 Live! Frontend Optimizations @ GuruSC
carlosantoniodasilva
1
89
Other Decks in Technology
See All in Technology
経験がないことを言い訳にしない、 AI時代の他領域への染み出し方
parayama0625
0
140
Power Automate のパフォーマンス改善レシピ / Power Automate Performance Improvement Recipes
karamem0
0
140
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
270
P2P ではじめる WebRTC のつまづきどころ
tnoho
1
210
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
270
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
220
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
180
RapidPen: AIエージェントによる高度なペネトレーションテスト自動化の研究開発
laysakura
1
390
新規事業におけるAIリサーチの活用例
ranxxx
0
140
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
220
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
160
AI エンジニアの立場からみた、AI コーディング時代の開発の品質向上の取り組みと妄想
soh9834
6
260
Featured
See All Featured
Producing Creativity
orderedlist
PRO
346
40k
Faster Mobile Websites
deanohume
308
31k
What's in a price? How to price your products and services
michaelherold
246
12k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Optimizing for Happiness
mojombo
379
70k
The Pragmatic Product Professional
lauravandoore
35
6.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
760
Statistics for Hackers
jakevdp
799
220k
Rails Girls Zürich Keynote
gr2m
95
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Six Lessons from altMBA
skipperchong
28
3.9k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Transcript
Contribu)ng+to+Open%Source from%beginning%to%lessons%learned
Many%people%have%difficul1es%to%do% their%first%open%source%contribu1on,% while%others%struggle%to%keep% ac1vely%contribu1ng. —"Carlos"Antonio
Carlos'Antonio @cantoniodasilva
Marley
None
None
None
None
None
None
None
Timeline:(<=#2008
None
None
None
None
Timeline:(2009
None
Timeline 2010!=>!maintaining!Plataformatec!OSS! projects,!ocasional!contribu9ons!to!Rails!and! other!projects.
Timeline 2011!=>!maintaining!Plataformatec!OSS! projects,!ocasional!contribu9ons!to!Rails!and! other!projects.
Timeline 2012!=>!Rafael!and!I!started!working! frequently!on!Rails. Life%got%in%the%way%=>%Burnout.
Timeline 2013!=>!Contribu,ng!again,!without!changing! the!way!I!worked.
I"got"married. <3#<3#<3
Timeline 2013!=>!Contribu,ng!again,!without!changing! the!way!I!worked. Life%got%in%the%way%=>%Burnout.
Timeline 2014!=>!Contribu,ng!again,!but!trying!new! ways!to!remain!ac,ve.
Timeline Today!=>!Par'cipate!while!balancing!my!'me! between!life,!work,!and!OSS. No#burnout.
None
Timeline Future!=>!Trailblazer! Core!Team?!?
Where%do%I%start? Contribu)ng+starts+with+using.
Where%do%I%start? Find%something%fun%(or%painful).
Where%do%I%start? Help%yourself.
How$do$I$start? Look$for$how/what$others$are$doing.
Rely%on%maintainers They%are%there%to%help%and%guide.
How$do$I$start? Use$some$of$your$free$%me$(and$a$bit$of$your$ work$%me$too).
Virtually)no#company)will)give)you) specific#-me)for)Open)Source. —#Carlos#Antonio
It#is#up#to#you!
How$do$I$start? Don't&be&afraid&to&share&your&work. ques%ons,)thoughts,)bug)reports,)small)patches,)typo)or)doc)fixes,) anything!
27.43%!of!all!pull!requests!get! rejected. —(Made(up(number
Who$cares? !\_()_/!
It#is#OK#to#be#wrong.
It#is#all#about learning!/!improving.
Celebrate!when!it!is!accepted.
Remember! Limit!your!&me.!Create!a!workflow.
Remember! Mo#va#on!vs!discipline. h"p:/ /www.wisdomina/on.com/screw3mo/va/on3what3you3need3is3discipline/
Be#nice. Saying'thank&you'doesn't'hurt'<3.
Ge#ng&prac%cal
Asking'ques%ons Avoid!the!issues!tracker. Try$Mailing$Lists,$Stack$Overflow,$IRC,$etc.
Repor&ng)issues Search'for'similar'issues!first.
Repor&ng)issues Try$to$give$as#much#informa-on$as$possible.
Repor&ng)issues Try$to$explain$how$to$reproduce$the$problem.
Sending'comments Add#something!to!the!discussion.
Sending'comments Don't&just&send&a&+1,&please.
None
None
Sending'patches Follow%the%project's*code*conven.ons.
Rails&indent&code&conven.on
Sending'patches Review!what!you've!done!before!submi4ng.
Sending'patches Try$to$give$as#much#context$as$possible.
Sending'patches Add/update)the)docs)and)the)changelog.
Sending'patches Tests?!?
TDD is#dead
Sending'patches Include(tests(when(possible.
Sending'patches Incomplete*patches!are!OK.
Sending'security)patches Never%send%them%to%the%issues%tracker.
Never%send%a%security%patch to#the#issues%tracker
Sending'security)patches Look$for$specific'emails,$or$no-fy'the' maintainers$directly.
RTFC Read%The%F*cking%Contribu)ng.md.
None
None
None
Maintaining!a!project
Split!the!work:!build!a!team Trust&people!to!do!the&right&thing™.
Ask!for!contribu+ons Help%them%help%you.
Turn%no#fica#ons(off%(some+mes) They%might%get%overwhelming.
Respond(to(issues!frequently Create&a&workflow&to&avoid&them&piling&up.
Tips%for%keeping%your%Open%Source% So2ware%issues%tracker%6dy —"José"Valim","Plataformatec
Can$I$contribute$to$Rails$right&now? Help%reviewing%open%issues%and%PRs%❤.
None
Using&the&merge&bu.on&is&easy,& ensuring&that&a&reported&bug&is&really& an&issue&and&that&the&code&in&a&PR&is& ready&to&be&merged&is&way&harder& and&(me*consuming. —*The*Rails*Team
RTFC Read%The%F*cking%Contribu)ng.md.
h"p:/ /guides.rubyonrails.org/
homework
Giving&back:&A&prac/cal&guide&to& OSS&contribu/ons —"Aaron"Pa)erson","Red"Hat
How$to$Contribute$to$Open$Source:$ Extensibility$from$Simplicity —"Ryan"Davis"+"AT&T"Interac4ve
Don't&feel&guilty&about¬& contribu2ng&to&open&source —"Julia"Evans","Stripe
I"some'mes"hear"people"say"“you% should%write%open%source%so2ware!”" like"it’s"a"universal"good."Don’t."Do"it" if"it"makes"sense"for"you,"if"it’s"worth" your"'me! —%Julia%Evans
Contribu)ng+to+Big+Bad+Open+ Source —"Sean"Doyle"+"Thoughtbot
Start%small
Stay%mo#vated
And$keep$patching!
Let$me$know$if$I$can$help$:)
Carlos'Antonio @cantoniodasilva
[email protected]
about.me/carlosantoniodasilva !"❤$%