Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

• 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

Slide 3

Slide 3 text

The promise of open source Publish code People contribute

Slide 4

Slide 4 text

Online communities are offline communities, just online

Slide 5

Slide 5 text

Opensource.guide

Slide 6

Slide 6 text

The open source contributor funnel @mikemcquaid 
 http://bit.ly/contributor-funnel

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Community Profile

Slide 10

Slide 10 text

0. Solve a shared problem

Slide 11

Slide 11 text

1. Choose an open source license

Slide 12

Slide 12 text

chosealicense.com

Slide 13

Slide 13 text

2. Link to the repository from WordPress.org

Slide 14

Slide 14 text

3. Publish technical documentation

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Collaborative documentation

Slide 17

Slide 17 text

4. Document how to contribute

Slide 18

Slide 18 text

Ask (all) users to contribute

Slide 19

Slide 19 text

5. Clarify support versus development

Slide 20

Slide 20 text

6. Welcome new contributors

Slide 21

Slide 21 text

7. Set up automated tests

Slide 22

Slide 22 text

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/

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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)

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

10. Adopt a code of conduct*

Slide 28

Slide 28 text

GitHub Community Guidelines

Slide 29

Slide 29 text

*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

Slide 30

Slide 30 text

Bonus: find someone to adopt it

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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