How do you change the governance model of an established open source project?

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

Slide 1

Slide 1

How do you change the governance model of an established open source project? Lessons learned from Mautic’s governance model change. @RCheesley

Slide 2

Slide 2

Ruth Cheesley (she/her) Mautic Project Lead & Co-Founder, Women of Open Source Community ruth.cheesley@mau c.org speaking.ruthcheesley.co.uk for slides, recording, links and resources ti @RCheesley

Slide 3

Slide 3

“ Governance in open source is as simple or complex as you want to make it, but fundamentally it’s the dynamic blueprint for power structures, decision making, and communal interaction which steers both human collaboration and software evolution within a project. @RCheesley

Slide 4

Slide 4

Setting the scene A brief history of Mautic’s governance. @RCheesley @RCheesley

Slide 5

Slide 5

2020: 2018: 2014: First governance model established, started using Open Collective 2019: Mautic, Inc. acquired, including brand and trademark ‘Mautic’ 2016: Founder launches SaaS company ‘Mautic, Inc.’ providing enterprise services First community-led release Project created & open sourced under GPL v3 Mautic becomes a corporate-backed open source project Open source project running alongside for-pro t SaaS business fi @RCheesley

Slide 6

Slide 6

Governance model: v1.0 Developed post-acquisition in 2019/20 in collaboration between the Company and Community @RCheesley

Slide 7

Slide 7

Mautic’s key decision-making structures: Company: The Company owns the brand and trademark, and delegates stewardship of them through the Governance Model to the Community, working collaboratively with the Community for the good of the Open Source project. They appoint the Project Lead and Company Council representatives. Project Lead: The Project Lead acts to provide clear leadership on dif cult issues, and set the pace for the project. The Project Lead listens to the counsel of trusted advisors and individuals respected for their contributions to Mautic. They also appoint the Team Leads, who served initially on the Council. Community Council: The Community Council exists to discuss issues which impact the Open Source project as a whole, and will operate more on consensus than on votes, seeking agreement from the people who will have to do the work. fi @RCheesley

Slide 8

Slide 8

Times of change Finding a different way forward @RCheesley @RCheesley

Slide 9

Slide 9

Decision #1 Fiscal structure @RCheesley @RCheesley

Slide 10

Slide 10

Decision #1 Fiscal structure How we made the decision @RCheesley @RCheesley

Slide 11

Slide 11

1: Researching options available fi Project Lead researched existing and potential scal structures supporting open source @RCheesley projects like Mautic.

Slide 12

Slide 12

Join an existing foundation/umbrella organisation? Any such organisation needed to support Mautic’s future growth while enabling the project @RCheesley to be autonomous and free to make its own decisions.

Slide 13

Slide 13

Use the current scal host (Open Source Collective)? Expand the services used to include ownership of assets, employment, legal support. fi @RCheesley

Slide 14

Slide 14

Create our own non-pro t organisation? fi Establish an organisation which could provide all the services required to sustain project @RCheesley growth.

Slide 15

Slide 15

Useful resources: • governingopen.com - great central point for exploring all things governance • peps.python.org/pep-8002 - reviews of several major open source projects, how they are structured and how they make decisions • fossgovernance.org - huge resource of governancerelated documents and resources from many projects • Many awesome humans (some here today) who are experienced in open source who took my calls and gave great advice and support! 💖 @RCheesley

Slide 16

Slide 16

2: Sharing with Community Council Situation explained to the Community representatives, proposals explored and debated, @RCheesley then widened to include the whole Leadership Team.

Slide 17

Slide 17

3: Reaching consensus fi After much debate, it was felt the best route for Mautic’s long-term growth and future as an open source project was to use of the current scal host and refactor the governance model. @RCheesley

Slide 18

Slide 18

4: Sharing the news The news of this decision was announced on 18th April 2023 to the wider world and https://mau.tc/independence received very positively. @RCheesley

Slide 19

Slide 19

Lessons learned: • Language ma ers - If your community is multilingual (it probably is), make efforts to translate such important announcements before announcing. • Governance can be emo ve - Some people won’t be bothered, but some will care a lot. Be prepared for positive, negative and ambivalent responses. • Be available - It really helped having an opportunity for people to hear about the changes and to ask questions in person - webinars (with translators), of ce hours etc. ti fi tt @RCheesley

Slide 20

Slide 20

Decision #2 Governance model Factors we had to consider: Structure @RCheesley @RCheesley

Slide 21

Slide 21

Structure: Is a hierarchical structure needed? fl fi A: Yes. We couldn’t nd examples of large, successful open source projects with a at structure, and we felt there needed to be ownership of responsibility over time. @RCheesley

Slide 22

Slide 22

Structure: What kind of structure do we need? Who decides who leads? Does the team structure currently work? A: Voted leaders in structure of Council -> General Assembly -> Teams -> Working Groups @RCheesley

Slide 23

Slide 23

1st place 2nd place 3 year terms 3rd place 4th place 5th place 6th place 7th place 2 year terms 1 year terms Structure: How do we stagger term dates? If we appoint the Council in one go, how to prevent everyone leaving en-mass? A: Inspired by several projects, we implemented a rank-voting linked term duration. @RCheesley

Slide 24

Slide 24

Structure: Who manages the project lead? Previously employed by a company, the Project Lead is now employed by the Project. A: As with a corporate/charity board, the Council will appoint and manage the Project Lead. @RCheesley

Slide 25

Slide 25

Decision #2 Governance model Factors we had to consider: Decision making @RCheesley @RCheesley

Slide 26

Slide 26

Decision making: How to do voting? We needed an easy, fair way to manage voting on any topic across the community. A: We implemented a Community Portal using the open source tool Decidim. @RCheesley

Slide 27

Slide 27

Decision making: Who is eligible to vote? ti A: After much research and discussion we implemented paid ($100/yr or country equivalent based on Big Mac index), contribu on-based (5hr/mth), corporate & honorary memberships. @RCheesley

Slide 28

Slide 28

Decision making: How many votes do folks get? A: Here be 🐉! Potential for much complexity and exploitation. Decided 1 member = 1 vote @RCheesley could be one human, or one corporate member - but they each have only one vote.

Slide 29

Slide 29

Decision making: How are decision made? fi fi Much debate and discussion on this area! Different methods needed for different situations. A: De ned trivial, non-trivial and signi cant decisions, time boxes, default to consensus. @RCheesley

Slide 30

Slide 30

Decision #2 Governance model How we came to the nal version fi @RCheesley @RCheesley

Slide 31

Slide 31

Summarise fast-moving discussions. It’s hard to step into long, fast-moving asynchronous discussions, so we summarised them in a public GDoc so others could quickly get up to speed. @RCheesley https://mau.tc/working-doc-governance

Slide 32

Slide 32

An overview post wastoshared on the forum, with each section of the proposed model How have wider discussion? broken out into a single forum topic for further discussion. This reached a much wider audience of users, who weren’t aware of the @RCheesley Slack discussions. As decisions on changes were made, topics were updated.

Slide 33

Slide 33

• Once the time period (originally two weeks, but extended to four) was concluded, the nal version was compiled into a GDoc which was shared in the same category on the forum for nal discussion and review. • Text that was amended from the initial draft was highlighted and commented, and anything which was added as a result of the discussions on the forums or from a panel at our conference was also highlighted. • Two weeks were given for feedback to be provided on the nal version of the governance model before which the existing Council voted unanimously to adopt the new model. https://mau.tc/ nal-version-v2 fi fi fi fi @RCheesley @RCheesley

Slide 34

Slide 34

Lessons learned: • Long live the me box - A great way to ensure conversations don’t continue forever and that a decision is made, is to set an (appropriate) time box for discussion. • Delegate research - We had some folks super inspired by speci c parts of the model, so they led the research in those areas which empowered them to be a part of the change. • Keep it simple - It can be easy to over-complicate the structural and hierarchy side of things, we tried as much as possible to keep things simple. fi ti @RCheesley

Slide 35

Slide 35

Lessons learned: • Go where they are - we established a Slack channel, forum category, spoke about it on social media/email/in sessions during conferences. • Zero tolerance for hos lity - ensure that expectations are set and Code of Conduct breaches are dealt with rapidly. Model patience, understanding and curiosity for ideas shared. • Dra fast, iterate o en - talking is great, but ti ft ft you eventually need something to emerge from it. Don’t wait too long to make a draft and iterate. @RCheesley

Slide 36

Slide 36

Where we’re at now Implementing the new model @RCheesley @RCheesley

Slide 37

Slide 37

19th December 2023: 25th October 2023: 11th August 2023: 29th July 2023: 24th May 2023: Extraordinary General Meeting of General Assembly, Council formally inaugurated & governance model implemented Community Portal (based on Decidim) launched Membership model launched Final draft published for review First draft of Governance Model v2 shared on forums 25th April 2023: Trademarks transferred to Open Source Collective 20th April 2023: Announcement shared with the community Mautic becomes an independent open source project It was quite a lengthy process, mainly due to the amount of community consultation needed @RCheesley and the work involved to implement the tooling required.

Slide 38

Slide 38

Is it working? fi 169 joined the Portal, 45 nancially contributing members and 14 through practical contributions. Successful voting process held for Council elections, all meetings held via portal. @RCheesley

Slide 39

Slide 39

What’s ahead? Towards a sustainable future @RCheesley @RCheesley

Slide 40

Slide 40

Financial stability is a primary goal. We have to focus on growing and diversifying our revenue streams to ‘break even’ going forward. @RCheesley

Slide 41

Slide 41

Product adoption growth. We’re already on a strong trajectory of growth and our product is maturing, our focus is on growing adoption and making it easier to build open source digital experience platforms. @RCheesley

Slide 42

Slide 42

Default to transparency. As leadership roles have their term expire, decisions need to be made transparently and community opinion is sought, where appropriate we will be using voting on Decidim. @RCheesley

Slide 43

Slide 43

Ruth Cheesley (she/her) ruth.cheesley@mau c.org speaking.ruthcheesley.co.uk for slides, links and resources mautic.org for all things Mautic, or come and chat with me during the event! womenofopensource.org for women interested or involved in open source. ti @RCheesley