How To Sustain
Long-Term Contributions
to WordPress Core

A presentation by @felixarntz

Contributing to core sharpens my skills in a lot of ways that people often don’t think about as developers: defensive programming, history and research, and communication in particular.

- Helen Hou-Sandí

Contributing to core has introduced me to some of the most amazing people on the planet. It was like I showed up to fix a software bug and was bitten back by the community bug.

- Joe McGill

Contributing to WordPress has really been what catapulted my design career. I was able to gain experience working on new design challenges in an open and collaborative environment.

- Mel Choyce

WordPress helped me get to where I am today. Now I want to give something back to help people do the same.

- Pascal Birchler

Contributing sounds scary. Don’t be afraid you are good not enough. We are all insecure people with same passion and motivation to make WordPress the best it can be.

- Rian Rietveld

I give back to WordPress in hopes that I’m able to impact others with the same generosity and opportunities the project has shared with me in our effort to democratize the web.

- Steven Word

It's rewarding to work on a project that powers over a quarter of the web. Knowing that a new feature or enhancement is going to have an impact on millions of people is a great motivator to contribute to WordPress.

- Weston Ruter

WordCamp Europe 2015

original photo by Florian Ziegler

#16434 🤓

[32994] 🤓

Contributor Day attendee Very disciplined self-learner
Processes explained at the core table or through a workshop Processes explained in core handbook or wordpress.tv videos
Questions answered in person Questions answered in new contributors meeting (every Wednesday on Slack)
Good tickets to be worked on are provided, possibly both major and minor Good tickets to be worked on can be found through the good-first-bug keyword

→ If possible, attend a contributor day!

Mo contributing, mo issues

original photo by Detlef Heese

Mo contributing, mo issues

original photo by Detlef Heese

Mo contributing, mo issues

original photo by Detlef Heese

Mo contributing, mo rewards

Preventing frustration

  • Don't patch immediately, discuss first.
  • Learn the WordPress philosophies and make them part of your mindset.
  • Place the project's goals ahead of your own.
  • Let others convince you when necessary, convince others when necessary.
  • If you disagree initially, step away, think about it further, and come back later.
Article: The qualities of a great WordPress contributor (Andrew Nacin)

Dealing with rejection

  • If no good reason is given, ask for one explicitly.
  • If you disagree, dig in further, ask for a third opinion.
  • If you still disagree, your thoughts may not comply with the project's philosophies.
  • Always keep your calm and be polite.
  • Don't take anything personally!
WordCamp Video: WPDrama, The Four Agreements,
and the WordPress Community (John Eckman)

WordCamp US 2015

original photo by Kari Leigh Marucchi

Joining multisite 👋

Joining Slack meetings

Direct communication

Direct communication

Direct communication

¯\_(ツ)_/¯

But still: Be persistent when you don't receive an answer after a while!

Hilarious Short Film: You can't just open a pull request and run
(C. Michael Nelson & Boone Gorges)

Finding your focus

  • Find out what interests you the most and focus on it.
  • Participate regularly in Slack meetings for that component.
  • Direct communication works much better for discussions than asynchronous.
  • It's perfectly fine to only say "Hi" in the beginning and lurk.
  • By showing up, learning and presenting ideas, you build more trust over time.

And as a side note: It's usually not a good idea to focus on a very old ticket early on.

WordCamp Nürnberg 2016

original photo by Detlef Heese
https://make.wordpress.org/core/components/

Becoming a component maintainer

  • Once you're more familar with your component, consider becoming a maintainer.
  • Provide responses for new tickets, and make new contributors feel welcome.
  • Focus on others' tickets just as much as on your own ones.
  • Don't be overly critical; think suggestions through before posting feedback.
  • Milestone tickets reasonably.

As you become more experienced, accomodate new contributors so that the need for them to deal with all these issues remains as little as possible.

WordCamp Europe 2016

original photo by Florian Ziegler

Meeting in person

  • Continue going to WordCamps.
  • Meet and hang out with your fellow contributors.
  • Have a beer with friends from all over the world! 🍻

Time for Bachelor Thesis core

original photo by Ruhr-Universität Bochum

Time for Bachelor Thesis core

original photo by Ruhr-Universität Bochum

It's not just about code

  • Be open to new tasks.
  • Document changes precisely.
  • Write recaps so that others can keep up to date.
  • Collaborate with other teams like design and accessibility when needed.
  • Sometimes, do work that may not be as enjoyable, but still needs to be done.

Final thesis day

Learning and iterating

  • You don't need to be a code genius to play an important role in core.
  • Keep contributing, learn from mistakes, improve your skillset over time.
  • You need to be passionate, willing to learn, and understand the core philosophies.
  • Your goal should not be becoming a committer, but a valuable contributor.
  • The latter is very likely to eventually give you commit anyway at some point.

WordCamp US 2016

original photo by Alain Schlesser

Pay attention to details

  • Consider edge cases.
  • Keep in mind that even a small change might break BC at another location.
  • Write precise ticket descriptions and commit messages.
  • Write tests to verify functionality and integrity, don't break any through a commit.
  • Always make sure your code is reviewed by (other) experts in the respective area.

WordCampMania

Community Summit 2017

original photo by Alex Shiels

Too Many Meetings

Be reasonable about your time

  • Don't overestimate what you can do within the hours you are available for core.
  • Don't get involved with too many components, stay focused on just very few ones of your main interest.
  • If the amount of meetings gets too overwhelming, ask yourself and others whether/how the processes can be streamlined.
  • Ask for help with maintenance tasks, split the workload, find supporters.

WordCamp US 2017

original photo by Jamie Edwards

Earlier this year...

Wanna increase your core time?

  • Making an impact in core development will raise attention.
  • The company you're working for may be open to pay some of your core time.
  • Companies you're not working for may become interested in sponsoring you.

You can make a significant impact within a timeframe
that doesn't require you to be sponsored.

But if you're interested in doing more, seek such opportunities.

To be continued...

Summary

  • Learn the WordPress philosophies.
  • Always be polite and open-minded.
  • Be persistent, but patient with tickets and patches.
  • Explain issues with as much detail as necessary, but as little as possible.
  • Find an area that interests you and focus on it.
  • Participate in meetings regularly.

Thank you!

Felix Arntz

Plugin Developer / Core Committer / Freelancer