Let’s make this the year of the contributor experience!

A presentation at FOSS Backstage in March 2022 in Berlin, Germany by Ruth Cheesley

Slide 1

Slide 1

Let’s make this the year of the contributor experience RUTH CHEESLEY MAUTIC PROJECT LEAD @RCheesley

Slide 2

Slide 2

MAUTIC PROJECT LEAD RUTH CHEESLEY (she/her) 18+ years using and contributing to open source projects (mostly Joomla! and Mautic) Located in Ipswich, UK Working full time for Acquia as Mautic Project Lead noti.st/rcheesley for slides, resources & notes @RCheesley

Slide 3

Slide 3

ABOUT MAUTIC A LITTLE BIT OF HISTORY ✴ Open source marketing automation platform launched in 2015 (mautic.org / github.com/ mautic/mautic) ✴ Founder’s SaaS company Mautic Inc was acquired by Acquia in 2019 ✴ Community now has its own governance model and is operating as a self-sufficient open source project @RCheesley

Slide 4

Slide 4

The contributor experience is the human experience. It begins at the very first interactions with your open source project, and continues throughout the entire journey.

Slide 5

Slide 5

B E F O R E W E G E T S TA R T E D FUNDAMENTALS ✴ Do I feel safe in this community? ✴ Do I feel welcome in this community? ✴ Do the people who contribute get supported in a way that I would find helpful? ✴ Does inappropriate behaviour get dealt with quickly and decisively? @RCheesley Photo by @limf via Twenty20

Slide 6

Slide 6

You don’t have to do all the things yourself, empower people to help with the skills they have!

Slide 7

Slide 7

B E F O R E W E G E T S TA R T E D WHAT IS A CONTRIBUTION? 01 02 GITHUB DISCOURSE Pull Request opened Replies marked as solutions 03 04 SLACK MEETUP Help given in a chat Hosted a meetup @RCheesley

Slide 8

Slide 8

B E F O R E W E G E T S TA R T E D WHAT IS A CONTRIBUTION? 05 06 REDDIT S TA C K E X C H A N G E Help given in a thread Accepted answer to question 07 08 PODCASTS BLOGS Community podcasts Articles on mautic.org

Slide 9

Slide 9

OTHER CONTRIBUTIONS GIVING CREDIT WHERE IT’S DUE MANUAL ASSIGNMENT Manually assign credits to a contributor for anything outside of existing tracked channels (e.g. leading a sprint, speaking at a conference, proof-reading an article, attending a team meeting). API to track other activities - for example Jira issues being closed, GitHub release being made. @RCheesley Photo by Caleb Chen on Unsplash

Slide 10

Slide 10

A CONTRIBUTOR JOURNEY USERS ‘ TA K E R S ’ People who use your open source software, but have never contributed. INFREQUENT CONTRIBUTOR ‘HELPERS’ People who have helped here and there with a few things. Usually ‘scratching an itch’ but not consistently contributing. REGULAR CONTRIBUTOR ‘MAKERS’ People who are regularly and consistently making contributions to improve the project. DECIDER ‘DECIDERS’ People who are responsible for deciding the future of the project on a micro or macro scale. @RCheesley

Slide 11

Slide 11

Focusing on fixing avoidable leaks in the contributor funnel will bring long term benefits and sustainability to your project.

Slide 12

Slide 12

TAKING THE FIRST STEP USERS ‘ TA K E R S ’ People who use your open source software, but have never contributed. INFREQUENT CONTRIBUTOR ‘HELPERS’ People who have helped here and there with a few things. Usually ‘scratching an itch’ but not consistently contributing. REGULAR CONTRIBUTOR ‘MAKERS’ People who are regularly and consistently making contributions to improve the project. DECIDER ‘DECIDERS’ People who are responsible for deciding the future of the project on a micro or macro scale. @RCheesley

Slide 13

Slide 13

USER, BUT NEVER CONTRIBUTED Marketer Age: Location: Occupation: 37 Helsinki, Finland Marketer Using the product as part of their job, accesses community resources when help is needed. I don’t think that I have skills that would be helpful [to Mautic], and I don’t know how to find out what I might be able to contribute. RAVI PHILIPS Key pain points / reasons for not contributing Unaware that their skills could be of help Don’t know what needs to be done Not seen any call to action / invitation to get involved Don’t feel a part of the community @RCheesley Photo by @criene via Twenty20

Slide 14

Slide 14

G E T T I N G T H E M S TA R T E D PROJECT LEVEL Awareness of the principles and culture of open source Clearly documenting ways for people to contribute (including financially) New contributors onboarding team / channel Highlight specific tasks in newsletters Photo by @criene via Twenty20

Slide 15

Slide 15

G E T T I N G T H E M S TA R T E D TEAM LEVEL Clear, easy to find list of ‘good first task’ opportunities - public Trello, Jira, etc Reaching the contributor directly email/social outreach with opportunities Power of the personal invitation Timely recognition and appreciation when they do make a contribution (ideally within 24 hours) @RCheesley Photo by @criene via Twenty20

Slide 16

Slide 16

G E T T I N G T H E M S TA R T E D LOCAL COMMUNITY LEVEL Create a blueprint for local communities to organise contribution events - ‘pizza, bugs and fun’ Support buddies or team leads to attend local meet-ups and facilitate contribution events Encourage community Meetup leaders to connect attendees with the wider community

Slide 17

Slide 17

R E TA I N I N G N E W C O N T R I B U T O R S SOME IDEAS Welcome and embed new contributors within the community as soon as possible Buddy scheme - pairing up with another more experienced contributor Contributor exclusive perks (swag, forum badges etc) Always have a supply of ‘good first issues’ for them to move onto next @RCheesley Photo by @limf via Twenty20

Slide 18

Slide 18

ENCOURAGING CONSISTENCY USERS ‘ TA K E R S ’ People who use your open source software, but have never contributed. INFREQUENT CONTRIBUTOR ‘HELPERS’ People who have helped here and there with a few things. Usually ‘scratching an itch’ but not consistently contributing. REGULAR CONTRIBUTOR ‘MAKERS’ People who are regularly and consistently making contributions to improve the project. DECIDER ‘DECIDERS’ People who are responsible for deciding the future of the project on a micro or macro scale. @RCheesley

Slide 19

Slide 19

CONTRIBUTED BUT NOT CONSISTENTLY TESTER Age: Location: Occupation: 54 Bakersfield, USA Company owner Small business owner using Mautic to grow their consultancy business Sometimes there’s a bug fix that I need or a new feature that I’m looking forward to, so I’ll help to test them, but I just don’t think about it on a regular basis. I should do more because I rely on the software! MILO STROMAN Key pain points / reasons for not contributing more Driven largely by own needs and interests Lack of dedicated time in calendar means that they don’t get around to contributing regularly Lack of outreach from the project to encourage contribution/highlight things they could help with Not actively engaged with the community @RCheesley @opkirilka via Twenty20

Slide 20

Slide 20

CONTRIBUTED BUT NOT CONSISTENTLY DEVELOPER Age: Location: Occupation: 27 Tokyo, Japan PHP Developer Freelance PHP developer working on several Mautic projects for clients. I contribute bug fixes if a client specifically asks me to, but it takes so much time to get it approved, and I have to spend a lot of time writing tests. Time which I could spend earning. KAORU AOYAMA Key pain points / reasons for not contributing more Time taken in contribution and review process Has to choose between paid work and contributing Clients aren’t always requesting contribution of work Doesn’t see value in becoming a regular contributor @RCheesley Photo by @criene via Twenty20

Slide 21

Slide 21

ENCOURAGING CONSISTENCY PROJECT LEVEL Streamline the review / feedback process, prioritising new contributors Ensure there are regular contribution events where support is available Raise the profile of regular contributors within the community so that they develop their reputation in the ecosystem Consider equitable ways to provide financial compensation for contributions (bounties, paid contributors etc) as appropriate @RCheesley

Slide 22

Slide 22

ENCOURAGING CONSISTENCY TEAM LEVEL Reaching out personally when there’s a first contribution, and when folk are becoming inactive Proactively involve first-time contributors in team meetings, conversations and discussions - don’t wait for them to join Always give credit where it is due, and try to centralise this so that people can see everyone involved in your project @RCheesley Photo by @criene via Twenty20

Slide 23

Slide 23

G E T T I N G T H E M S TA R T E D LOCAL COMMUNITY LEVEL Connect new contributors with their local communities Create a contributions highlight slide for meetups to include in their presentation deck Encourage local communities to take ownership of specific projects

Slide 24

Slide 24

R E TA I N I N G T H E M A K E R S SOME IDEAS Consider a tool like Triage Party to highlight / prioritise newer contributions Create a contributor spotlight on your blog to highlight regular contributors Consider using a tool like All Contributors to recognise everyone who contributes in the readme for your main repository Do a monthly/quarterly shoutout to highlight individual and organisation contributors Tooling to identify contributors who are drifting away - for example Savannah CRM or Orbit @RCheesley

Slide 25

Slide 25

SUCCESSION PLANNING USERS ‘ TA K E R S ’ People who use your open source software, but have never contributed. INFREQUENT CONTRIBUTOR ‘HELPERS’ People who have helped here and there with a few things. Usually ‘scratching an itch’ but not consistently contributing. REGULAR CONTRIBUTOR ‘MAKERS’ People who are regularly and consistently making contributions to improve the project. DECIDER ‘DECIDERS’ People who are responsible for deciding the future of the project on a micro or macro scale. @RCheesley

Slide 26

Slide 26

REGULAR CONTRIBUTOR MARKETER Age: Location: Occupation: 35 Karnataka, India Marketer Marketer working for a large agency, contributing in their spare time I really enjoy contributing in the Marketing Team, but I wish I could do more. It’s a great project to have on my CV, and I get to collaborate with some amazing people! SANDEEP MICHALSKI Key pain points / reasons for not contributing more Time commitment - work/life balance, overwhelm Not having the confidence/skills to lead a project / team Not having ownership of projects, vision, direction Not feeling like they are making a difference @RCheesley @opkirilka via Twenty20

Slide 27

Slide 27

SUPPORTING LEADERS PROJECT LEVEL Establish mentoring to support emerging leaders Time-based leadership roles with regular review points to ‘check in’ Establish a culture of ‘up and out’ succession planning Consider how emerging leaders can be supported to contribute as part of their (paid) work, rather than in their spare time Wherever possible, support leaders attending community events by covering their travel expenses

Slide 28

Slide 28

ROUND UP 4 DECIDERS MAKERS Engage with local communities Support and mentoring for emerging leaders Contributor perks, swag etc Establishing time-based roles Tooling to identify contributors who Develop a culture of ‘up and out’ succession are drifting away 3 planning Highlight community contributors on Explore how to encourage employers to your blog support voluntary activity HELPERS TA K E R S 2 Community health / culture Prioritise and support new contributors Document what / how to contribute through review processes Direct outreach Regular contribution events Onboarding workflow/team Raise the profile of regular contributors Consider equitable ways to financially compensate contributors @RCheesley 1 Centralised place to find tasks Community-powered buddies Perks and recognition

Slide 29

Slide 29

MAUTIC PROJECT LEAD RUTH CHEESLEY (she/her) What questions can I answer? ruth.cheesley@mautic.org noti.st/rcheesley for slides, recording, links and resources. @RCheesley