Whilst sat in our regular FOSS Foundations Working Group meeting, Duane O’Brien raised a tweet from Nicolas Zakas at ESlint:
Just sent out emails to various ESLint contributors letting them know that the team has awarded them cash for their contributions. ESLint values all contributions and the team picks the top outside contributors each month to pay for their help. 💵🙏😀— Nicholas C. Zakas (@slicknet) March 25, 2021
We were all intrigued by the concept and it started me wondering what it might look like in a Drupal context.
My own imagination got carried away, as usual, and I began to think a regular recognition system via cash reward could have a few key principles:
- A single “pot” with a maximum capacity so it doesn’t have detrimental effect upon other schemes
- A regular cadence to making awards
- Awards are given promptly after the contribution is made
- Size of each award is consistent, regardless of the contribution or contributor
- Awards are decided by a team of people seen as key opinion leaders in the community
- Awards are made subjectively - by considering what effect they could have on the future of the project.
This would not solve the “How do I make a living from maintaining a module?” problem, and it is not designed to do that. Instead, it might help with the “Oh wow - the leaders of this OSS project really care that I contributed” feeling that leads to further contribution.
So, here’s an idea for how to meet those principles, in a Drupal context. I’d be interested in your thoughts…
The Drupal Contribution Recognition Fund
OpenCollective would be used to hold a maximum of 5200USD. Individuals and organizations would be encouraged to contribute to the fund and all due recognition would be given to those sponsors.
If someone tries to make a donation to the fund that takes it over the 5200USD limit, they will be thanked but pointed to other ways to contribute to the sustainability of the Drupal project. Obviously, I think the Drupal Association would be a good alternative.
Every week! Can you imagine making someone in the global Drupal community happy every week of the year? That would be awesome.
It also means that we get to recognise a whole bunch of people fairly quickly - 52 a year.
100USD. The intention of the award isn’t to “make OSS pay” but to “make OSS rewarding” - it is nice to receive a cash award. It leaves a good feeling.
Small awards are also easier to give. We have to spend less time worrying about if we are giving them to the right person each time.
I did wonder about the fact that 100USD has a different relative value in different parts of the world - and whether we should use a purchasing power parity system to adjust the award. No, if someone receives a 100USD award in a lower income country, even better.
We need a panel of, say, four people each week. Now, having a group have to meet each week would be an unreasonable burden upon the panel so we need to mix it up a bit. They need to come from a list of people who are held in regard by the community they serve and I suggest, at least for the first year, the panel is chosen each week from the people mentioned in the Drupal core maintainers.txt. That’s 97 different people, so a team of four would mean each person only having to think about this two or three times a year.
By using a wide list, we also increase the diversity of people they may choose from.
Who is eligible?
Everyone, except those on the panel for that week’s award. We would probably want to make sure an individual can only receive the award once a year or something.
What makes a good candidate contribution?
For a contribution to be regarded as a good candidate for an award, it should:
- Exist in the drupal.org issue queues, on any project
- Has been made within the previous four weeks
- Be of any type of contribution - code, documentation, project management, event organising, running trainings, etc
- Be especially relevant if it is a first, second, or third contribution
- Be especially relevant if it is supporting/mentoring a first, second, or third contribution by someone else
- Have moved the issue forward in a measurable way
How do we make the award?
As the week’s award team make their decision, it is logged on Drupal.org against their user account, so we can ensure we don’t give awards to to the same people repeatedly, and they are notified via their primary Drupal.org email address with a code to include in their claim on OpenCollective.
Once they make a claim on OpenCollective, they can choose to either receive the 100USD directly or donate it elsewhere (some people get the good feeling from being awarded but don’t actually need the hard cash).
OpenCollective pay out and the Drupal Association highlight the award, with a short description of why it was made, on the front page of Drupal.org.
I like that this recognition would require human interaction rather data – i.e., it's unlike the algorithms that determine Drupal marketplace rankings. Would you determine the "success" of this program based on intuition as well or would that be measured in metrics?
Oh, good question!
I am generally in favour of subjective as well as objective methods of rewarding contribution. We already have a bunch of automated, objective tools like the Drupal marketplace, as you say. This project, I feel, is one that is best done subjectively — by people, for people.
By coincidence, I was just walking around King's Lynn, my home town, wondering about how we ensure those making that subjective analysis do it in a way that reflects the whole Drupal community, not just "their mates".
I had originally thought that a weekly team selected from the Drupal core maintainers was the right group but, being frank for a moment, they don't represent the whole community too well in terms of race, gender, etc etc.
One thing I feel strongly about is making sure leadership represents the community. So, when we choose each weekly list, maybe some funky SQL can help us ensure people who are not cis white males in a G7 country get higher priority. Maybe that would mean expanding the pool to Drupal core maintainers plus maintainers of the top 100 modules?
100 USD plus 5 cents
You turned a good idea into a well structured working draft, thanks for the effort! I love your "hands on" mentality.
Since we hat a related discussion recently over at CMS Garden, I'd like to add some notes (and hope you don't find them destructive):
*Required effort to make a fair judgement*
* We all agree that recognition can push contributions.
* It requires community members to value contributions. Community members normally already contribute a lot of time (and most of the time still feel the pressure of unfinished taks). An algorithm-aided judgment could help keep the required effort low. I hope mtift will still like the idea :-)
* If using metrics, make sure they are not too developer-oriented. Luckily we already have a crediting system for non-code contributions in place.
* Need a transparent process (rules, application procedure) to avoid drama. Applications could be facilitated by a button on the project page.
* We had a controversial discussion about financial awards. "Putting a price tag on it" ... "Looks like it's not worth more than that" ... up to potentially pushing envy and questions about a suitable jury when higher rewards are in question.
* Accepting the money might lead to more work for the income tax declaration, depending on the recipient's location and by that outweigh the joy.
*Other ways to give something back (for giving something back)*
* Alternative idea 1: Send limited edition swag to the contributor (or a voucher to avoid handling private shipping addresses), for example a (personalized?) "Drupal contributor of the week" messenger bag that cannot be purchased.
* Alternative idea 2: Highlight the contribution (maybe along with an interview) that will be published on a "hall of fame" page and promoted in the DA newsletter/blog.
* Alternative idea 3: Use the raised funds to reward projects that win a Splash Awards Community award. (Given that proposals can be submitted by anyone in favor of a non-profit contribution - but I understand that the idea is already being welcomed by Splash Awards organizers)
* In any case: create a digital certificate that contributors can print out and put on their wall.
* In any case: not only log it on the d.o account but also make it visible (badge). Not sure about: project page or user profile - or both? Why not allow for several recognitions for very active contributors?
Feel free to add some formatting to my comment ;-)
Good point about the tax…
Good point about the tax implications. It would be nice to have the option to donate the award to a cause instead of receiving it directly.
An additional way to say "thank you"
Some time ago I had an idea related to this one and, after reading your post, I finally shared it on the drupal.org issue queue. I named it the "Thanksgiving" feature, as it would allow community members to publicly thank each other,
It would also help on identifying candidates for other types of recognition such as the proposed one.
Should those of us who are…
Should those of us who are lucky enough to already get paid for our contributions, be eligible for cash rewards? Personally, I don't think so. Almost all my contributions are basically facilitated by the freedom that my employer gives me, and I don't think it would be right to award cash (even to then donate it on elsewhere) for contributions that have already been 'rewarded' in that way. But I realise everyone's situation will be different!
If the rewards were not cash, then I think that's different. I've had experience of contributing to the Gatsby project, where a free t-shirt can be claimed via a voucher code sent after one's first commit is merged to the project. And Pantheon's 'gift of open source' campaign (again, rewards in the form of merchandise gifts via vouchers) was also a great motivator for prioritising contribution.
At the end of the day, I believe money changes relationships & perceptions. We need to be very careful about that. (As I'm sure you're aware!)
Your suggestions appear to be valuing first (or second/third) contributions. Is that correct? That might be exactly what you're trying to encourage, as opposed to longer-term contributors who need help with sustainability. Both types might need help; we don't necessarily need to address both, but we should at least be clear about who we're trying to reward, and why. That will help with any community 'jealousy', for example. Especially when 100USD might go a very long way in some contexts.
I'm glad you mentioned the diversity issue in a comment - as yes, using the pool of core maintainers to improve diversity, might not actually improve diversity! I wouldn't be surprised if even using the next X number of maintainers in the contrib space might have the same problem. Capacity to contribute is a privilege, so I'm not sure of the solution. Where else could the panel come from, that would both understand the values of the scheme and contributions, whilst also being diverse?
But anyway. For certain people, and/or the right ones that you want to reach, this is a great idea, worth progressing!