open source community growth as a user experience problemassets.en.oreilly.com/1/event/80/open...
TRANSCRIPT
Open source community growth as a user
experience problem
Karen RustadAsheesh Laroia
0. Hello, World!
This talk
Create clear, welcoming entry points to your project
Treat volunteer enthusiasm like the precious resource
it is
Turn potential contributors to your projects into actual contributors
What are you here for?
1. User Experience 101
Who is the user?
Concept: “Funnel” analysis
e.g.
Visit product page →Click 'Add to Cart' →
Confirm cart contents →Enter shipping info →Enter payment info →
$$$ Checkout! $$$
Goal: Get more people further down the funnel
Ameliorate attrition through sheer numbers of people
Remove steps
Research why a step eliminates lots of people
Make steps easier, faster, reassuring, or more
informative
Typical shopping cart:~ 6 steps
Typical FOSS project contribution:
??? steps
Think: Where in this process would you likely give up?
● Learn about free software
● Learn about free software● Hear about your project
● Learn about free software● Hear about your project● Understand that free software == you
can edit it
● Learn about free software● Hear about your project● Understand that free software == you
can edit it● Understand that free software == you
are allowed, nay, encouraged to edit it
● Learn about free software● Hear about your project● Understand that free software == you
can edit it● Understand that free software == you
are allowed, nay, encouraged to edit it● Learn how to program
● Get the source code to your project
● Get the source code to your project● Get a dev install of the code actually
running locally
● Get the source code to your project● Get a dev install of the code actually
running locally● Identify a task to work on
● Get the source code to your project● Get a dev install of the code actually
running locally● Identify a task to work on● (Fix the bug)
● Get the source code to your project● Get a dev install of the code actually
running locally● Identify a task to work on● (Fix the bug)● Submit a patch
● Get the source code to your project● Get a dev install of the code actually
running locally● Identify a task to work on● (Fix the bug)● Submit a patch (wrong)
● Get the source code to your project● Get a dev install of the code actually
running locally● Identify a task to work on● (Fix the bug)● Submit a patch (wrong)● Submit a patch correctly
● Get the source code to your project● Get a dev install of the code actually
running locally● Identify a task to work on● (Fix the bug)● Submit a patch (wrong)● Submit a patch correctly● Convince others that the patch is needed
so it lands
++
<Kyzz> Another question! I always see github links to download a file such as
this, but how do I actually download it lol
How do you know?
Drain potential volunteers' (and mentors'!) enthusiasm
2. Case Studies
a.) GNU nano
a.) GNU nano
http://nano-editor.org/
b.) GNOME Love
c.) LibreOffice
3. A Cookbook of Strategies
Fedora Design Bounties:The one-click shopping of free software contribution
Specific tasks, for which the prize is love
OpenHatch training missions:
Cross-project skill check
Learning without embarrassment
Gentoo GSoC tracking:Quantitative community
management
Tracking your way to your goal
Wikipedia revert message A/B testing:
Rejection sans rejection
How to say no to a patch without crushing a soul
More: http://bit.ly/oh-cookbook
4. Conclusions
Better retention is possible
Set goals
Diversity
If you ask for specific help,you will probably get it.