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
Tending Your Open Source Garden
Search
Brandon Keepers
PRO
June 26, 2014
Technology
2
850
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
370
Building the GitHub workspace app
bkeepers
PRO
1
270
Contributing to Your Career
bkeepers
PRO
3
610
A Maturity Model for Embracing Open Source Software
bkeepers
PRO
3
810
Open Source Principles for Internal Engineering Teams
bkeepers
PRO
7
1.2k
Carbon, Automobiles, Bebop & Fashion
bkeepers
PRO
1
380
Tending Your Open Source Garden, v2
bkeepers
PRO
1
450
The Loyal Renegade
bkeepers
PRO
3
720
A Chronicle of the Nebulous HTML5
bkeepers
PRO
11
850
Other Decks in Technology
See All in Technology
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
Azure AI ことはじめ
tsubakimoto_s
0
130
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
160
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
220
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
opelab
10
4.4k
AOAI Dev Day - Opening Session
yoshidashingo
2
470
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
160
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
210
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
29
6.1k
Six Lessons from altMBA
skipperchong
24
3.2k
Raft: Consensus for Rubyists
vanstee
134
6.5k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
KATA
mclloyd
20
13k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Become a Pro
speakerdeck
PRO
15
4.8k
Web development in the modern age
philhawksworth
203
10k
Speed Design
sergeychernyshev
9
270
Leading Effective Engineering Teams 2024
addyosmani
3
300
Large-scale JavaScript Application Architecture
addyosmani
506
110k
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