At WordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia, Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers in attendance (including emeritus) gathered for a brief informal meeting. A few additional contributors with a heavy focus on Gutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ were also invited.
There was no formal agenda, but a few goals for the meeting were mentioned at the beginning:
- Allow newer committers to meet more senior ones.
- Allow anyone to raise questions, concerns, or suggestions that have been on their minds.
- Just spend some time together chatting and getting to know each other.
- Discuss short and medium term challenges.
Below are some brief notes from discussions that happened following Chatham House Rule.
Short Term Concerns
The first topic raised was around how to ensure Core development continues over the next 3-6 months given recent changes to contributor availability. Roughly grouped, here are some points that were raised.
- Gutenberg is very product focused. There needs to be clarity around how to receive product-based feedback.
- There are many ongoing projects within the editor that now have no clear owner or someone with enough knowledge to continue working on.
- There is a roadmap of the high-level view, but there needs to be a short-term one so contributors know where to focus their efforts.
- It would be best to narrow it down to a smaller list of “projects” to focus attention.
- Pick smaller sets of goals for next two releases.
- Can be frustrating to work on something that stagnates. How can we avoid that?
- Those looking to step up and contribute more don’t know where to focus their efforts.
- Having 6.9 and possibly 7.0 focus on maintenance could be very beneficial.
- There is a bottle neck with experienced mentors. We need to prevent burn out with the handful left.
- The same mentors are also heavily involved in reviewing PRs (which is another bottle neck).
- There needs to be clarity around what we accept in general.
- What are the requirements for adding new blocks?
- How do we accept new block Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. variations, etc.
- A handbook page similar to the oEmbed guidelines would be beneficial.
- Walking the fine line of being locked into backwards compatibility vs. the ability to iterate on the product (improving extensibility and adding features vs. making it harder to maintain long term)
- A more complete design system would make it easier to guide decisions.
- Some possible short term projects:
- cleaning up the back log/general maintenance
- extensibility
- low hanging fruit/clean up issues
- font library support in classic themes
- feature parity in classic themes
- How do we make decisions with fewer visionary/product focused contributor hours available?
Making it easier to contribute
In order to better stabilize the contributor base, it needs to become easier to get involved contributing to the project. It’s generally intimidating and difficult to know where to get started, where you are needed, where you can be most effective.
- There may have been a lapse following the most recent contributor mentorship group. Some were not sure how or where to continue.
- Need to bring newer contributors into areas where they can be the most productive and effective.
- More clearly defined projects could lend to that.
- Cleaning up the backlog and open PRs could also help make this more clear.
- Changes to contributor availability could make it easier to get involved in some ways.
- There are companies interested in investing resources for contributing through 5FTF. Clarity helps them know where the most effective places are.
- Five for the Future often supports more senior contributors (net neutral). How can we encourage companies to also invest in contributors who are not currently sponsored at all?
Areas Requiring Clarity
- It’s not always clear when committers are trusted or allowed to merge certain changes. Who needs to sign off on what?
- In general, committers are trusted to use their best judgement when committing. If they feel confident in a change but are unable to get additional feedback after reasonable attempts, they should feel empowered to try a change. It can always be refined or reverted.
- Need to do better instilling this when on boarding.
- It’s not clear who is available to review overlapping changes from the editor. For example, the REST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. or widget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. components.
- It’s not clear which contributors are currently available to provide feedback on pull requests given recent changes to available contribution time.
- In general, don’t be afraid to ping The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” anyone who appears to have stepped back from contributing. At a minimum, they should respond with a recommendation of who to follow up with. At a maximum, a surface level review of the idea and approach.
git blame
can also be used to make educated guesses about who to ask for feedback.
- The Code Owners file is confusing.
- It’s generally used by contributors to “subscribe” to be notified when areas of the code base are changed.
- The community perceives code owners as maintainers of the defined areas.
- The fact that GitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ assigns those contributors as reviewers makes this worse.
- The components in Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and teams/feature labels in Gutengberg repository don’t align.
- Editor component is a bucket for everything from Gutenberg repository.
- Improving this organization is important, but seeking maintainers for areas outside of the more narrow focuses is not a good idea while spread thin.
Follow up action items
- Identify the projects/features to focus on in the short term.
- Perform the regular component maintainer audit to make it more clear who is actively maintaining areas of the code base.
- Audit the contributor groups and members of those groups on the Gutenberg repository. Should these reflect the same expectations as Core Component Maintainers? Can these make it more clear who should be asked/is available for feedback/reviews?
- Remove the code owners file in the Gutenberg repository to avoid confusion around who is required to sign off on changes to areas of the code base.
- Explore different ways that contributors can “subscribe” to parts of the Gutenberg repository.
- Draft a proposal for how the code owners file should be utilized in the future to avoid this confusion if the file is reintroduced. It should indicate someone is an active maintainer of those files, and owners should commit to actively reviewing related pull requests.
- Propose an update to the pull request template file explaining the expectation around reviews and who is responsible.
- Improve documentation on labels, teams, processes, etc. in Gutenberg handbook.
- How can we make committers feel more empowered to make decisions?
- Connect with the Contributor Mentorship program to see how the Core team can help graduates continue in an effective way.
There was a strong sentiment that this is a good opportunity to spot areas that lack appropriate documentation, need process adjustments, or need clarity, and a great chance to make contributor workflows more sustainable long term.
#core-committers