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
880
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
400
Building the GitHub workspace app
bkeepers
PRO
1
300
Contributing to Your Career
bkeepers
PRO
3
650
A Maturity Model for Embracing Open Source Software
bkeepers
PRO
3
850
Open Source Principles for Internal Engineering Teams
bkeepers
PRO
7
1.3k
Carbon, Automobiles, Bebop & Fashion
bkeepers
PRO
1
430
Tending Your Open Source Garden, v2
bkeepers
PRO
1
490
The Loyal Renegade
bkeepers
PRO
3
760
A Chronicle of the Nebulous HTML5
bkeepers
PRO
11
880
Other Decks in Technology
See All in Technology
LLMOps : ΔMLOps
shuntaito
13
2.1k
XSS攻撃から考察するAWS設定不備の恐怖/20241012 Hironobu Otaki
shift_evolve
0
150
Application Signalsで始めるSLO ユーザー満足度を数値化する第一歩
niftycorp
PRO
2
160
Rist_Meetup_Kaggleは業務の役にたつ - ビジネスコンテンツ情報を活用する BtoB 事業編 - / rist-meetup-20241012
taro_masuda
1
350
まだ間に合う! 生成AIトレンド一挙おさらい & AWSのBedrockに入門しよう
minorun365
PRO
4
310
AWS Lambda と Amazon SQS で「わかった気になれる」FreeRTOS 入門
soracom
PRO
2
150
From naive to advanced RAG: the complete guide
glaforge
0
680
多数のWebサービスをECS/Fargate構成で効率よく構築・運用するなら copilot-cli
interu
2
170
LeSS Yoake 2024 スポンサーセッション
riki_hiraoka
0
160
Demystifying Vite Internals
nozomuikuta
3
760
SOLID - Architecture and Architectural Decisions - Devfest Goa 2024
rivuchk
0
160
ゼロからはじめる生成AI〜AWS認定とハンズオンで学ぶ初心者の道〜
kenichinakamura
0
140
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
167
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
What's new in Ruby 2.0
geeforr
342
31k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Facilitating Awesome Meetings
lara
49
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Producing Creativity
orderedlist
PRO
341
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Designing for humans not robots
tammielis
249
25k
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