Open source
responsibly
It takes less time than you think
sábado, 28 de septiembre de 13
About me
sábado, 28 de septiembre de 13
About me
@michaelklishin
sábado, 28 de septiembre de 13
About me
sábado, 28 de septiembre de 13
About me
clojurewerkz.org
sábado, 28 de septiembre de 13
About me
Ex-Travis CI
core
sábado, 28 de septiembre de 13
About me
sábado, 28 de septiembre de 13
About me
data processing
and analytics
sábado, 28 de septiembre de 13
About me
dozen of programming
languages, <3 ƛ
sábado, 28 de septiembre de 13
About me
recognized animated
gifs expert
sábado, 28 de septiembre de 13
About this talk
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
More open source producers
sábado, 28 de septiembre de 13
Many more open source
consumers
sábado, 28 de septiembre de 13
Responsibility
sábado, 28 de septiembre de 13
responsibility |riˌspänsəәˈbiləәtē|
noun ( pl. responsibilities )
the state or fact of having a duty to deal with
something or of having control over someone
sábado, 28 de septiembre de 13
You develop a library…
sábado, 28 de septiembre de 13
Someone starts using it…
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
It changes over time…
sábado, 28 de septiembre de 13
Responsible maintainer
makes sure the users
aren’t angry
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Why can they be angry?
sábado, 28 de septiembre de 13
•Incorrect expectations/
assumptions
sábado, 28 de septiembre de 13
•Incorrect expectations/
assumptions
•Unexpected changes
sábado, 28 de septiembre de 13
•Unexpected changes
•Nobody to help
sábado, 28 de septiembre de 13
•Unexpected changes
•Nobody to help
•Too hard to contribute
sábado, 28 de septiembre de 13
•Unexpected changes
•Nobody to help
•Too hard to contribute
•Maintainer is an a-hole
sábado, 28 de septiembre de 13
Free as in “Fuck you,
I don’t owe you anything!”
sábado, 28 de septiembre de 13
Solvable?
sábado, 28 de septiembre de 13
Have a helpful README
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
What does this thing do?
sábado, 28 de septiembre de 13
How mature is it?
sábado, 28 de septiembre de 13
How do I install it?
sábado, 28 de septiembre de 13
What runtimes and/or
versions are supported?
sábado, 28 de septiembre de 13
What license does it use?
sábado, 28 de septiembre de 13
Where can I get help?
sábado, 28 de septiembre de 13
Have a mailing list
sábado, 28 de septiembre de 13
Let community members
help you help your users
sábado, 28 de septiembre de 13
Have an IRC channel
sábado, 28 de septiembre de 13
Helping others earns
their respect
sábado, 28 de septiembre de 13
Keep a change log
sábado, 28 de septiembre de 13
Keep a useful change log
sábado, 28 de septiembre de 13
No, git log is not a change log
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Do you write brilliantly
detailed commit messages?
sábado, 28 de septiembre de 13
Do you have incredible
discipline?
sábado, 28 de septiembre de 13
git log is often hard to interpret
for project outsiders
sábado, 28 de septiembre de 13
Provide details for humans
sábado, 28 de septiembre de 13
Developer vs. Ops
sábado, 28 de septiembre de 13
What’s new?
Developer
sábado, 28 de septiembre de 13
How do I use it?
Developer
sábado, 28 de septiembre de 13
Will my code break?
Developer
sábado, 28 de septiembre de 13
Why was it added?
Developer
sábado, 28 de septiembre de 13
Ops
sábado, 28 de septiembre de 13
What has changed?
Ops
sábado, 28 de septiembre de 13
Will my shit break?
Ops
sábado, 28 de septiembre de 13
How do I upgrade?
Ops
sábado, 28 de septiembre de 13
Is it urgent to upgrade?
Ops
sábado, 28 de septiembre de 13
Post release announcements
sábado, 28 de septiembre de 13
Have a project blog
sábado, 28 de septiembre de 13
Have a Twitter account
sábado, 28 de septiembre de 13
Care about backwards
compatibility
sábado, 28 de septiembre de 13
It’s that thing that
Java people do
sábado, 28 de septiembre de 13
It prevents…
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Document well
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
“My favorite part about ClojureWerkz
is documentation…”
sábado, 28 de septiembre de 13
Documentation breeds trust
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Make it easy to contribute
sábado, 28 de septiembre de 13
Fuck paper contributor
agreements
sábado, 28 de septiembre de 13
Explain the basics of
development process
sábado, 28 de septiembre de 13
e.g.“we develop shit on
the develop branch, master
is for stable releases only”
sábado, 28 de septiembre de 13
Explain how to install & run
dependencies
sábado, 28 de septiembre de 13
travis-ci.org or GTFO
sábado, 28 de septiembre de 13
Worst case scenario I can
sniff your .travis.yml
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Help beginners help you
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Don’t be an asshole
sábado, 28 de septiembre de 13
You never know who
the contributor is
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
“But what if I’m no longer interested
in maintaining X?”
sábado, 28 de septiembre de 13
Pass it on
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
No matter what you do,
don’t release abandonware
sábado, 28 de septiembre de 13
”But who cares, it’s not my
problem what the users will do”
sábado, 28 de septiembre de 13
Fair enough
sábado, 28 de septiembre de 13
But it’s your reputation
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
“It sounds too fucking hard”
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
“Dafuq is open source?”
sábado, 28 de septiembre de 13
“You are not getting paid for it?”
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Open source is one of the best
ways to market yourself
as an engineer
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
How do you even find time?
sábado, 28 de septiembre de 13
Standardize
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
• Standard README
sábado, 28 de septiembre de 13
• Standard README
• Standard change log format
sábado, 28 de septiembre de 13
• Standard README
• Standard change log format
• Standard announcement blog posts
sábado, 28 de septiembre de 13
• Standard README
• Standard change log format
• Standard announcement blog posts
• Standard library template (e.g. with
Leiningen)
sábado, 28 de septiembre de 13
Automate
sábado, 28 de septiembre de 13
Engage contributors
sábado, 28 de septiembre de 13
sábado, 28 de septiembre de 13
Thank you
sábado, 28 de septiembre de 13
@michaelklishin
clojurewerkz.org
sábado, 28 de septiembre de 13

Open source responsibly