Encouraging Community Development
Pippin Williamson
http://pippinsplugins.com
@pippinsplugins
facebook.com/pippinsplugins
What is community development?
• Other people do “work” on your project
What is community development?
• Other people do “work” on your project
• Code contributions
What is community development?
• Other people do “work” on your project
• Code contributions
• Written documentation
What is community development?
• Other people do “work” on your project
• Code contributions
• Written documentation
• Tutorials
What is community development?
• Other people do “work” on your project
• Code contributions
• Written documentation
• Tutorials
• Bug reports
What is community development?
• Other people do “work” on your project
• Code contributions
• Written documentation
• Tutorials
• Bug reports
• Testing
What is community development?
What kind of projects?
What kind of projects?
• Themes –– _s, StartBox, Genesis
What kind of projects?
• Themes –– _s, StartBox, Genesis
• Plugins –– bbPress, Easy Digital Downloads, WP e-Commerce
What kind of projects?
• Themes –– _s, StartBox, Genesis
• Plugins –– bbPress, Easy Digital Downloads, WP e-Commerce
• Libraries –– WP_Logging, Custom Meta Boxes and Fields, WP_Session
What kind of projects?
• Themes –– _s, StartBox, Genesis
• Plugins –– bbPress, Easy Digital Downloads, WP e-Commerce
• Libraries –– WP_Logging, Custom Meta Boxes and Fields, WP_Session
• Tools –– WP-CLI, WP Stack
How to encourage contributions
• Ask for it
How to encourage contributions
• Ask for it
• Make it easy
How to encourage contributions
• Ask for it
• Make it easy
• Give contributors credit
How to encourage contributions
• Ask for it
• Make it easy
• Give contributors credit
How to encourage contributions
• Be nice
• Ask for it
• Make it easy
• Give contributors credit
How to encourage contributions
• Be nice
• Help out the first timers
• Ask for it
• Make it easy
• Give contributors credit
How to encourage contributions
• Be nice
• Help out the first timers
• Give solid, polite feedback
How to continue getting contributions
• Respond in a timely manner
How to continue getting contributions
• Respond in a timely manner
• Maintain quality
How to continue getting contributions
• Respond in a timely manner
• Maintain quality
• Accept criticism
How to continue getting contributions
• Respond in a timely manner
• Maintain quality
• Accept criticism
How to continue getting contributions
• Be constructive
• Respond in a timely manner
• Maintain quality
• Accept criticism
How to continue getting contributions
• Be constructive
• Ask others for their opinions
• Respond in a timely manner
• Maintain quality
• Accept criticism
How to continue getting contributions
• Be constructive
• Ask others for their opinions
• Admit you are wrong
How to respond to bad patches?
How to respond to bad patches?
“Thank you for taking the time to
submit a patch, though there are a
couple of things that need updated
before I can approve it.”
How to respond to bad patches?
“Thank you for taking the time to
submit a patch, though there are a
couple of things that need updated
before I can approve it.”
• List the issues clearly
How to respond to bad patches?
“Thank you for taking the time to
submit a patch, though there are a
couple of things that need updated
before I can approve it.”
• List the issues clearly
• Be polite
How to respond to bad patches?
“Thank you for taking the time to
submit a patch, though there are a
couple of things that need updated
before I can approve it.”
• List the issues clearly
• Be polite
• Thank them for their contribution
BUT
Maintain standards
Do not let crappy code in
Maintain standards
There will always be sub-par contributions.
Maintain standards
There will always be sub-par contributions.
Do not allow them in just because they are
contributions.
EVER
Educate instead
Educate instead
Identify the sub par contributions
Educate instead
Identify the sub par contributions
Your standards make or break the project.
Educate instead
Identify the sub par contributions
Your standards make or break the project.
Help the submitter make it better.
Educate instead
Identify the sub par contributions
Your standards make or break the project.
Help the submitter make it better.
Developers get better the more they contribute.
Educate instead
Identify the sub par contributions
Your standards make or break the project.
Help the submitter make it better.
Developers get better the more they contribute
–– encourage them.
Never be rude or throw insults
Some people are douches “special”.
Never be rude or throw insults
Some people are douches “special”.
Take them down with kindness.
Never be rude or throw insults
Some people are douches “special”.
Take them down with kindness.
Do not EVER be rude back.
Never be rude or throw insults
Some people are douches “special”.
Take them down with kindness.
Do not EVER be rude back.
–– stern is fine, not rude
EVER
Tools to encourage community
development
Tools to encourage community
development
github
Tools to encourage community
development
Tools to encourage community
development
trac
Tools to encourage community
development
Tools to encourage community
development
forums
Tools to encourage community
development
Tools to encourage community
development
giving
credit
Tools to encourage community
development
Tools to encourage community
development
extensible
code
Tools to encourage community
development
you
thanks
P.S.
I really, really like plugins.
Ask me about them.

Encouraging Community Development

  • 1.
    Encouraging Community Development PippinWilliamson http://pippinsplugins.com @pippinsplugins facebook.com/pippinsplugins
  • 2.
    What is communitydevelopment?
  • 3.
    • Other peopledo “work” on your project What is community development?
  • 4.
    • Other peopledo “work” on your project • Code contributions What is community development?
  • 5.
    • Other peopledo “work” on your project • Code contributions • Written documentation What is community development?
  • 6.
    • Other peopledo “work” on your project • Code contributions • Written documentation • Tutorials What is community development?
  • 7.
    • Other peopledo “work” on your project • Code contributions • Written documentation • Tutorials • Bug reports What is community development?
  • 8.
    • Other peopledo “work” on your project • Code contributions • Written documentation • Tutorials • Bug reports • Testing What is community development?
  • 9.
    What kind ofprojects?
  • 10.
    What kind ofprojects? • Themes –– _s, StartBox, Genesis
  • 11.
    What kind ofprojects? • Themes –– _s, StartBox, Genesis • Plugins –– bbPress, Easy Digital Downloads, WP e-Commerce
  • 12.
    What kind ofprojects? • Themes –– _s, StartBox, Genesis • Plugins –– bbPress, Easy Digital Downloads, WP e-Commerce • Libraries –– WP_Logging, Custom Meta Boxes and Fields, WP_Session
  • 13.
    What kind ofprojects? • Themes –– _s, StartBox, Genesis • Plugins –– bbPress, Easy Digital Downloads, WP e-Commerce • Libraries –– WP_Logging, Custom Meta Boxes and Fields, WP_Session • Tools –– WP-CLI, WP Stack
  • 14.
    How to encouragecontributions
  • 15.
    • Ask forit How to encourage contributions
  • 16.
    • Ask forit • Make it easy How to encourage contributions
  • 17.
    • Ask forit • Make it easy • Give contributors credit How to encourage contributions
  • 18.
    • Ask forit • Make it easy • Give contributors credit How to encourage contributions • Be nice
  • 19.
    • Ask forit • Make it easy • Give contributors credit How to encourage contributions • Be nice • Help out the first timers
  • 20.
    • Ask forit • Make it easy • Give contributors credit How to encourage contributions • Be nice • Help out the first timers • Give solid, polite feedback
  • 21.
    How to continuegetting contributions
  • 22.
    • Respond ina timely manner How to continue getting contributions
  • 23.
    • Respond ina timely manner • Maintain quality How to continue getting contributions
  • 24.
    • Respond ina timely manner • Maintain quality • Accept criticism How to continue getting contributions
  • 25.
    • Respond ina timely manner • Maintain quality • Accept criticism How to continue getting contributions • Be constructive
  • 26.
    • Respond ina timely manner • Maintain quality • Accept criticism How to continue getting contributions • Be constructive • Ask others for their opinions
  • 27.
    • Respond ina timely manner • Maintain quality • Accept criticism How to continue getting contributions • Be constructive • Ask others for their opinions • Admit you are wrong
  • 28.
    How to respondto bad patches?
  • 29.
    How to respondto bad patches? “Thank you for taking the time to submit a patch, though there are a couple of things that need updated before I can approve it.”
  • 30.
    How to respondto bad patches? “Thank you for taking the time to submit a patch, though there are a couple of things that need updated before I can approve it.” • List the issues clearly
  • 31.
    How to respondto bad patches? “Thank you for taking the time to submit a patch, though there are a couple of things that need updated before I can approve it.” • List the issues clearly • Be polite
  • 32.
    How to respondto bad patches? “Thank you for taking the time to submit a patch, though there are a couple of things that need updated before I can approve it.” • List the issues clearly • Be polite • Thank them for their contribution
  • 33.
  • 34.
    Maintain standards Do notlet crappy code in
  • 35.
    Maintain standards There willalways be sub-par contributions.
  • 36.
    Maintain standards There willalways be sub-par contributions. Do not allow them in just because they are contributions.
  • 37.
  • 38.
  • 39.
    Educate instead Identify thesub par contributions
  • 40.
    Educate instead Identify thesub par contributions Your standards make or break the project.
  • 41.
    Educate instead Identify thesub par contributions Your standards make or break the project. Help the submitter make it better.
  • 42.
    Educate instead Identify thesub par contributions Your standards make or break the project. Help the submitter make it better. Developers get better the more they contribute.
  • 43.
    Educate instead Identify thesub par contributions Your standards make or break the project. Help the submitter make it better. Developers get better the more they contribute –– encourage them.
  • 44.
    Never be rudeor throw insults Some people are douches “special”.
  • 45.
    Never be rudeor throw insults Some people are douches “special”. Take them down with kindness.
  • 46.
    Never be rudeor throw insults Some people are douches “special”. Take them down with kindness. Do not EVER be rude back.
  • 47.
    Never be rudeor throw insults Some people are douches “special”. Take them down with kindness. Do not EVER be rude back. –– stern is fine, not rude
  • 48.
  • 49.
    Tools to encouragecommunity development
  • 50.
    Tools to encouragecommunity development github
  • 51.
    Tools to encouragecommunity development
  • 52.
    Tools to encouragecommunity development trac
  • 53.
    Tools to encouragecommunity development
  • 54.
    Tools to encouragecommunity development forums
  • 55.
    Tools to encouragecommunity development
  • 56.
    Tools to encouragecommunity development giving credit
  • 57.
    Tools to encouragecommunity development
  • 58.
    Tools to encouragecommunity development extensible code
  • 59.
    Tools to encouragecommunity development you
  • 60.
  • 61.
    P.S. I really, reallylike plugins. Ask me about them.

Editor's Notes

  • #28 “ Checkout User Experience”
  • #33 Linux: Issue #17
  • #38 Metabox plugin that lets all contributions in
  • #44 Some people don’t want contributions because of possible sub-par code
  • #46 Talk about jQuery and Roots -- “Loading your own jQuery is irresponsible” post
  • #47 Talk about jQuery and Roots -- “Loading your own jQuery is irresponsible” post
  • #48 Talk about jQuery and Roots -- “Loading your own jQuery is irresponsible” post