Sometimes there are initiatives or projects in the Mautic Community that require funding - whether that be to support an in-person sprint (when they are possible again!), to support someone working for a specified amount of time dedicated to a task or project, or simply to pay for something that is required by the project.
Sometimes there’s a lot of community interest to work on something and a willingness to pay someone/a group of people to focus on it so that it is addressed in a timely manner.
Also, more generally, we know that many people are contributing to Mautic in their spare time, and we believe that more people (particularly those who do not have the privilege of free time) may be able to contribute if there was a way that some tasks or initiatives were able to provide them with financial compensation.
Often features, initiatives and bug fixes are important for the community - and deliver significant value to both the project and organisations who are dependent on Mautic - so we want to find a way forward which creates a sustainable ecosystem around Mautic.
At the same time, we don’t want to create a culture of people only working on things if they are paid to do so, therefore it’s important that we have some boundaries and set expectations.
Now that we have our Open Collective, which brings the practical toolset to facilitate financially supporting the Mautic project, we also need to set out some basic guidelines on how we intend to use our funds.
We should also have clarity on how people can get paid to work on projects or reimbursed for expenses incurred on behalf of Mautic, and establish some processes around all of this.
A proposed solution: Funding in the Mautic Community
There are two core areas where we will be initially providing opportunities for contributors to be financially compensated - a bounty programme for contributions to Mautic core, and the funding of initiatives.
Mautic Community Bounty Programme
A bounty programme in Open Source projects is when a monetary reward is offered for completing a task.
What follows is an initial proposal to implement a bounty scheme which we will be trialling for six months (January to June 2021) for contributions to Mautic Core via the Github repository.
We fully appreciate that this community has many more forms of contribution than writing code, however this is where we have the most activity and the most practical place to start such a scheme.
If you have feedback on this, please join the next team meeting on Slack in #t-product (get an invite at mautic.org/slack).
Get paid to contribute to Open Source!
The Mautic Community Product Team is small, and we're always looking for new contributors to our Open Source codebases. Our Bounty programme will enable community members to financially reward developers who work on the issues they care about through our partnership with Bountysource.
With Bountysource, issues in the Github issue queue can have a bounty associated with them by one or more people or organisations. This means that one person could add a single bounty of $500 or 10 people could add a bounty of $50, with the person resolving the issue receiving the funds from Bountysource when the fix or feature is merged.
No compromise on quality
As is already the case, we will not accept pull requests unless they are:
- Completed to a high standard
- Fully covered by automated tests
- Prepared in a reasonable timeframe
- Resolving the linked issue in its entirety
We want to attract quality contributions only. For general guidelines about what's expected in pull requests to Mautic core, see more info here.
The issue will only be considered complete and approved by BountySource for payment if the pull request is merged by a member of the Mautic Community Core Team. Read more in the BountySource FAQs.
Developers may only be assigned tasks and projects that they are confident can be completed in their entirety, seen through to completion, and which they are capable of working on at their current knowledge and skill level.
Our Product Team is happy to answer questions and provide some limited support, but don't have the capacity to mentor junior developers working on bounty issues - developers are expected to work on the task without requiring direct support from the team.
This bounty programme will be running as a trial for the next six months and will be closely monitored by the Product Team.
We invite feedback from contributors and bounty posters - please provide in the meetings of the Product Team on Slack as mentioned earlier.
Funding Strategic and Community Initiatives
The Project Lead has an annual budget allocation for supporting Strategic Initiatives with community funds where required.
This coming year (January-December 2021), the budget is $6,000.
Strategic and Community Initiatives can also be funded in part or wholly by companies or individuals via a fundraising tier on our Open Collective.
Initiatives that require funding of any kind (whether this is to hold an in-person sprint, pay for development time, or any other expenses) must have a clear project plan with a roadmap on their Confluence page which includes dated milestones and a full financial requirements breakdown.
Payments will be made based on the delivery of agreed objectives within the project plan, rather than on a time and materials basis for hours worked.
Strategic or Community Initiatives that require funding will have their project plan accepted by the Project Lead prior to any funds being committed.
Once approved, if community funding is required a tier will be created on the Mautic Open Collective. This will allow organisations or individuals to contribute which will be used specifically for that initiative.
Funds will be paid on invoice from the Open Collective or if the individual prefers, a gift coupon for the Swag Store can be issued in place of financial reward in multiples of $25.
We appreciate that there are a lot of opinions around paying for contributions in Open Source, and whatever approach we take we know that there will be some in favour, and others not.
This is our first pilot into funding in two different ways, and is a trial to test the waters and see what works for us. We hope that it will be the first step towards building a sustainable ecosystem, and attract contributions from folk who may not otherwise be in a position to give their time to Mautic.
We welcome and value respectful discussion on any aspect of the trial and will have a standing topic in the Product Team meetings once a fortnight should you wish to share your thoughts.