How do you change the governance model of an established open source project? Lessons learned from Mautic’s governance model change. @RCheesley
A presentation at FOSDEM 2024 in February 2024 in Brussels, Belgium by Ruth Cheesley
How do you change the governance model of an established open source project? Lessons learned from Mautic’s governance model change. @RCheesley
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
“ 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
Setting the scene A brief history of Mautic’s governance. @RCheesley @RCheesley
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
Governance model: v1.0 Developed post-acquisition in 2019/20 in collaboration between the Company and Community @RCheesley
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
Times of change Finding a different way forward @RCheesley @RCheesley
Decision #1 Fiscal structure @RCheesley @RCheesley
Decision #1 Fiscal structure How we made the decision @RCheesley @RCheesley
1: Researching options available fi Project Lead researched existing and potential scal structures supporting open source @RCheesley projects like Mautic.
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.
Use the current scal host (Open Source Collective)? Expand the services used to include ownership of assets, employment, legal support. fi @RCheesley
Create our own non-pro t organisation? fi Establish an organisation which could provide all the services required to sustain project @RCheesley growth.
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
2: Sharing with Community Council Situation explained to the Community representatives, proposals explored and debated, @RCheesley then widened to include the whole Leadership Team.
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
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
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
Decision #2 Governance model Factors we had to consider: Structure @RCheesley @RCheesley
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
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
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
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
Decision #2 Governance model Factors we had to consider: Decision making @RCheesley @RCheesley
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
Decision making: Who is eligible to vote? A: After much research and discussion we implemented a paid ($100/yr or country equivalent based on Big Mac index), contribution-based (5hr/mth), corporate & honorary membership. @RCheesley
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.
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
Decision #2 Governance model How we came to the nal version fi @RCheesley @RCheesley
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
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.
• 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
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
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
Where we’re at now Implementing the new model @RCheesley @RCheesley
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.
Is it working? fi 155 joined the Portal, 44 nancially contributing members and 14 through practical contributions. Successful voting process held for Council elections, all meetings held via portal. @RCheesley
What’s ahead? Towards a sustainable future @RCheesley @RCheesley
Financial stability is a primary goal. We have to focus on growing and diversifying our revenue streams to ‘break even’ going forward. @RCheesley
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
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
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 visit us in H block throughout the weekend! womenofopensource.org for women interested or involved in open source. ti @RCheesley