Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Tending Your Open Source Garden
Brandon Keepers
PRO
June 26, 2014
Technology
2
560
Tending Your Open Source Garden
Brandon Keepers
PRO
June 26, 2014
Tweet
Share
More Decks by Brandon Keepers
See All by Brandon Keepers
Automating Software Development
bkeepers
PRO
2
150
Building the GitHub workspace app
bkeepers
PRO
0
98
Contributing to Your Career
bkeepers
PRO
2
460
A Maturity Model for Embracing Open Source Software
bkeepers
PRO
3
620
Open Source Principles for Internal Engineering Teams
bkeepers
PRO
6
1k
Carbon, Automobiles, Bebop & Fashion
bkeepers
PRO
1
190
Tending Your Open Source Garden, v2
bkeepers
PRO
1
270
The Loyal Renegade
bkeepers
PRO
3
470
A Chronicle of the Nebulous HTML5
bkeepers
PRO
11
740
Other Decks in Technology
See All in Technology
JJUG2022_spring_Keycloak (Red Hat Single Sign-on)
tinoue
0
200
インフラのCI/CDはGitHub Actionsに任せた
mihyon
0
110
ソフトウェアテスト自動化、一歩前へ
yoshikiito
5
800
誰が正解を知っているのか / Who knows the right answer
takaking22
1
250
データをモデリングしていたら、組織をモデリングし始めた話 / engineers-in-carta-vol3-data-engineer
pei0804
4
3.3k
約6年間運用したシステムをKubernetesに完全移行するまで/Kubernetes Novice Tokyo
isaoshimizu
5
890
マネージャーからみたスクラムと自己管理化
shibe23
0
1.1k
Introduction To Technical Writing
olawanle_joel
0
100
アーキテクチャを明文化して開発に臨んだ話
akkie76
0
340
UIKitのアップデート #WWDC22
akatsuki174
4
340
スタートアップと技術選定と AWS
track3jyo
PRO
2
350
LINEのB2Bプラットフォームにおけるトラブルシューティング2選
line_developers
PRO
4
300
Featured
See All Featured
Statistics for Hackers
jakevdp
781
210k
KATA
mclloyd
7
8.7k
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
What's new in Ruby 2.0
geeforr
336
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
The Pragmatic Product Professional
lauravandoore
19
3k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Code Review Best Practice
trishagee
43
9.2k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Navigating Team Friction
lara
175
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
253
12k
Transcript
http://commons.wikimedia.org/wiki/File:Cress_keyboard-3_sprouting_other_side.jpg Garden @BKEEPERS TENDING YOUR OPEN SOURCE !
http://en.wikipedia.org/wiki/Garden_gnome_liberationists "bkeepers
I ♥ ⚘
I like writing software because I like gardening. https://www.flickr.com/photos/91663396@N00/7080354723/
Open Source is like community gardening. https://www.flickr.com/photos/antoinettevanderieth/8753016923
P L A N C U L T I V
A T E S O W W A T E R M U L C H P R U N E H A R V E S T
M Y G A R D E N S
M Y G A R D E N S dotenv
M Y G A R D E N S dotenv
delayed_job
M Y G A R D E N S dotenv
delayed_job qu
M Y G A R D E N S dotenv
delayed_job qu tinder
M Y G A R D E N S dotenv
delayed_job qu tinder rosie
M Y G A R D E N S dotenv
delayed_job qu tinder rosie github-notifications
Large open source projects are like farming… https://www.flickr.com/photos/messycupcakes/7722551044/
…or land management. https://www.flickr.com/photos/47096398@N08/7462466876
Steve Klabnik http://words.steveklabnik.com/how-to-be-an-open-source-gardener
I’m talking about gardening
Plan https://www.flickr.com/photos/btobin/4456582998
What are your motivations?
The ultimate goal is to produce a harvest.
How much time can you dedicate? https://www.flickr.com/photos/ugardener/3553160869
Open source is hard work, but it often leads to
better software. https://www.flickr.com/photos/ugardener/3553160869
Cultivate https://www.flickr.com/photos/librariesrock/3760104913
Pick a good name.
What makes a name “good”? 1. Searchable 2. Memorable 3.
Suggestive 4. Not too boring 5. Not too weird 6. Not too trendy
None
Q U
Q U OMG, a Better Background Queue!
O M G B B Q OMG, a Better Background
Queue!
Write documentation.
one-line description longer explanation What makes a good README?
one-line description longer explanation how to install it
one-line description longer explanation how to install it how to
use it
how to contribute
See github.com/trending for examples
Choose a license. https://www.flickr.com/photos/andrewprickett/6649056779/
ChooseALicense.com
Follow conventions. https://www.flickr.com/photos/cccpxokkeu/8580600558/
Sow https://www.flickr.com/photos/nateswartphoto/5623220460
This is the easiest part.
Tell the world about it.
Blog about it.
!
Now, ready to work?
Water http://en.wikipedia.org/?title=Talk:Rainbow/Archive_1#mediaviewer/File:Self_Made_Rainbow.JPG
Consistency and diligence are crucial.
Follow your own contribution guidelines.
Invite people in.
Always be hospitable.
Give it time. https://www.flickr.com/photos/onegiantleap/4124211492
Mulch https://www.flickr.com/photos/chiotsrun/3247946933
Only add features that you want to maintain. https://www.flickr.com/photos/ajbatac/7179488176
Tests guard against erosion.
Continuous integration gives contributors confidence.
D O N ’ T F E E D T
H E T R O L L S https://www.flickr.com/photos/eldave/3332622539
Prune https://www.flickr.com/photos/jeremyhiebert/5454990146
Remove features that you don’t want to maintain.
Split them into separate repositories.
dotenv-deployment
Use semantic versioning https://www.flickr.com/photos/jimfischer/8384524415 1.2.6 minor patch major semver.org
Use semantic versioning https://www.flickr.com/photos/jimfischer/8384524415 1.2.6 minor patch major } backwards-compatibile
bug fixes semver.org
Use semantic versioning https://www.flickr.com/photos/jimfischer/8384524415 1.2.6 minor patch major } backwards-compatible
functionality semver.org
Use semantic versioning https://www.flickr.com/photos/jimfischer/8384524415 1.2.6 minor patch major } incompatible
API changes semver.org
Deprecate features in minor versions, remove them in major versions
https://www.flickr.com/photos/jimfischer/8384524415
1.x.x https://www.flickr.com/photos/jimfischer/8384524415 if using_deprecated_feature? warn "[DEPRECATION] This feature has been
" + "deprecated and will be removed in 2.0.", caller[0] # deprecated functionality here end
Keep a changelog. http://bit.ly/1mfVB3d
Changelog.md http://bit.ly/1mfVB3d
Harvest
Give it away when it stops being fun.
…unless you still depend on it.
Clearly state the project’s status.
G R I T
None
None
None
Learn from your mistakes.
“For the record, I am a terrible open source maintainer.
— @bkeepers - 7 Jan 2014
Thank You " bkeepers