Contributing to CiviCRM: Where are we at?

2019-11-29 05:25
Written by

On 15 August 2019, we switched the contributor log (previously a webform/civicrm) over to Gitlab. Details on how to track time can be found here. We did this because more and more of the project management was taking place in Gitlab and because of weaknesses in the contributor log, specifically it was clunky and it was difficult to assess the legitimacy of contributions reported.

Now that we have a few months of data on the new log, how it is going? Qualitatively speaking, feedback has been mixed. Some seem to be managing quite well with it whereas others either don’t engage on Gitlab enough or have run into permission issues that have frustrated them. To accommodate ease of entry, we likewise created a bulk import tool that bypasses Gitlab and allows users to log time en masse. The format of the import tool has thrown a few people and it does reintroduce concerns about legitimacy (since the logs are not automatically tagged to an issue in Gitlab).

Looking at the numbers, we see that 19 individuals representing 19 different companies/organizations have contributed almost exactly 1,000 hours from 15 August through 27 November. Prior to the change to Gitlab, there were 35 individuals representing 28 different organizations/companies reporting via the contributor log. 13 of these individuals made the switch to Gitlab.

Another interesting stat is that the recent community summit & sprint in Barcelona hosted 46 attendees, though not all were at the summit and not all stayed for the sprint. Still, of these 46, only 6 are using the Gitlab time tracking and, reviewing their logs, it appears that only three of these reported their time spent in Barcelona. I, for one, am very curious to know why more users don’t record their time, so I spun up this issue for discussion to get feedback on how it should evolve (or if it should at all).

What’s the big deal, anyway?

There are a few reasons why we’re interested in “tracking” contributions, nearly all of which are based on the desire to recognize volunteer support in some way. There is also the difficult task of identifying and cultivating new contributors. Obviously “tracking time” isn’t the single best way to do that, but it does offer a way to understand who is contributing how much and when.

As an example, there are a handful of contributors to CiviCRM that do a lot of work. We all know them, but do we know how much they give? Do we know how the work that they do affects us and our own businesses? And for people that are new to the community… do they know who these contributors are? If one of our goals is to increase the size of our community, especially the portion of contributors, then it seems to me that a purpose of recognizing contributors, even those that we all know are super-human contributors, is to educate and perhaps inspire those that don’t yet know. Obviously, there are a lot of reasons why people choose to give, and such recognition may be meaningless for many. Still, it seems logical that celebrating our contributors is all around a good thing to do.

Again, the contributor log is not a silver bullet to achieving this. But, it is a way for the community to “value” the work of volunteers and to start to recognize it publicly. Before digging into that more, we get that not everybody wants to be recognized. Logging contributions is completely voluntary. We encourage people to do it because we believe there’s value there for the project as well as for the contributor.

Enter the experts listing

Currently, the “experts" listing (using quotes because there's some discussion about improving this list here) includes both partners (providers that pay a fee) and contributors, and the level of contributions affect the sorting of the list. In a recent partner survey, 51% of responded stated that contributions should affect the sorting. 43% went on to state that the current methodology is good (majority response out of 12 possible responses).

Likewise, at the recent community summit, it was clearly stated that we, as a community, need to attract more providers. Why does this matter? Because the experts listing generates leads for those that are listed on it. If you poll CiviCRM partners right now, a vast majority will tell you that they have more work than they can handle. Recently, a contributor that is listed on the list asked to be taken off because they had enough work and could not take on any more clients.

The discussion around adding new providers to the community was intended as a way to help grow the ecosystem. Simply put, there’s more work than what can currently be handled, so in order to satisfy demand, we need more providers delivering CiviCRM services. The experts listing is probably the single best way to succinctly present providers to prospective users. Couldn’t users just jump on Chat or Gitlab or Stack Exchange and figure out who’s doing what and who might be a good fit for their organization? Yeeeah, no. That’s unrealistic.

As a user seeking support, I want a simple way to identify candidates. I may have language requirements, geographic requirements, technical requirements, etc. that I want to apply to my search for an expert. I also may want some sort of validation, meaning that picking from a list of providers on the CiviCRM website probably makes me feel more comfortable (as a starting point) than starting in other channels.

If that’s reasonable, then we (CiviCRM) need a way to collect, value and present contributions in a way that supports user expectations. We may also simply want that for quality assurance purposes (since being listed on does imply endorsement). In fact, also in Barcelona, the topic of ensuring the quality of partners and contributors on the experts listing was discussed.

By displaying providers and sorting them based on their voluntary contributions, we’re both ensuring some level of quality and recognition, as well as providing a path for contributors to grow and, hopefully, one day become a partner and support the project financially. So, why then do so few record their contributions? Sersiously... I want to know!

So what’s next?

We’re planning some revisions to the expert listing as we transition the website to D8. For now, we expect that the inclusion of contributors on the list as well as the current sorting format will stay the same. In the near term, we’re going to engage with the community to determine how to evolve the way in which we track and recognize support. Also in the near term, we will adjust the “badges” on the experts list to reflect your reported level of contributions. It’s not enough to simply say “hey, I contribute, can I have the badge?”. Likewise, we do occasionally get requests for scholarships to events or similar. We try to support such requests when we can, basing our decision on how engaged the requestor is as a contributor. We’ll use the log going forward to assess this.

Again, the contributor log is imperfect, we understand. We are open to it changing and improving. Our ultimate objectives are to recognize contributions, to cultivate contributors and to grow the CiviCRM community.

Feedback on how to “evolve” the contributor log is welcome here. It’s in Gitlab, so you can record your time there, you know. ;)