Maintenance Process

Central to a successful open process are setting expectations and respecting the time of other participants, especially when they are volunteers.

Issue and Pull Request Management #issue-pr-mgmt back to top

In the 2017 Open Source Survey conducted by GitHub, the number one issue that people feel is most important for open source projects is “responsive maintainers.” As such, we should aim for quick response and triage on all newly opened issues and pull requests. Not so much that we quickly resolve those issues or merge those pull requests, but that we respond quickly and set realistic expectations for what contributors can expect from us.

We have set up default Issue and Pull Request Templates in the 10up .github repository, so feel free to let those do the work, or create custom ones for your repository (example: ClassifAI).

Issue triage will primarily be handled by our Open Source Practice leadership as well as specifically identified Maintainers for each project, but to help ensure we reply to all issues and pull requests within five business days, others within 10up are always welcome to assist with triage. We ask that as you review issues and pull requests you consider the following:

WordPress.org Support Reps #dotorg-support-reps back to top

We recommend limiting the number of accounts that have access to your plugin on WordPress.org SVN, as this reduces potential attack vectors and minimizes the risk of bad actors nefariously affecting your code. The downside to this is that the nice “Plugin Author” label and highlight that appears alongside messages from plugin contributors as well as the ability to mark threads as resolved or sticky within the forums is limited to that small number of accounts. Not to worry, you can use Plugin Support Reps to add others on your team who will then appear with a nice “Plugin Support” label and highlight alongside their messages in the forums. Support reps can also mark threads as resolved or sticky, but won’t have commit access to the plugin codebase on SVN. Set those support reps on the Advanced View on your plugin pages.

Slack channel to track GitHub activity #slack-channel-github-activity

In the scenario where your organization uses GitHub for code and Slack for communications, then integrating the two seems reasonable. In this case, we recommend setting up a dedicated channel to track activity within your GitHub Organization using the /github subscribe owner/repository Slack command. Even further, utilize the /github subscribe owner/repository reviews comments branches commits:all command to ensure you’re alerted to comments or commits that come into your project repositories. Once GitHub feeds are set up, we also recommend utilizing a specific Slack emoji reaction to note that someone from your team will take responsibility for that specific activity (example).

Slack channel to track WordPress.org plugin support/forum activity #slack-channel-dotorg-activity

In the scenario where your organization uses GitHub for code and publishes code to the WordPress.org repository, then integrating the two seems reasonable. In this case, then we recommend setting up a dedicated channel to track activity across your suite of plugins and themes using the RSS Feeds functionality. More specifically, you’ll want to pull up your Support page (plugin example, theme example) and Review page (plugin example, theme example) and then add /feed/ to the end of the URL that you utilize for the RSS Feed subscription (Support example, Review example). Once RSS feeds are set up, we also recommend utilizing a specific Slack emoji reaction to note that someone from your team will take responsibility for that specific post (example).

Version Control #version-control

In general we follow the Version Control guidelines from the 10up Engineering Best Practices including the approaches for structure and workflows.