The contributor log migrated to Gitlab on 15 August 2019. Some stats on its uptake can be found here. This issue is open to discuss how to improve the contributor log (i.e. how contributions are recorded, what contributions should be recorded, etc.), as well as how we recognize contributors. Example suggestions:
Kill it altogether!
Have a separate list for contributors and for financial supporters
Increase the value of contributions to have a greater impact on the current listing
@josh - responding to your observations about time recording for Barcelona: it would help if we had some agreement around what counts. At one extreme it's all the hours from leaving home to getting back - those hours all relate to the summit & sprint. More conservatively, it's just the hours in organised sessions and actual coding/documenting although lots of discussions about Civi continue over beer. Meals can be pretty much 'working lunches'. What about community day?
We could disappear down a rabbit-warren of detail - that's not the intention but a basic common understanding might encourage some (well, me!) to log something for the significant time involved.
I like the idea of recording contributions in principle. I think it can help people understand the work that goes in to creating the software. In practice it's not so easy to do and can be quite time-consuming to measure and track.
I've tried recording time in GitLab, but was unable to get it to work. I think that this might be because I don't have the correct role here but it's not clear how I get the correct role and in the end I just gave up. This is a bit of a barrier to tracking contributions from new contributors.
This is a permission thing for sure. In order to log time, you have to be a member of the group or project. I've added you as a member of the community group.
Thanks Josh. I think my point still stands that this is still a bit of a barrier for new contributors. I don't have any suggestions for how this could be improved but wanted to flag it as an issue. It may partially explain the low uptake.
Add a new time log category, civi/ext - CiviCRM extension development. As a lot of work goes into this area and using civi/dev as a general category hides where effort is going.
Anyone with a gitlab account should be able to log time on any project. There's been a few times I have observed where time cannot be logged due to permission of something else related to that project, not being a member. This is a barrier to time recording.
With more data flowing in then you can start doing some nice dataviz reports on civicrm.org and even in the CiviCRM newsletter. The CiviCRM core team can also better understand where contributions are going and assist in those areas.
Sound like sensible suggestions to me. I like number 3 in particular as this has certainly been a barrier for me. Is there a reason why we shouldn't allow any GitLab member the ability to log time?
I added a quick test for suggestion (1), since Gitlab has a feature for that:
The banner currently has an expiry time of 2020-12-31 and is easy to update from the admin interface
I see (2) is done.
Suggestion (3) is not possible, unfortunately. For many groups, you can join once and not have to worry about it (dev, extensions, infrastructure, documentation), but some other groups such as marketing and community usually have per-project membership.
Since I already have a time tracker, and I already had a script that output various reports on a monthly basis, I modified it to output my pro-bono entries in the correct format. I try to add time directly on to Gitlab tickets where I can, but any I can't, I import. Happy to share the script, but unless someone uses Invoiceninja and Pentaho Kettle already, it's probably not much use.
The current system works for me. I don't have many changes to suggest, and agree that $20 of ranking per hour makes more sense than $10.
I don't support separating the financial/support lists. Having a single list is of greater benefit to evaluators of CiviCRM; I appreciate that there is a way to get on the list solely through community effort.
For @cividesk, the feedback is very similar to @JonGold: system mostly works as is, we have our own time tracking and export/convert/import from the bulk form (so plan on a similar form in the new D8 website).
Areas of improvement:
Once entered, it seems our time logs are aggregated in pretty large chunks (ie. July through December), and we have no way of knowing what is included in the aggregate. We would rather like to see our time logs as entered (ie. one time log per bulk import), with all details entered in the import tool, in order to facilitate our accounting/verification. I do not know how the aggregate works for people that track time through GitLab, but it would seem sensible to aggregate no longer than once a month, and also provide all the details of their individual logs in this aggregate.
This is the data for September-December 2019. (I removed the data for the CT, because it's not known public data, but the rest is considered to be public)
Admittedly, we can argue that there are few people using it because it was hard to use. And avoid focus on the fact that some people use it heavily, that's great (they are often aggregate punches from many people at a shop).
I want to re-iterate that currently there is no code that is updating the financial data in CiviCRM for the time-contribution. We have to rewrite the code it and maintain it. I don't mind doing it, but I would like a clear confirmation that this is really what we want.
Option A (status quo):
Rank contributors based on a combination of their financial contributions and log of contributions not paid by their clients.
Attribute badges based on the number of hours contributed.
Option B:
Rank contributors based on their total financial contributions (partner fees, MIH)
Attribute a single (no tiers) contributor badge on request, based on certain criteria to be determined. Because sometimes a contribution might not have a significant number of hours and still be really important for us, and because we may want to promote exactly how people get involved (WGs, PR activity, marketing/events, extension dev maintenance, others).
Emoji-feedback welcome. If you have strong opinions about an option C that you think might have consensus, please feel free.
I would just like to point out that contributions accounted under my name should really be labelled 'Cividesk' as these group contributions from all our employees, with Yashodha and Sushant making the bulk of these. They are exported from our time management, and imported through the c.o Drupal form, hence not attributed personally.
Let me elaborate on option "b". There are a lot of problems with the way tracking is currently done, and many people simply don't do it as a result. One of the stickest problems is around valuing contributions... how much/little, and how to determine what is a contribution vs. what isn't. One can easily argue that everything is a contribution because, at the end of the day, everything benefits the project in some way.
One might say that the current process is focusing too heavily on valuing the contribution and not the contributor.
The idea behind option "b" is simple. Award the contributor badge to those that are clearly contributing, display them on the list (if they're contributors but not partners), but don't let the "value" of the contribution get in the way of celebrating the contributor. Instead of asking for tedious time tracking:
allow for nominations (for example, @JonGold periodically forwards us names of people that are active and encourages outreach)
allow for merit based award of the badge (somebody shows up with a cool new open source mobile app out of the blue and "dang, these guys are contributing!")
do a better job of promoting, highlighting, etc. the contributor (there are lots of contributors that simply aren't going to take the time to log their hours or promote themselves/their work... instead of saying "record your time or you don't get recognized", perhaps we should do more direct outreach and promotion).
Obviously that last part requires more ongoing work, and the only way to do it (consistent with how we work) is via a team of people that do that sort of outreach.
The end result is basically the same... except that we're likely to capture more contributors, we remove the maintenance/management of tracking time, we remove the "value" associated with the sorting on the list, and we take a more personal approach to contributor engagement.
I'm nervous about 'b'; it seems arbitrary and based on a benevolent dictator model with the exception that the dictator here is those with the loudest voices in certain forums (e.g. matter most/lab); those with the most time to chat. Obviously there's a crossover here, but it's also a bit cliquey - might be harder for new people to get recognition.
I'm not a big agency with resources to spare to ensure my company is getting the recognition it deserves [and probably needs for marketing purposes]. As a person who spends most of their time alone in a shed working really hard to support the aims of the organisations I work with through tech, part of which includes CiviCRM, and who is trying (struggling?) to actively pull-my-own-weight in the community while still needing to keep things going and be a Dad, I think someone like me could easily get forgotten. Perhaps that's right, leave it to the big guys (often it's guys), but being forgotten about would make me feel not good enough and would basically do the opposite of encouraging me to contribute.
I'm not after sympathy or reassurance here, but just using a personal view to set out what I see as the dangers of option (b).
For me (a) seems fairer, although this might be because I don't care where I come in the rankings, but it means a lot to me to be listed (it's kinda like membership of a professional body - external palpable public validation). I suppose if I did care, I'd be questioning whether some normalisation factors should come into play (e.g. divide by FTE hours working on CiviCRM; turnover). That seems hideously complex though, so my vote goes to keeping things simple.
Thanks @rich for the feedback. Actually, I feel exactly opposite. I think it provides an option for the community to "give a pat on the back" to a contributor, especially the small ones that struggle as you've said. For example, of the 40+ people came to Barcelona, how many 1) logged hours and 2) are listed on the site? Most are not, and yet it would be pretty easy for any one of us to 'nominate' them.
I understand the risks, and I'm not sold on the idea, but I actually feel like it could be positive approach and am trying to focus on the upsides rather than the downsides.
I think, realistically, we're seeing some of the downsides of the current approach:
imbalance in who is listed and who isn't
private lobbying to promote what a person feels is a contribution or should be
a challenge to properly value contributions and manage the entire process
Again, I'm not dead set on "b", I just want to be realistic in how it's presented, at least relative to the current process.
Thanks @josh, I'm aware you bring a lot of experience in managing this process that I have no idea about!
I'm not sure how nominations would work, whether they'd be easy, how you'd find out about it, to whom it would occur to nominate who (whom?! I dunno!), how you'd stop someone lobbying, how you'd deal with people/orgs who felt their contributions had not been fairly judged.
But I'm up for trying it out if you and others think it's going to make things better/clearer/fairer :-)
Personally I see it as consolidating contributor engagement. i.e. it goes beyond a simple count of hours.
And it's also an opportunity with regards to Working Groups (WGs).
Currently the way (I think) it really works, is people like Jon, Eileen, and a few others, tend to keep an eye on new contributors, or on the progress or some contributors, and promote engagement (promote their work, encourage X to contact Y, spend more time doing review/mentoring, add to the contributor listing, nudge / strongly encourage to participate in events, etc).
So I think WGs should be nominating contributors, and promoting those contributions.
(and, sure, some WGs are more informal, but many are well organized, and I think it's a good growth structure)
and yep, I'm spinning 180 on supporting the contributor log. I think we tried two iterations and it failed.