Community Summit Discussion Notes: Increasing contributor recognition and celebration

From the session schedule:

WordPress contributors are incredible. How can we better acknowledge and celebrate the important contributions made, and recognize the impact they have for the WordPress open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project? This discussion will explore where we currently are not recognizing contributions, and how we can more appropriately and readily show appreciation for contributions and contributors. 

Facilitator: Julia Golomb

Notetaker 1: Jonathan Desrosiers (@desrosj)

Notetaker 2: Bigul Malayi (@mbigul)


Raw Notes

  • Current state of props across project
    • Props are not uniformly tracked across various teams.
    • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. does the best job, but only on the SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. side with “Props x, y, z.” in commit messages.
    • All contributions boil down to 1 prop, regardless of the amount of effort invested or overall impact.
    • Props are collected during betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process./RCRelease Candidate A beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge. of each release cycle. Some of it is automated, but a good amount of manual work involved.
    • Inevitably there are always contributors unintentionally left out.
    • Different teams have different ways to recognize contributors.
  • Original purpose of props in a core release: to recognize lots of work that is not apparent by just looking at a commit (design, testing, code review, etc.).
  • The goal was to incentivize behaviors we want to see from contributors.
  • Why are there invisible contributions at all?
  • Other open source projects were discussed:
    • Drupal: Attributions are discussed a lot.
      • Drupal.org pages can be used as a resume. Not as true for wp.org.
      • They’re highly automated.
      • There are different ways of breaking down one issue into multiple phases instead of one epic.
      • Credit can be received multiple times for each ticket (testing, coding, designing, etc.).
      • can create sub tasks for the Drupal Conference. Like Logo creation, financing, writing articles on event sites etc.. Once the task is finished the credit will be shown in Profile. 
      • The Drupal profile has many type of credits & attributes 
      • More easy access to the statistics of the contributions
      • It also has a dashboard for contributors 
      • Credit is weighted.
      • Some attribution farming occurs.
      • Different contributions based on experience. There is a structured phase out of credit to try and encourage positive progression to more advanced contributions.
      • Drupal embraces company and organization involvement, giving recognition to corporate entities that contribute.
      • Drupal allows enterprises to create profile pages like this – https://www.drupal.org/agileana. Their contribution is also listed like an individual. Like Sponsorship, Supporting Contributors etc.. 
      • The profile page also have section to list the mentors of a user 
      • Corporate citizenship is weighted by the last 90 days, affecting how they’re displayed on drupal.org in a few ways.
      • Is this what Five for the Future is meant to do? Different discussion, but does there need to be more incentivization for companies to participate?
      • Drupal uses a “novice” tag instead of “good-first-bug”
    • Linux Foundation has a badge system used to give attribution.
  • Why are credits not grouped by team or separated out on the Credits page for a release?
    • That page was meant to reflect everyone who contributed positively to that specific release. Who pushes that release forward?
    • Drupal has team recognition unrelated to a release.
    • Other teams have been left to send credits to release squads or figure out their own methods to give credit.
  • Where do we currently give credit outside of a release?
    • wp.org profile Badges
    • #props channel in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.
    • Translators receive credit in a separate section on the credits page when a non-default locale is being used (though this is tied to contributing to a specific version number
    • Openverse does not have a formal way to recognize contributions besides badges.
    • This Week in Core posts on make.wordpres.org/core
  • Commits are not always the right way to recognize contributions or quantify effort.
  • Badges are a form of credit/props
    • Each team is on their own to come up with the qualifications to receive a badge.
    • There is a good amount of badge hunting that occurs.
    • Badges are one thing that makes wp.org profiles more like a resume.
    • Majority of badges are currently assigned by role.
    • Training team has a great outline of how to receive a badge with task and count requirements outlined. They were praised multiple times for their related processes and documentation.
    • Some teams are less structured.
    • Photo team gives out badges as soon as someone shares a single photo in the directory.
    • There are gaps in badges that can be given out.
    • All flagship contributor days have virtual contributor days. Could add a virtual contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. badge for those folks unable to travel.
    • Could explore tiered or “super user” badges to encourage contributors to advance and contribute more.
    • Teams should decide what is appropriate for them for issuing badges, but having documented best practices, or guidelines would be helpful for this.
    • Badges are binary in nature. How can we add nuance, leveling, etc..
    • Some teams have multiple badges. Openverse, for example, has team and contributor badges. But most contributors are sponsored. There is a higher threshold to cross for unsponsored folks. There is a disadvantage.
  • Badges could have an expiration period
    • This would discourage badge hunting.
    • Incentivize the actual behavior we want.
    • They shouldn’t disappear entirely, though. They were important and valid for a point in time, and that history should be preserved.
    • Badges could also be active or inactive.
    • Expectations and removal criteria must be clear to avoid mix ups and hurt feelings.
  • It’s important to recognize contribution where it matters to the person investing the time and effort.
    • There are times when both external and internal recognition are important
  • Where else can contributors be recognized that may be more impactful?
  • Releases are not the event to recognize for all teams within the entire project.
    • Some teams work on different timelines. Have different deadlines, etc..
  • Props chasing does occur.
    • How do we nudge people to make more substantive contributions as they learn and grow?
    • Sometimes this will be an indication of the limits of their skills.
    • Contributions are accepted in all forms from everyone, regardless of size, perceived impact, or team/component.
    • It’s totally fine for someone to find a comfort zone where they are happy and live forever.
  • The Lead Developer title currently does not really mean anything. Especially to new contributors.
    • Previously, this may have incentivized some folks to work harder. But it’s currently unattainable.
    • What else can we offer along these lines and at what levels to hopefully incentivize better?
  • There are considerations to be had around sponsored vs. unsponsored contributions.
    • The number of hours is not a great way of quantifying contributions either (see 5FTF).
    • It’s difficult for contributors to meetups, WordCamps, etc. to quantify a regular amount.
    • This creates a perceived disadvantage to self sponsored folks vs. sponsored ones.
    • Being sponsored by a corporation to contribute is recognition in itself. That is meaningful to many in the community but not all.
  • Visibility and transparency into contribution should be a goal.
    • It creates a cross team understanding and excitement for collaboration
  • Quantifying contribution is difficult and not uniform.
    • Writing make posts can be a big deal that can require days of work.
    • Creating well worded and detailed issues can also be time intensive.
    • See above about it being difficult for contributors to meetups, WordCamps, etc. to quantify a regular amount.
    • Design team does a ton of work that’s not represented in the final deliverable. Wireframes and design iterations, for example.
  • For GutenbergGutenberg 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/, it’s difficult to juggle GitHubGitHub 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/ vs. TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/./SVN.
    • Code commits are easiest but a very small piece of the puzzle.
    • Docs commits are gamified the most with typo fixes, etc.
    • Hard to decide who should receive attribution for changes.
    • Discussions, triage, etc. all deserve credit.
    • Gutenberg recognizes contributors for all public pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party version releases.
  • Could the People of WordPress series be used to recognize contribution efforts as well as unique contributor journeys?
  • Can the release page be expanded to recognize different groups?
  • Legacy people are important to all aspects of what we do. How do those contributions get properly recognized?
  • Having strong clear automation helps avoid bias. Anytime a human gives credit it opens the door for some bias, whether intentional or not.
  • WordPress has a bad habit of being internally facing and not interacting with other communities. What can we learn from mistakes and triumphs for other projects and communities?
  • Who is the audience for the recognition types being discussed?
  • Be very clear about problems being solved. 
  • How do people find out who to talk to about what?
  • Titles represent recognition to peers.
  • Badges represent recognition for self or prospective employers.
  • How to recognize work in siloed communities
    • Travel funds could be a form of recognition to enable travel.
  • Emeritus committers is a potential example of how to have an “archived” or “inactive” contributor state.

Key Points

  • Fair and accurate recognition is a key to a thriving open source project. Contributors must feel valued.
  • All forms of contribution should be recognized.
  • Behaviors that the project wants to see should be incentivized by any credits system.
  • Contributions need to be recognized where it matters most to the contributor.
  • There are different audiences for different types of recognition.
  • There are many different types of contributors (unsponsored, sponsored) with many different backgrounds (design, development, translations, testing, etc.).
  • Releases may not be the right event to celebrate recognition for all teams.
  • Event organizing (WordCamps & Meetups) takes lots of time and effort, but receive less recognition.
  • Any credit system adopted must stand on its own, independent of the tools being used.
  • There should be as little invisible contribution as possible.
  • Strong automation helps avoid any potential bias.
  • Contributions are not weighted by level of effort or difficulty.

#summit-2023