Wednesday, June 05, 2019

The Contributors Team

Recently, the PostgreSQL project spun up a "contributors" team, whose mission is to ensure that the PostgreSQL contributors list is up-to-date and fair. The contributors page has a note which says "To suggest additions to the list, please email contributors@postgresql.org."  The current members of the team are Dave Page, Stephen Frost, Vik Fearing, and me.

There are certain jobs on the PostgreSQL project which serve as a sort of lighting rod for controversy.  More than one person has volunteered to serve as CommitFest Manager with a comment along the lines of "I found the CommitFest Manager mace out behind the dumpster," from which you can correctly infer that this is not the most rewarding job out there.  For a couple of years running, I served as CommitFest Manager for the last CommitFest of the release cycle, making it my job to try to kick all of the patches that weren't ready for the current release into the next release.  Most people were very nice about having their patches bumped.  Some people were not nice about it at all.  Some people thought I wasn't being nice, and some of those people probably still haven't forgiven me.  I'm not saying I did it perfectly, but I am saying that it was a hard job.  It remains a hard job for the people who are volunteering to do it today, who generally put in a lot of time and energy and get criticized more than they get praised, despite making their best efforts to do the job well and fairly. Nobody, including me, likes having their patch bumped.  If you have a chance, buy anybody who has recently managed a CommitFest a drink the next time you see them at a conference.  Thank them for being willing to endure verbal abuse to help the PostgreSQL project succeed.  Praise them via email, Twitter, blog post, or whatever medium suits you.  Do all of that even if you don't like the way things worked out for your particular patch. Saying "no" is hard but necessary work.

I can already tell that being a member of the contributors team is going to involve at least a little bit of that same kinds of stress.  We do not have well-defined criteria for what it takes to be listed as a contributor or major contributor on the PostgreSQL web site.  I have tried to make the process somewhat more objective at least in regards to code contributions by publishing a series of annual blog posts with statistics gathered through a methodology described in those posts.  I find that quite useful because if you just try to think about who has contributed, you're likely to miss people who have contributed in areas that are of less interest to you personally.  However, even with some statistics, the question of where to draw the line between contributor and major contributor, or between listing someone as a contributor and not listing them, remains a matter of opinion and judgement.  We are still trying to work out through discussion what exactly those criteria should be, but it's probably never going to be a completely mechanical process.

Most difficult of all is judging non-code contributions.  Many people contribute many hours to working on PostgreSQL in ways that will never show up in any kind of statistics block.  They organize conferences, work on the web site or the infrastructure or the Code of Conduct committee or the funds group, or they work on some project that is related to PostgreSQL such as PostGIS or of the drivers.  Many valuable contributions may not even be known to the members of the contributors team, and even when it is known that someone contributes in a particular area, depth of contribution may be hard to judge.

The contributors team is in the process of finalizing a set of changes which will hopefully be pushed out to the web site soon, and we are continuing to discuss other proposals.  Please continue to send us your input, especially for people whose contributions are in a form invisible to readers of pgsql-hackers, which are harder to quantify.  I think it will be helpful if you can try to include as much information as you have about the type of contribution, the time frame over which the contribution occurred, and the impact of that contribution on the project. However, please also understand that this is really hard, and that we're not going to get everything right, and that we won't necessarily agree with your proposals, but this is not out of any ill will, just our best - and flawed - attempt to be even-handed.

From my point of view, the biggest problem we've had with the contributors list is the failure to add new people aggressively enough.  For a number of years, nobody at all got added; I'm not sure of all the history, but it seems to be a job that ended up being nobody's responsibility, and thus it didn't get done.  This is a hazard of all-volunteer projects, but hopefully we'll do substantially better going forward. That does not mean, however, that it's going to be perfect.  It's not good enough to do something; we need to do the right things.  Please bear with us as we try to figure out what the right things are, and give us your input on how well we're doing and what, if anything, you think should be done differently.