build your own contributors, one part at a time

21
Mark Smith & Denise Paolucci Dreamwidth Studios www.dreamwidth.org Build Your Own Contributors, One Part At A Time Licensed under Creative Commons 3.0 CC-BY-SA

Upload: dreamwidth

Post on 28-Nov-2014

3.073 views

Category:

Technology


0 download

DESCRIPTION

Dreamwidth Studios, a code fork of the LiveJournal open source blogging software, averages 50 commits a week from over 65 unique contributors. Over half of those contributors have either never programmed in Perl or never contributed to an Open Source project before, and roughly 75% of those contributors are women.Mark Smith and Denise Paolucci, owners of Dreamwidth Studios, discuss the tactics they've used to make their project successful, and how other projects can implement the same.

TRANSCRIPT

Page 1: Build Your Own Contributors, One Part At A Time

Mark Smith & Denise Paolucci

Dreamwidth Studios

www.dreamwidth.org

Build Your Own Contributors,One Part At A Time

Licensed under Creative Commons 3.0 CC-BY-SA

Page 2: Build Your Own Contributors, One Part At A Time

Dreamwidth Studios:

Founded in 2008 Code fork of LiveJournal.com 65+ contributors 40-50 commits per week 75% female 60% beginners to Perl or to programming 100% dedicated to the project

Page 3: Build Your Own Contributors, One Part At A Time

Define “Success”:

Lines of code?

Number of commits?

Frequency of releases?

Longevity of project?

Commercial applications?

Page 4: Build Your Own Contributors, One Part At A Time

Define “Success”:

Lines of code?

Number of commits?

Frequency of releases?

Longevity of project?

Commercial applications?

Page 5: Build Your Own Contributors, One Part At A Time

People.

People.<blink>PEOPLE.</blink>

Page 6: Build Your Own Contributors, One Part At A Time

People.

People.<span style=‘text-decoration:

blink’>PEOPLE.</span>

Page 7: Build Your Own Contributors, One Part At A Time

Five things that drive newcomers away:

Unnecessary barriers to entry No clear expectations Glacial processes Development hierarchy (real or perceived) No respect for your developers

Page 8: Build Your Own Contributors, One Part At A Time

In their own words:

"I have tried getting into other projects, but found the entrance very difficult - and not only do I code almost every day, but I am the kind of person that attends hacker conferences. If I find it hard to find information on how to claim bugs, submit patches, and what programming style the project prefers, I shudder to think what programming beginners must think."

Page 9: Build Your Own Contributors, One Part At A Time

Lower the barriers to entry: Document your coding styles & conventions If you have to explain something more than

twice, your documentation needs fixing Log bugs for everything, no matter how small Keep a prominent public changelog Provide hosted developer environments Have clearly defined channels for coding help Put your project through the “typo test”

Page 10: Build Your Own Contributors, One Part At A Time

In their own words:

“I think my favorite aspect of the Dreamwidth project culture is that every contribution is welcomed, even if it’s incomplete or flawed. There is a sense that we want to help developers improve instead of rejecting them for not meeting some sort of standard of quality.”

Page 11: Build Your Own Contributors, One Part At A Time

Set clear expectations:

Document, document, document Uphold a “Code of Conduct” or Diversity

Statement (dreamwidth.org/legal/diversity) Give people goals to work towards Create a culture where teaching is expected Foster a sense of social reward for

collaboration, not competition

Page 12: Build Your Own Contributors, One Part At A Time

In their own words:

"I'm also enjoying the aspect of contributing to something I use and care about; I wrote a patch! It's live on Dreamwidth now, I can go and see what I did, if I want."

Page 13: Build Your Own Contributors, One Part At A Time

Keep it moving:

People have short attention spans. Really. Work in steps and iterate: break tasks down Manage your review queue: don’t let patches

rot, even if this means you get less coding time Shut down bikeshed arguments quickly Be as available as you possibly can

Page 14: Build Your Own Contributors, One Part At A Time

In their own words:

“I like that everybody cooperates and that it's really supportive, and that if you have a crisis of feeling like you're fucking everything up for a day, or that you've had a really crappy day and everything you've done has exploded, or what have you, you won't be laughed at.”

Page 15: Build Your Own Contributors, One Part At A Time

“Teambuilding” is not a dirty word:

Everyone is allowed to make mistakes Bug tickets are not flaws; they are chances to

improve your product Keep process open: no mysterious inner circle “Code ownership” is dangerous! Don’t value ‘big’ patches over little ones; place

equal values on feature development, cleanup, refactoring, documentation, training

Page 16: Build Your Own Contributors, One Part At A Time

In their own words:

“I recall one moment in IRC when someone submitted a patch to a much-wanted bug, there was massive cheering, and the dev said wistfully that this was why he was wanting to submit patches here and not at the day job, because while the day job paid, it did not provide a cheering squad, much less a genuinely enthusiastic one.”

Page 17: Build Your Own Contributors, One Part At A Time

Which brings us to …

THE single, solitary, individual, exclusive, lone, uttermost,

paramount, most important thing to do and have if you want to build

your own contributors…

Page 18: Build Your Own Contributors, One Part At A Time

R-E-S-P-E-C-T:

People thrive on being in the loop Never reject a patch without explaining Never reject only for style reasons Fire toxic people and moderate social channels Never say no without a reason & an alternative Keep asking yourself: “Is this answer bullshit?”

Page 19: Build Your Own Contributors, One Part At A Time

In their own words:

“I think I've found a new home. S'kinda cool.”

Page 20: Build Your Own Contributors, One Part At A Time

Three things to start right now:

Freshman orientation: appoint a “welcomer” and laud newcomers’ first contributions

Ping? Pong! Stop timing out on communication when people need responses from you

Problem Child: Have words with “that person” and let them know their behavior is not okay

Page 21: Build Your Own Contributors, One Part At A Time

For more information:

dreamwidth.org/create (Code: LCA2010) dw-dev.dreamwidth.org wiki.dwscoalition.org

Denise Paolucci <[email protected]>

Mark Smith <[email protected]>