The Growth of Mautic (and the part you can play as Drupalists)

A presentation at DrupalCamp Belgium in October 2021 in Ghent, Belgium by Ruth Cheesley

Slide 1

Slide 1

The Growth of Mautic (and the part you can play as Drupalists) Ruth Cheesley - Mautic Project Lead @RCheesley

Slide 2

Slide 2

Ruth Cheesley (she/her) Mautic Project Lead @ Acquia 18+ years using and contributing to open source projects (mostly Joomla! but don’t hold that against me! Located in Ipswich, U Working full time supported by Acquia as Project Lead for Mautic. ) K @RCheesley

Slide 3

Slide 3

What is Mautic? A brief overview of what it actually does (come to our meetup tonight at 5.30pm @ Mosquito Coast to find out more!) PRESENTATION AGENDA History of Mautic. Where we’ve come from, where we are now, and where we’re going. What has Mautic learned from Drupal? What has gone well? What hasn’t? What’s next? How can Drupalists support this growing community? @RCheesley

Slide 4

Slide 4

WHAT IS MAUTIC? @RCheesley

Slide 5

Slide 5

A Fully Featured, Open Source Marketing Automation Platform • GPL v3 and similar stack to Drupal Symfony 4, Composer support • Supported by a young but growing community • We welcome new contributors! @RCheesley

Slide 6

Slide 6

Mautic Solves Critical Digital Marketing Problems • Everything about the customer in one place • Send personalised transactional and marketing communications through multiple channels • Interact consistently across multiple channels based on their profile and behaviour @RCheesley

Slide 7

Slide 7

Mautic Enables You To Capture Visitor And Customer Insights With: • Website/app tracking • Interaction tracking (open, click, reply) • Data capture (forms) • Call to action prompts • Third party integration (CRM, ePOS etc). ; ; ; ; @RCheesley

Slide 8

Slide 8

Mautic Enables Truly Effective Multi-Channel Marketing • Create fully configurable campaign workflows across multiple channels including • Email • SMS • Browser notification • Push notification • Web-based popups, bars and modals • Your custom integrations! ; : ; ; ; ; @RCheesley

Slide 9

Slide 9

Our vision is to be the ultimate fully featured and scalable marketing automation layer that can stand alone or be dropped into any existing tech stack, enabling organisations to seamlessly deliver an integrated, personalised digital experience that delights marketers and customers alike. @RCheesley

Slide 10

Slide 10

WHY MAUTIC + DRUPAL? @RCheesley

Slide 11

Slide 11

Mautic + Drupal exploding sector for growth. Own your own data, freedom COMMUNITY Digital Experience is an can adopt easily. FREEDOM sites and applications. Symfony-based, developers GROWTH INTEGRATION Full integration with Drupal as Drupal - GPL v3. SYMFONY LICENSE Same open source license A worldwide community of to extend and grow. open source contributors. @RCheesley

Slide 12

Slide 12

A BRIEF HISTORY OF MAUTIC @RCheesley

Slide 13

Slide 13

A BRIEF HISTORY OF MAUTIC 2015 Mautic 1.0 Stable Mautic comes out of beta with the 1.0 Stable release.

Slide 14

Slide 14

2014

Slide 15

Slide 15

2015

Slide 16

Slide 16

A BRIEF HISTORY OF MAUTIC Mautic 2.0 Stable First major release including a refactored email builder , dynamic content, stages, new integrations 2015 Mautic 1.0 Stable Mautic comes out of beta with the 1.0 Stable release. 2016

Slide 17

Slide 17

2016

Slide 18

Slide 18

A BRIEF HISTORY OF MAUTIC Mautic 2.0 Stable First major release including a refactored email builder , dynamic content, stages, new integrations 2015 Mautic 1.0 Stable Mautic comes out of beta with the 1.0 Stable release. 2016 2018 First Community Led Release 2.14.1 was the first release to be fully led by a community member, rather than Mautic Inc. staff.

Slide 19

Slide 19

2018

Slide 20

Slide 20

A BRIEF HISTORY OF MAUTIC 2015 Mautic 1.0 Stable Mautic comes out of beta with the 1.0 Stable release. Mautic 2.0 Stable Acquia Acquisition First major release including a Only 3 releases, widespread refactored email builder , uncertainty in the community. dynamic content, stages, new Established governance model integrations and community teams. 2016 2018 First Community Led Release 2.14.1 was the first release to be fully led by a community member, rather than Mautic Inc. staff. 2019

Slide 21

Slide 21

2019

Slide 22

Slide 22

A BRIEF HISTORY OF MAUTIC 2015 Mautic 1.0 Stable Mautic comes out of beta with the 1.0 Stable release. Mautic 2.0 Stable Acquia Acquisition First major release including a Only 3 releases, widespread refactored email builder , uncertainty in the community. dynamic content, stages, new Established governance model integrations and community teams. 2016 2018 First Community Led Release 2019 2020 Mautic 3.0 First major release since 2017, 2.14.1 was the first release to complete overhaul to support be fully led by a community Symfony 3.0. member, rather than Mautic Inc. staff.

Slide 23

Slide 23

2020

Slide 24

Slide 24

A BRIEF HISTORY OF MAUTIC Mautic 2.0 Stable Acquia Acquisition Mautic 4.0 First major release including a Only 3 releases, widespread A year of monthly releases, a refactored email builder , uncertainty in the community. new major update supporting dynamic content, stages, new Established governance model Symfony 4, new email builder integrations and community teams. and Composer support. 2 global MautiCon events. 2015 Mautic 1.0 Stable Mautic comes out of beta with the 1.0 Stable release. 2016 2018 First Community Led Release 2019 2020 Mautic 3.0 First major release since 2017, 2.14.1 was the first release to complete overhaul to support be fully led by a community Symfony 3.0. member, rather than Mautic Inc. staff. 2021

Slide 25

Slide 25

WHAT HAVE WE LEARNED (/ STOLEN!) FROM DRUPAL? @RCheesley

Slide 26

Slide 26

Product Management • Importance of a regular release cadence (the ‘beating drum’ at the heart of the project) • Making automated test coverage mandatory to improve quality and help us write better code • Specialist groups who become the ‘subject matter expert’ - we call these ‘Tiger Teams’ 🐯 • DDEV/Composer is awesomesauce!

Slide 27

Slide 27

Community Management • Asynchronous Slack meetings! (Thanks Diversity & Inclusion team for the idea!) • Conflict Resolution and Code of Conduct enforcement - setting the bar high from day 1 • Local communities coming together to learn, share, and contribute to Mautic • Learn; do; teach approach - empower contributors to help others

Slide 28

Slide 28

COMMUNITY STRUCTURE @RCheesley

Slide 29

Slide 29

Governance Model • Council meet monthly, discuss issues impacting the whole community, proposed changes to structure/workflows and problems arising. • Teams meet fortnightly, asynchronously on Slack (and on video call where needed) in team channels (#t-<team name>) • Working Groups - formed for a specific focus, e.g. organising a conference, managing the website, writing the newsletter - prefixed with #wg-<name> https://contribute.mautic.org/community-structure/governance @RCheesley

Slide 30

Slide 30

Jira Board per Team (Public) https://mautic.atlassian.net/jira @RCheesley

Slide 31

Slide 31

Release Cadence and Support Terms

Slide 32

Slide 32

WHAT HAS GONE WELL? @RCheesley

Slide 33

Slide 33

A Growing Community Source: Savannah CRM

Slide 34

Slide 34

Growing Contributions Source: Savannah CRM

Slide 35

Slide 35

Two Awesome Global Conferences

Slide 36

Slide 36

Team Formation • Each team has autonomy over their areas and organise their team as appropriate • Fixed terms for leads and assistant team leads • Some teams have been more active than others • Two vacancies for assistant team leads in Education and Marketing Teams

Slide 37

Slide 37

WHAT HASN’T GONE WELL? @RCheesley

Slide 38

Slide 38

Merging PRs Stalled From 2018-2020 Source: https://cauldron.io/project/133

Slide 39

Slide 39

Issue Triage Wasn’t Much Better! Source: https://cauldron.io/project/133

Slide 40

Slide 40

We Still Have a Big Tech Debt • Circa 150 issues and 250 PRs to process • Very small number of people consistently triaging, testing and code-reviewing • Code governance requires that we have different organisations testing each other’s PRs - this prevents any organisation from driving an agenda - but requires us to have a diversity in organisations engaged in testing which we don’t have in large enough numbers Source: https://cauldron.io/project/133

Slide 41

Slide 41

WHAT’S ON THE NEAR HORIZON? @RCheesley

Slide 42

Slide 42

Exploring Equality and Sustainability Bounty programme Funded by the community and with Incentivised Partners Program 01 02 community budget. and be active contributors to the project. RFP Process Recognising all contributors Statistics include all trackable channels 03 04 Supported Contributors Huntr.dev funded security reporting compensating for finding and fixing issues. An opportunity to invite individuals and organisations to work on funded projects. and all contributions are valued. Incentivises responsible disclosure, Partners must both contribute financially, 05 06 Paying contributors to work a set number of hours a week for the community.

Slide 43

Slide 43

Improving the Onboarding Process O Stre aml ine ve rh au Tes ti lD ev ng Good First Task Tea nb mO oa Q ua gD rdin rt ly er i p n- Do cs ocs er n so s in pr ts Across the community we need to reduce the ‘on ramp’ for new contributors. This enables people to quickly find things they can work on and get things done, without getting bogged down in complicated setup processes, asking for permission or getting stuck.

Slide 44

Slide 44

Getting Better at Promoting Mautic 01 Helping agencies to pitch Mautic more effectively so that they can win more Mautic clients 02 Raising awareness in Open Source of Mautic and its place in delivering a personalised Digital Experience 03 Raising Mautic’s profile in the wider world of business so that we have ‘seat at the table’ 04 Sharing the awesomeness of our amazing worldwide community of Mauticians!

Slide 45

Slide 45

WHAT’S THE LONG TERM PLAN? @RCheesley

Slide 46

Slide 46

Looking to the (Decoupled) Future • Patching up the technical debt (fixing the cracks in our house) from a fast-moving startup will only take us so far • Some fundamental challenges with how Mautic was architected are preventing us from scaling beyond circa 7 million contacts • Exploring different options to unlock the scale barrier and improve performance for all users

Slide 47

Slide 47

Mautic Next Generation • Decoupled front-end (maybe Angular-based) • Fully featured, API-first architecture (maybe with API Platform, POCs in progress) • Decouple plugins from core (work already in progress) • Maybe a microservices architecture (early stage POCs)

Slide 48

Slide 48

HOW CAN YOU HELP US GET THERE? @RCheesley

Slide 49

Slide 49

Many Opportunities To Get Involved! • Teams meet fortnightly on Slack, asynchronously and open to all (get an invite at mautic.org/slack) - channels prefixed with #t-<team> • Tiger Teams - small groups with a focus on a specific area (e.g. email deliverability, accessibility, Campaigns, Forms, etc) - prefixed with #tt-<name> • Working Groups - formed for a specific focus, e.g. organising a conference, managing the website, writing the newsletter - prefixed with #wg-<name> https://contribute.mautic.org/contributing-to-mautic @RCheesley

Slide 50

Slide 50

Testing PRs • gh repo clone mautic/mautic, cd into directory • DDEV start • If a bug, test before applying the PR • gh pr checkout <number> to check out a PR • Leave findings in a review on the PR in GitHub (Assumes use of DDEV and GitHub CLI) @RCheesley

Slide 51

Slide 51

Issue Triage • Help with triaging by reviewing Needs Triage issues (welcome the contributor, confirm bug, provide test instructions if they are not clear) • Issues without PRs associated likely need a fix • Bounty label = funded issue - check for details in the issue @RCheesley

Slide 52

Slide 52

Improving Things! • Workflows, processes, tooling, infrastructure • Documentation, tutorials, knowledgebase, website • Anything else you think ‘why the heck are you doing it like THAT, Mautic?! We’re open to positive, constructive criticism with proposals for improving (even better if you are up for leading the project!) @RCheesley

Slide 53

Slide 53

Building The Community • Mautic Conference Europe in Hasselt, Belgium on 8th November & Community Sprints on 9th November - volunteers needed! • Supporting on the forums and Slack • Supporting our Drupal-based site (it needs a redesign quite badly, and a team who can help support it!) @RCheesley

Slide 54

Slide 54

Join Us In Person For The First Ever Mautic Conference Europe! • Conference on Mon, 8th November in Hasselt, Belgium, Community Sprints on Tuesday, 9th November. Call for speakers open until 10th • Come and learn about Mautic, contribute to the community and have a great time! • More information and tickets at https:// mauticon.mautic.org (sponsor opportunities also open!) @RCheesley

Slide 55

Slide 55

Ruth Cheesley Mautic Project Lead @ Acquia ruth.cheesley@mautic.org What questions can I answer? @RCheesley