twittering on 2011-03-31

Where meritocracy fails

Robert wrote about patches and rejection today, and quoted me from some tweets I made about meritocracy. I think Robert made some good points in his post, and I’m going to make some suggestions about patch review.

But first, I want to address my irritation about meritocracy

The first thing that I’ll say is that I’m not sure exactly what people mean when they mention meritocracy. A definition of it is “Meritocracy…is a system of government or other administration (such as business administration) wherein appointments are made and responsibilities assigned to individuals based upon their “merits”, namely intelligence, credentials, and education, determined through evaluations or examinations.”

My assuption was that Ed was saying, “Postgres is awesome because our community is meritocratic.” I don’t believe that’s our strongest value, or quality as a community. And, it’s not something that I think embodies what is awesome about Postgres.

Our strongest quality is our ability to create great code.

We consistently produce readable, reliable and robust code amongst geographically diverse people who have very strong, divergent opinions about a great many things. We find common ground in the production of database software between people who are rhetorically violent even in agreement.

The code quality arises from a commitment by Postgres hackers to discuss in public decisions that many developers prefer to make in private. We are committed to a kind of radical transparency about our code that, at least in our shared Postgres myth, is embodied in Tom Lane’s example. He overwhelmingly gifts to us his time and passion, in the form of methodical reviews of code. And that’s not to say that our reviews are perfect in tone or fact, but just that we consistently do them.

When I think about our review process as it has evolved through Commitfest, it seems so undeniably humane and personal. I know at the same time that it’s still frightening… Just last week a developer talked to me about how much he feared someone tearing into *him* and his code, picking apart decisions he’d made and the bits he knew needed more work. Anyone who shares a creative work knows how this feels – whether it’s a painting, poetry, music or code.

But I don’t think that commitfest or the direct reviews fellow hackers still provide to each other, produced a meritocracy. And I don’t think that we should pursue meritocratic organization much more than we already have.

What we have is something that largely works, and produces a product we feel good about endorsing and improving. There are elements of “promotion through merit”. We pay closer attention now to giving commit access to people who it seems really ought to have it. And we recognize individual efforts where it is appropriate in our commit logs – something many projects fail to do.

At the same time, the operation of the project is dominated by people who fit into a very specific profile. And that’s something like:

  • the top 1% of the world in terms of salary,
  • are male,
  • had parents that were mostly successful (aren’t in jail for violent offenses for example), and
  • either don’t have kids, or have a partner or paid helper that does most of the childcare during the work day.

I count myself among you, with the exception that I’m not male, and I don’t have kids. But I guarantee you that if I did have kids, either my partner would provide the bulk of childcare during the work day, or we would pay someone to do it for us.

I bring this up because in a truly meritocratic organization, privilege wouldn’t matter. Anyone could join us. But the truth is, not everyone can join the Postgres project. And that’s why bringing up the myth, and applying it to an organization I contribute to annoys me.

I try to think regularly about my own privilege, and the place of open source software like Postgres in the world. I consider how to contribute to an organization that is not only is excellent in terms of what it produces, but is also something to be proud of because of the way that people treat and care for each other.

So, I don’t think more, or purer meritocracy helps us have better relationships or treat people well.

We are still small enough at our core (somewhere around 300 people at any point in time), that we can operate like the best businesses do. We rely on good relationships between small groups who tend to appoint leaders to communicate between teams. Our teams seem to often be pairs, or small businesses, which fits our project’s need for deep understanding of each feature.

But apart from the practicality of avoiding further pursuit of meritocracy, I don’t believe that it helps us with talents that we need as a project now. What matters is not that someone is the best at something, but that they have the time to put some effort in, which will then motivate others. That someone out there has a few minutes to write a review, file a bug report or fix a typo on our websites.

What we have to do is create structures that invite people to give what they can, when they can give it. This is what we enable with our extensive comments and thorough documentation. We probably could use someone with Tom Lane’s singular attention and time to our web site, but I think we could make better use of 10 people who could devote a fraction of that time, consistently and with good humor.

So, ending the pursuit of a mythical meritocracy doesn’t mean that we start accepting code which doesn’t meet high standards, or that all of the sudden we’re going to include more code from people in the bottom 1% of the world in terms of salary. It means that we take a look at different aspects of our project and see what is within our means to open up and make accessible to people who aren’t exactly like us.

Weekly tweet digest for 2011-03-27

twittering on 2011-03-26

twittering on 2011-03-25

  • in to #pgeast early. breakfast sandwich. water. in Jeff Davis' talk on range types #pgeast #
  • had hilarious conversation with John Scoles ( about his work studying narwals. #pgeast #
  • (apparently, the 'r' is rolled when you say narwal) #
  • Omg coffee #pgeast #
  • in "large customers want postgresql too" #pgeast #
  • requirement: the cobol post-processer generating a C module to run SQL has to run faster than it does on the mainframe #lulz #pgeast #
  • "when we can save $250k, that's enough for me. an extra couple million is nothing to these guys for licenses." #
  • "when we can save $250k, that's enough for me. an extra couple million is nothing to these guys for licenses." #pgeast #enterprisey #
  • "COBOL program never knows what happened to it." #pgeast #
  • experience contributing ECPG code for caching queries to #postgres "was fairly painless and was in the next release" #pgeast #
  • Magnus' first slide #pgeast #jdcon #
  • Reminder: COPY API is newly exposed in PostgreSQL 9.1 #pgeast #fdw #
  • postgres_fdw will be in 9.2, so keep using dblink for now #pgeast #fdw #
  • Second COBOL reference in a talk at #pgeast #drinkinggame #
  • Andrew's ongoing work on Foreign Data Wrappers for #postgres #fdw #
  • "must rescan return the same tuples as the first scan?" "only if you want it to return correct results." #pgeast #
  • "Private cloud is a dead end." "You lose out on all the economies of scale that are the benefits of the cloud." -Heroku #pgeast #
  • OH: "there's a target for beer here." regarding VMWare guy who can't talk about whether they'll ever offer a public cloud #
  • "i don't expect marketing fluff" -audience member #pgeast #ftw #cloudpanel #
  • Oh cool, yet another thing implemented as a PL in Postgres: #
  • in jon erdman's pgq and monitoring talk #pgeast #
  • Pretty much everyone is hiring at #PgEast #
  • OH: "we pay about 30k per terabyte." #
  • Just met dba at Donors Choose. Such a great organization and they use postgres! #pgeast #
  • The guy in the sweatshirt just punched someone in the street #
  • Made it! #

Report from first day at PgEast and hoping for another tool to be opened up

I wrote up some quick notes from talks and conversations over at the Emma Tech blog.

The most exciting talk I sat in today so far was about an Oracle PL/SQL to Postgres PL/PgSQL translation tool that I’m hoping the company who created it will open source. We’ll see. Fortunately, a fellow conference-goer had an inspirational story to share about open sourcing another tool for Postgres, which meant incredible adoption in just a few months in our community.

Not every project will see that kind of immediate benefit and growth from open sourcing, but there is a certain class of project – where most people can complete 80% of a useful tool, but don’t bother to put in the additional effort to get the remaining 20% of the features that they’d really like to have.

But, when someone does finally release a tool that provides that extra 20% of features, adopting the new tool is a no-brainer.. particularly if it is open source. I think this PL/SQL conversion tool falls into this sweet spot.

Now I’m sitting in the Foreign Data Wrappers talk and very excited to see what Andrew is announcing. Great to see people creating things that make the crowd here clap, smile and celebrate.