community building lessons from ansible
TRANSCRIPT
Building a Community in an Accelerated World
Michael DeHaan and Greg DeKoenigsberg
BONA FIDESWho are these guys, anyway?
ABOUT GREGFedora, OLPC, Eucalyptus
Once upon a time, I read a paper
Modularity and Option Value
ABOUT MICHAELLots of systems management tech
Cobbler, Func
Startups
WHAT IS ANSIBLE?Config mgmt, App deployment, Cloud, Orchestration
just manages machines over SSH
expresses configuration and processes in YAML
based on Python, but supports other languages
LINUX REACHED 100+ CONTRIBUTORS A MONTH IN YEAR 11
1 contributor (Linus Torvalds), August 1991
102 contributors, March 2002
https://www.openhub.net/p/linux
ANSIBLE REACHED 100+ CONTRIBUTORS A MONTH IN YEAR 2
1 contributor (Michael DeHaan), February 2012
115 contributors, March 2014
https://www.openhub.net/p/ansible-ssh
WHAT'S CHANGED?And how do you manage an open source project in this new
world?
KEYS TO OUR SUCCESS1. We overcommunicate
2. We use Github wisely
3. We design for first experience
4. We design for modularity
5. We gather the right data for decisions
1. OVERCOMMUNICATE
EMAIL FOR LONG-FORM DISCUSSIONSWhen someone bothers to ask a question...
any question...
they've invested time in your project.
Answer them.
IRC FOR REAL-TIME DISCUSSIONSWhen people need help now, be present.
This takes commitment until you have a community of users.
Almost 50% of our time in early stages of the project
Do allow your community to become self-sufficient.
TWITTER FOR BUZZChatter and banter are great,
but problems can't be solved in 140 characters.
Drive discussions to the mailing list.
Review Twitter daily.
DON'T TAKE CRITICISM PERSONALLYRespond to what requires a response.
Don't feed the trolls.
Don't do drama, and don't be afraid to ban problem users.
WHAT SUCCESS LOOKS LIKE900 users on IRC
3500 ansible-project
8000+ stars on GitHub
2500+ forks, 38% turn into contributions
REMEMBER: QUIET PROJECTS ARE FAILED PROJECTS.
2. USE GITHUB WISELY
THE OLD WAYS ARE GONESix million users are on Github.
Other issue trackers and code systems require different logins.
They all use the same tools.
They all have the same expectations.
And they contribute way more freely.
USE THE ISSUE TRACKERThe ticket system is flexible (and kind of horrible). Use it.
Prioritize issues quickly.
Ask for more information.
Template your responses.
Enlist bots if needed
DO NOT MERGE EVERY SINGLE REQUESTYou are the upstream.
You are responsible for quality.
Review patches even if it takes time.
Mentor contributors where possible.
Take the time to figure out your trusted contributors.
WHAT SUCCESS LOOKS LIKESuccess is having too much work
Several dozens of new pull requests, tickets, and emails a day
~900 people on IRC!
Hundreds of tweets in Japanese you don't understand :)
3. DESIGN FOR FIRST EXPERIENCE
CAN'T INSTALL SIMPLY IN 15 MINUTES?Keep working on it.
CAN'T GET A WORKING EXAMPLE UP IN A LUNCH HOUR?Keep working.
DOCUMENTATION CONFUSES PEOPLE?Keep working on it.
WHAT SUCCESS LOOKS LIKEHappy users
Users starting meetups
...
4. MODULARITY IS CRITICAL
HUGE SCALE IS A FUNCTION OF ARCHITECTURE
WHAT SUCCESS LOOKS LIKE240+ modules in core
Users/customers join development community (Gawker, Zynga,etc)
Vendors stepping up to help (Google, Rackspace, etc)
5. GATHER THE RIGHT DATA FOR DECISIONS
PAY ATTENTION TO WEB TRAFFICOur docs site is awesome for this
WHEN IN DOUBT, ASKSurveyMonkey is free and worth it
Got a question? Ask!
Finally...
DON'T BE AFRAID TO DO SOMETHING THAT'S "BEEN DONE"
ISN'T CONFIGURATION MANAGEMENT KINDA DONE?Nope. Not even close.
(also, it's not all config management)
TAKING ON THE INCUMBENTBy the numbers
CONTRIBUTORSThe people who help build the software
Puppet: 41 per year of life (8 years, 329 contributors)
Ansible: 450 per year of life (2 years, 899 contributors)
FORKSThe people who might help build the software in the future
Puppet: 147 per year of life (8 years, 1181 forks)
Ansible: 1253 per year of life (2 years, 2507 forks)
STARSThe people who rate the software highly
Puppet: 330 stars per year of life (8 years, 2653 stars)
Ansible: 4033 stars per year of life (2 years, 8066 stars)
A GOOD IDEA IS ALWAYS A GOOD IDEA
THANKSMichael: @laserllama
Greg: @gregdek
Questions?