Recognising contributors and contributions to CiviCRM
We've been talking for a while now about how we can improve the ways that we recognise the non financial contributions people make to CiviCRM. This topic came up a fair amount when we designed the partner program - lots of people said things along the lines of "we need to make sure the many non financial contributions people make aren't marginalised by the partner program" and while we agreed it was super important, we wanted to put it on hold until we got the partner program up and running. Well, the partner program is pretty bedded in now so thanks for your patience everyone - we're now ready to take some steps along this road.
The bottom line is that CiviCRM will thrive in direct proportion to the amount of contributions that people make, so we want to do all we can to encourage contributions. We think that properly recognising contributions plays a key role in encouraging more of them for a number of reasons, including 1) recognition is a great motivator for a lot of contributors, and 2) seeing how people are contributing to the project is a great way to signpost people who have not started contributing (or who want to increase the amount of contributions they make). Plus, of course, it is only fair and reasonable to recognise the hard work that people put into CiviCRM.
Before we start, a couple of things to bear in mind:
- we already do a fair amount of recognising (our active contributors listing, credits with each release in the release blog post, informal thank you tweets and blog posts, etc.) so we aren't starting from zero.
- we are not attempting to build a perfect system here - just make some significant but manageable iterative improvements on what we do already
Here are our some initial thoughts we had on how we can improve stuff. The conversation started out focused on our active contributors page but widened out a bit as we talked it through. Since we are at an early stage in the process, it would be great to get constructive criticism, ideas and resources from you guys to help us along the way.
At the moment, we think that our active contributors page https://civicrm.org/providers/contributors is a bit lacking in a few ways:
we don't say anything on that page about WHY we have listed someone. This is bad for a few reasons:
- people don't know what they should do to get on the list, and how they can stay on the list
- the lack of transparency means we could be accused of favouritism (and even if we aren't accused, may still be thinking it)
- saying WHAT people have done (rather than just praising them as good contributors) may be a much better way of encouraging contributions
- the review process for this page happens infrequently on a fairly ad-hoc / informal basis (approx. twice a year) which means it relies too much on imperfect memories: we forget about peoples contributions, make errors of judgement on the time-frame, and so on.
So we brainstormed ways in which we could improve things. And although the conversation moved away from https://civicrm.org/providers/contributors specifically, we think that we'll be able to use the results of this to feed back into that page.
We came up with the following principles
- details of all contributions should be public
- we should do more frequent recording of contributions
- we should record contributions against people, not organisations (thought their employers can 'inherit' these contributions)
- contributions should be based on completed tasks, not planned tasks / future commitments
- the system we introduce should not be onerous to update
With regard to the last point, we talked about different ways in which we could collect this information
- it could be something that the core team does regularly
- we could delegate it to a group of people trusted recorders
- people could self report contributions
- we could automatically collect data (via APIs, etc.)
We brainstormed a quick list of the kind of contributions that we want to recognise / encourage. This list is definitley not exhaustive, but just meant as a starting point to get people thinking.
- Writing and improving end-user and technical documentation
- Organizing meetups, conferences and sprints
- Developing marketing materials
- Presenting CiviCRM-related content at NPO and technical conferences and meetups
- Supporting CiviCRM.org infra-structure
- Developing training curriculum and materials
- Bug hunting
- Adding to the test suites
- Submitting patches to fix bugs
- Submitting patches for improved / new functionality
- Developing / sharing extensions
We also talked about how to store this info. We thought that making notes on the wiki would be v. simple way to start (since it would be automatically public, etc.). But such unstructured recording does have it's down sides, and at the moment, we are thinking that 'activities in CiviCRM' is our preferred method, since it is eating our own dog food and it seems more extensible. We also realised that there is a fair amount of overlap with CiviVolunteer and we thought that installing CiviVolunteer and leveraging that to the maximum extent possible would be good practice.
Project plan - phase 1
As usual, we are thinking small steps and do thing iteratively. Some initial things to get in place include:
- simple data model (might be enough to just install CiviVolunteer)
- a view of activities
- a webform for easier data input
This approach means an incremental improvement on what we are doing at the moment since 1) we are recording more frequently 2) stuff will be made public automatically. It is also a solid base for us to improve on as we go. We thought we could experiment with this model for while, and review it once we've used it for a bit.
In terms of who will record tasks, we imagine starting with this as a core team task, but think that exploring ways to open it out as we go would be sensible.
Other recognition schemes to think about
There are a few of other recognition sites / schemes that I'm aware of that we might want to look at / get inspiration from as we move along with this.