Wednesday, October 12, 2016 - 13:29
Written by

As the title implies, we’ve stuck our toe into improving the contributor framework before, but never quite settled on the best approach. But, it’s high time we do so. Why? Because contributors are key to sustaining and improving CiviCRM. The trouble is and has always been that recognizing, rewarding and encouraging contributions from the community is a complex task. Contributors come to the project through various channels, for various reasons, making it difficult to track and deepen engagement. Some contributors want recognition, others don’t. Some want to contribute, but don’t know how or are confused with the complexity of our community. Where do they start? Most contribute in a variety of different ways, raising the question of how best to value contributions.

Again, it’s no small task. Other open source projects, like Drupal for example, go to great lengths to accomplish this. Still others gamify engagement with elaborate badge/reward systems. In any case, moving this forward for CiviCRM requires us to simplify the process as much as possible and, given the size of our community, to treat it in a very human fashion, i.e. actually reach out to contributors and communicate with them. That’s a novel idea!

Fundamentally, the contributor framework is intended to satisfy two objectives. First, it should identify opportunities to contribute and encourage participation from both new and seasoned contributors. Second, it should recognize and reward contributors for their efforts. Contributions are, after all, at the heart of any open source project. Likewise, the more effective we are at managing and encouraging contributions, the more effective we can be as a Core Team

We’re committed to putting something in place that recognizes and rewards contributions in an equitable manner while encouraging participation in the CiviCRM project. So, here’s how we’re going to do it...

Communicate opportunities for engagement

We can broadly categorize all opportunities for engagement into the following six items, all of which can be neatly packaged under our Team structure (i.e. each category below is driven by a corresponding team):

  1. Write, maintain and share an extension
  2. Address bugs and code new features
  3. Provide support on Stack Exchange, forums, and MatterMost
  4. Coordinate or participate in an event as an organizer, trainer or volunteer
  5. Write case studies, blog posts and provide support for general promotion
  6. Participate in or coordinate a working group or strategic initiative

Improve how we recognize contributions

By the end of October, we will begin implementing a somewhat manual process of reflecting contributions on our website at, consistent with our established levels of giving (Supporting, Empowering and Sustaining). Because everyone gives in a different way, and because it’s incredibly difficult to value one contribution over another, we’re going to approximate all contributions by time spent.

  1. Supporting - awarded after contributing ~ 40 person hours in a given year
  2. Empowering - awarded after contributing ~ 120 person hours in a given year
  3. Sustaining - awarded after contributing ~ 240 person hours in a given year

This isn’t perfect, but we need to not let perfect ruin good. And for now, this is good.

Implementing consistent rewards

We truly value contributors and the effort they provide. Going forward, contributors that achieve a minimum level of ‘supporting’ contributor will be offered the following benefits:

  1. Company display on
  2. 30% off event registration, not including sprints
  3. Represent CiviCRM at external events
  4. Free job postings at CiviCRM Jobs
  5. 30% off Core Team rates for paid issue queue work
  6. Ability to add in case studies to
  7. Newsletter recognition and social media mentions

These aren’t huge, but they’re nice to have and we want to offer them.

Improvements to onboarding

One of the big things we still need to improve upon is our onboarding process. We still rely heavily on a manual process of identifying and communicating with contributors. This is where the CiviCRM community can help… if you’re already contributing and see someone new, or someone going above and beyond, you can contact any core team member to recognize their efforts. While community management is a Core Team responsibility, we’re open to help and welcome assistance in identify and cultivating contributors.

A few next steps

By the end of this year, we’ll reach out to every contributor to reflect their level of support on Sometime around the first of the year, we’ll begin to automate this process, allowing for self-reporting on contributions. We recognize that some don’t want this type of recognition, and we respect that. You don’t have to convey your efforts if you don’t want.

For now, contributions will be Core Team reviewed, however we hope that this task will shift to the Community Team, and more specifically to the Community Engagement working group, and will become more peer reviewed.

Filed under


This looks like a good way forward, thanks for taking this up again.

My only comment is to encourage any public recognition to be specific, rather than generic. One value of the recognition for service providers, aside from feeling warm and fuzzy, is to get new business. Since there are lots of different kinds of services being provided for CiviCRM, you'd want the recognition to help a potential client identify which service the provider might be particularly good at.