Let’s start with a post I strongly recommend, “Why GitHub is not your CV”:
If your company cares about the software ecosystem enough to give its employees time to do open source, to give something back for building its business on it, then great. But you are a vanishing minority, and among your number are companies that still use open sourcing their work as a way to get free bug fixes. Remember that the opportunity you’re affording people is a very rare commodity, and most people aren’t going to be able to show you code they wrote at another company. Don’t punish job candidates for their employers’ policies, and don’t assume that a lack of public code demonstrates a lack of interest, or care, or competence. People have plenty of valid reasons not to spend their spare time on their job, and certainly most of the great programmers I’ve worked with aren’t big-time GitHubbers.
Programming is one of a small number of jobs that people can practise outside the framework of an industrialised workplace. Yes, I’m sure you can quote me many other examples, on the basis that there simply thousands of kinds of jobs out there. But programming is almost unique in two ways: first, you can do professionally-scoped work that isn’t feasible in other hobbyist situations. I’ve written code on my sofa, while enjoying a glass of wine or two, that is now deployed on dozens of web apps with international user bases. Second, you are able to put the work itself – not a picture, or a description, or a review, but the literal work itself – online for anyone to see. Companies want to see your GitHub because they think it indicates skill and passion, but really, they simply want to see it because they can. You don’t see sysadmins or QA people or project managers being asked for the literal output of their past endeavours, because it simply isn’t transferable in the same way code is.
James Coglan’s post really does well at getting at the limited value of weighing open source software contributions in an overall job applicant’s profile. He’s right, it’s not a crystal ball.
That said, at Pingv we do weigh OSS community engagement and value it quite highly. Why? Because we’ve found that if people don’t “get” OSS (let alone grok it), it’s very difficult to teach. It comes down to people’s values.
The value of code samples themselves is rather limited. We look at them as portfolio pieces that can possibly reveal quality, but can’t really tell the full story, or indicate problems.
However, what can indicate a strong value to us is engagement in the community, participation in the making and bettering of the entire OSS experience, not just the code.
This is why we ask for the applicant’s Drupal.org ID when they are applying for Drupal work. It’s not to let the privileged shine, it’s to see if the person is engaged at all? Is he reporting bugs? Is she contributing solutions to others? Is he participating in community events? Is she engaged in the community dynamics?
Not everyone can be big OSS contributors. As Ashe Dryden posted a couple of days ago,
A lot of people hold the idea of meritocracy close. I believe they mean well, too, but they aren’t necessarily seeing the whole picture. We all want a system where we feel we can be rewarded for what we contribute: that society’s injustice toward certain groups of people - most specifically geeks, many of us who grew up feeling abused, persecuted, and ignored (blog post coming on this soon) - would be rendered irrelevant. In striving for that, our community has become a microcosm of society at large.
The idea of a meritocracy presumes that everyone starts off and continues through with the same level of access to opportunity, time, and money, which is unfortunately not the case. It’s a romanticized ideal - a belief in which at best ignores and at worst outright dismisses the experiences of everyone outside the group with the most access to these things. A certain demographic of people have three or four steps above other people, so the playing field is not even.
In effect, selecting only from those who are already very actively engaged and contributing is a mainstreaming process that closes doors to opportunities for those striving to get a chance to play, but can’t because they’re working a job that doesn’t allow it, or working several jobs to make ends meet and can’t find the time, or working and serving as primary caregiver for loved ones and can’t find the time or energy, and so on.
And when we do that, we’re no better than the Hollywood executive who wants to hire only yesterday’s blockbuster director, or the publisher who wants to buy only yesterday’s bestseller novelist, or the corporate director who wants to hire only CxOs who have already been CxOs. It may feel like a safe choice, but over the long term, it’s not sustainable.