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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Carlos Antonio
March 07, 2015
Technology
5
480
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
250
Os truques que o Rails não te contou @ RubyConf Brasil 2014
carlosantoniodasilva
20
850
Os truques que o Rails não te contou @ TDC Floripa 2014
carlosantoniodasilva
18
970
Tricks that Rails didn't tell you about @ RailsConf 2014
carlosantoniodasilva
76
12k
Integração de gems com o Rails @ RS on Rails
carlosantoniodasilva
2
180
Escrevendo Aplicações Melhores @ RubyConf Brasil
carlosantoniodasilva
3
160
Railties @ WyeWorks
carlosantoniodasilva
1
110
Plataformatec's Hacking Evenings @ RubyConf Uruguay
carlosantoniodasilva
1
110
1,2,3 Live! Frontend Optimizations @ GuruSC
carlosantoniodasilva
1
100
Other Decks in Technology
See All in Technology
OSSで構築するIT基盤管理実践事例: NetBox・Snipe-IT・FreeRADIUS+PrivacyIDEA / Practical Case Studies of IT Infrastructure Management Using OSS
nttcom
0
200
GitLab Duo Agent Platform + Local LLMサービングで幸せになりたい
jyoshise
0
110
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
5
2.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
95k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
900
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
30
9k
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
1
780
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.1k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
690
JAWS DAYS 2026 CDP道場 事前説明会 / JAWS DAYS 2026 CDP Dojo briefing document
naospon
0
150
Security Diaries of an Open Source IAM
ahus1
0
200
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
200
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
How to Ace a Technical Interview
jacobian
281
24k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Code Review Best Practice
trishagee
74
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Designing Powerful Visuals for Engaging Learning
tmiket
0
260
Practical Orchestrator
shlominoach
191
11k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Site-Speed That Sticks
csswizardry
13
1.1k
A Tale of Four Properties
chriscoyier
162
24k
Balancing Empowerment & Direction
lara
5
930
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 !"❤$%