$30 off During Our Annual Pro Sale. View Details »

Growing open source communities on GitHub around your WordPress plugin or theme

Growing open source communities on GitHub around your WordPress plugin or theme

A talk presented at WordCamp DC.

Ben Balter

July 15, 2017
Tweet

More Decks by Ben Balter

Other Decks in Technology

Transcript

  1. Growing open source communities on GitHub
    @benbalter
    ben.balter.com
    around your WordPress theme or plugin

    View Slide

  2. • CamelCase domain name
    • Lots of WordPress users
    • Famous one-click installs™
    • Support forums
    • Marketing material
    WordPress.org GitHub.com
    • CamelCase domain name
    • Lots of WordPress developers
    • Famous three-click contributions™
    • Bug/project tracker
    • Technical documentation

    View Slide

  3. The promise of open source
    Publish code People contribute

    View Slide

  4. Online communities are offline
    communities, just online

    View Slide

  5. Opensource.guide

    View Slide

  6. The open source contributor funnel
    @mikemcquaid 

    http://bit.ly/contributor-funnel

    View Slide

  7. 10-ish ways to grow communities
    around your Wordpress theme or plugin

    View Slide

  8. Import the code (and history)
    https://import.github.com

    View Slide

  9. Community Profile

    View Slide

  10. 0. Solve a shared problem

    View Slide

  11. 1. Choose an open source license

    View Slide

  12. chosealicense.com

    View Slide

  13. 2. Link to the repository from WordPress.org

    View Slide

  14. 3. Publish technical documentation

    View Slide

  15. Five minute documentation
    1. Add Markdown files to your
    repository's docs/ folder
    2. Activate GitHub Pages
    3. (Optional) choose a theme

    View Slide

  16. Collaborative documentation

    View Slide

  17. 4. Document how to contribute

    View Slide

  18. Ask (all) users to contribute

    View Slide

  19. 5. Clarify support versus development

    View Slide

  20. 6. Welcome new contributors

    View Slide

  21. 7. Set up automated tests

    View Slide

  22. How to set up automated tests
    1. Install WP-CLI and PHP Unit
    2. wp scaffold plugin-tests [your-plugin-name]
    3. Write tests
    4. Login to travis-ci.org and enable your project
    5. Push
    https://make.wordpress.org/cli/handbook/plugin-unit-tests/

    View Slide

  23. 8. Enforce WordPress code standards
    https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards

    View Slide

  24. 9. Deploy to WordPress.org
    • Convert GitHub-flavored Markdown to WordPress readme.txt format
    • Push Git master to SVN trunk
    • Create a Git tag
    • Create a SVN tag
    • Create a GitHub release (optional)

    View Slide

  25. https://github.com/GaryJones/wordpress-plugin-git-flow-svn-deploy

    View Slide

  26. https://github.com/wpreadme2markdown/wp-readme-to-markdown

    View Slide

  27. 10. Adopt a code of conduct*

    View Slide

  28. GitHub Community Guidelines

    View Slide

  29. *Why add a code of conduct?
    • Reasonable people disagree on the internet
    • Establishes expectations for community norms
    • Signals that your project is a welcoming community
    • Better to have before something happens, not after
    • It's the right thing to do

    View Slide

  30. Bonus: find someone to adopt it

    View Slide

  31. 10 ways to grow communities 

    around your Wordpress theme or plugin
    0. Solve a shared problem
    1. Choose an open source license
    2. Link to the repository from wp.org
    3. Publish technical documentation
    4. Document how to contribute
    5. Clarify support v. development
    6. Welcome new contributors
    7. Set up automated tests
    8. Enforce WP code standards
    9. Deploy to WordPress.org
    10. Adopt a code of conduct

    View Slide

  32. Growing open source communities on GitHub
    @benbalter
    ben.balter.com
    around your WordPress theme or plugin

    View Slide