
The Ethics of Unpaid Labor and the OSS Community - steveklabnik
http://ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community
======
jballanc
As with most things in life, the problem is one of lazy thinking. It goes
something like this:

"We want to hire good coders. How do we do that?"

"Well, we can ask them to write code during the interview."

"Yes, but can't we filter people before they get to the in-person or over-the-
phone interview stage?"

"Well, we could ask people to submit code portfolios."

"Yes, but that means that someone on the team will have to review the code.
Isn't there some way we can evaluate their coding ability without spending any
time or effort?"

"Well, _some_ people have open source contributions that are shared with and
evaluated by the community..."

"That's it! We'll only interview people with pre-existing open source
contributions. Genius!"

"...that's not what I...oh, you're not listening anymore..."

------
betenoire
As someone who is about to reenter the job search after 7 years at my current
place, this resonates with me. 7 years ago I was young, carefree, and had a
lot of free time. I spent a good deal of that time coding and releasing code
because I could and I enjoyed it.

Now I've spent 7 years building a great product, accomplished more than I
could have imagined, learned much more than I thought I had left to learn, and
am generally happy with what I've done and the decisions I've made. However,
in the meantime life has moved on. I feel like I have a lot to offer, however
I feel totally out of place when looking for jobs.

The details why I haven't been able to code as much as I used to, or why I
haven't been able to release what I have coded are not that important. That's
just the way it is right now. With that in mind, it is very discouraging when
most jobs expect to see my personal and professionally embarrassing github
account.

I'm not complaining, it's still totally up to me to present a good resume and
showcase what my strengths are, and I can do that. I've also decided to use
this as motivation to learn something new, and build something with it.

------
PhasmaFelis
Wow. That opening tweet: "Advice received on hiring software devs: reject
anyone who doesn't have a @GitHub profile (the more active the better).
Agree?"

It is terrifying that anyone would ever think that was a good idea, let alone
someone respected enough to have 128K Twitter followers. How much more plainly
can you say "we're not interested in anyone who wants to spend evenings and
weekends with friends and family"?

~~~
azakai
I see your point, but that's a bit harsh.

First of all, having a github profile doesn't mean you "don't want to spend
evenings with friends and family". It means you spent _some_ amount of time
doing stuff on github. Ignoring people who get paid to write code that is on
github (most open source projects are mirrored there now, so there are quite a
few), all it means is that coding is one of your hobbies.

Aside from quality time with your family, perhaps you spend a few hours a week
playing the guitar, or reading epic fantasy novels, or playing soccer, or
perhaps you spend some of that time hacking for fun. Some very good hackers
are exactly so good because they love hacking on software so much. Not all -
some just want to forget code outside of work, that's cool too - but certainly
some. More than the opposite, in my experience.

Again, I see your point - to just categorically reject people without a github
profile is both insane and immoral (insane, because you are going to lose out
on a lot of talent; immoral, because it sends a message that unpaid work is
necessary).

But I would say that a github profile is a positive. Aside from showing an
honest love of hacking, it also provides code samples that you as a possible
employer can just look at.

~~~
rjbwork
I actually spend quite a lot of time coding in my spare time, be it Project
Euler, code katas, messing about in a new language for shits and giggles,
doing pluralsight tutorials or hacking on an experiment for my employer's
product at night or on a lazy weekend afternoon. None of this is really useful
to throw on GitHub, and being penalized for it under the assumption of "not
enjoying coding in my spare time" is pretty ludicrous.

Also, I prefer Hg/BitBucket for personal code anyway.

~~~
theorique
Absolutely.

Github (or equivalent) presupposes that you've done some coding that is (1)
worth sharing with the public (2) organized enough.

A lot of "learning code" is going to look like crap - the first few thousand
lines of code you write when you're learning a new language, a new problem
domain, or (!) both at the same time. The fact that it isn't useful for public
viewing doesn't make it useless - it was an important part of the learning
process. But sharing it with prospective employers is unlikely to be valuable.

------
jmduke
To speak to the first half of the post, I think the tweets by @betsythemuffin
are the most interesting:

 _1\. Whether free-time activities are called "work" or "play," the existence
of free time to do them in is a privilege.

2\. When a time-consuming activity is used as a job selection criterion, it
becomes work._

I think an apt metaphor is college admissions, where Open Source contribution
takes the place of spring break volunteer work in Cambodia (which requires you
to be able to spend the thousand dollars for the flight) and lots of after-
school clubs and sports (which require you to not work a job during high
school to help support your family.) It's a veiled discrimination (and I don't
mean _discrimination_ in a loaded way -- I'm not saying people who look for
OSS contributions in their employees are closet racists or sexists or anything
like that.)

At the same time, I have to disagree with the second point; I think a more
accurate sentence would be "when a time-consuming activity is _required_ as a
job selection criterion, it becomes work." I know plenty of people who happily
leave work every night to hop onto a pet project or two and code the evening
away; they're not doing it to get a leg up on the competition, they just like
programming! I don't see why that shouldn't be a contributory factor in a
decision whether or not to hire an employee.

I think the bigger issue is raised in the initial tweet in the post -- "Advice
received on hiring software devs: reject anyone who doesn't have a @GitHub
profile (the more active the better). Agree?" Open source experience shouldn't
be a _negative_ filter but a positive one.

------
pchristensen
I feel like this article (and many like it) doesn't mention a key point:

Portfolios and verifiable career assets/achievements make you more valuable to
potential employers. It de-risks hiring you. Even if you're just as skilled,
capable, etc, if you can't offer anything to verify it, you're statistically
riskier to hire.

Now all the points in the article drive home the point that the less
privileged you are (due to gender/age/ethnicity/socioeconomics), you'll have a
harder time building those career assets, due to time, limited job selection,
lack of mentors, etc.

Requiring OSS contributions to interview doesn't mean you're getting better
employees, it just reduces your risk of hiring a bad employee. It does mean
you're filtering out skilled people w/o career assets. It's about reducing
false positives, not avoiding false negatives.

------
MrOrelliOReilly
I suppose I fall into the 'young, eager, and has free time' category, but I
_hate_ this kind of mentality/requirements. I love to code, but I love to do a
lot of other things too (big surprise!). Is it wrong for me to program
professionally but use my free time for other pursuits? After working at the
computer for 8+ hours straight going home and coding for the rest of the night
is downright unappealing.

~~~
moreentropy
Exactly.

I'd really love to contribute more to Open Source projects and/or put more
stuff on Github, but that's not going to happen after 8+ hours of software
development. I'm doing my share of bug reports and patches here and there, but
I wouldn't take a role like maintainer/developer for a FLOSS project in my
spare time. I admire those who are able and willing to do this, but it's not
for me.

~~~
colomon
Do you have a Github ID to make patches?

~~~
moreentropy
Yes, I have a Github ID, but have mostly interacted with projects not hosted
on Github. Yes, they still exist. :)

------
yummyfajitas
The article, like many on this topic, conflates _meritocracy_ with a _just
world_ :

 _The idea of a meritocracy presumes that everyone starts off and continues
through with the same level of access to opportunity, time, and money..._

Meritocracy is simply the belief that meritorious people will (either
deterministically or probabilistically) rise to the top. It is not the belief
that the _distribution of merit is fair_.

A person who ate lots of lead paint as a child, had Down's syndrome, or some
similar tragic circumstance, will have very little programming ability and
very little merit. This is unfair. The lack of mentally retarded individuals
in open source is not evidence against meritocracy.

~~~
csixty4
This article isn't talking about people who ate lead paint, though. It's
talking about people who might be brilliant programmers, but don't have the
_opportunity, time, and money_ to contribute to OSS for one reason or another.
Someone who doesn't contribute outside work doesn't necessarily have less
merit, unless we accept that _merit_ really means being of a certain social
class.

~~~
tstrimple
Wait, we have a social class of programmers (who on average make _well_ above
the median income) that are _unable_ to contribute to something on github? I
would agree that there is a whole class of people _unwilling_ to contribute
anything, and they largely overlap with the programmers who don't do anything
to sharpen their saw. Consequently they are also the programmers who will have
a horrible time trying to find a job after they have been laid off from the
company they have been at for the last 10 years because they didn't take the
time to stay on top of what's happening in the technology world.

~~~
ispivey
Imagine being a single mother with a young child. You're a great programmer.
But you spend 90% of your time outside work raising your kid, so you can't
make the time to make significant contributions to OSS.

...

You can't get a job that requires a Github OSS history. You're severely
disadvantaged in job hunting when OSS contributions are a major metric.

If people tested your suitability for a job by pair programming with you, or
looking at code samples, you'd look just as good as someone who contributes to
OSS. But because OSS is an important metric, you're disadvantaged.

Does this make clear how it's discriminatory?

~~~
theorique
It's pretty clear that requiring a Github history is discriminatory. I wonder,
though:

(1) Are there any companies which literally remove a person's resume from the
running if his/her fit seems to be good in other ways, _just_ because they do
not have a public facing github repo? Or is this just something that people
are talking about but not actually implementing.

(2) In what sense is _any_ job requirement _not_ discriminatory? Requiring 5
years of Ruby experience discriminates against those with only 6 months of
Ruby experience. Requiring a Masters degree discriminates against those with a
Bachelors or no degree. Making the candidate do a programming test
discriminates against people who don't perform well on tests. The question is
whether the programmers that a company hires based on a Github criterion are
measurably "better" than those hired using different criteria. As far as I
know, no such comparison has been done.

~~~
tstrimple
I could absolutely see myself using this as a screening mechanism. When I was
hiring developers, I would get literally hundreds of resumes sent to me.
Filtering through resumes is a waste of time. You cannot tell from that piece
of paper (PDF, Word Doc, etc) how technically capable a person is, or if they
would be a good fit for the team.

I do not have time to interview hundreds of people, so we have to apply some
filtering. Are we going to potentially filter out a good candidate because
they didn't take the time to make themselves stand out? Maybe, but I'm okay
with that.

~~~
theorique
Good point. If you have to go through hundreds, then you're more or less
looking for a reason to say no. Better that you miss the odd good candidate,
than waste weeks of productive time trying to make the process 100% perfect.

------
amys
What's needed is more jobs that pay people to write open-source -- for
example, but contributing libraries back to the community, or at least
bugfixes.

~~~
moreentropy
Yes, definitely. My personal experience is that it's not always missing
appreciation but more practical issues that keep companies from contributing
more (money/time/developers). My clients usually understand the benefits of
using free software and express an intention to contribute back, but the
process of contributing is not well understood. If you take some piece of open
software and customize the hell out of it for a few months, you can't just
expect the upstream project to gratefully merge all your stuff because it's
"free features". So it takes time and energy to work with the upstream project
to identify useful parts and carefully integrate them into the upstream
project, all while the customer is already in "works for me" mode and doesn't
care to change already deployed software....

------
Morgawr
I honestly don't understand the point of analyzing the gender/race/whatever.

I agree entirely with the fact that people should not hire solely on the basis
of a github account, but this has really nothing to do with gender or race.

I mean, sure, it's a trend and with a lot of data everybody can self-proclaim
himself as a statistician but just analyzing a bunch of stats and drawing
conclusion isn't really making a point (causation/correlation etc etc). Saying
that women or black people or LGBT members don't have time to contribute to
OSS because of "other reasons" is, in my opinion, even more discriminating
just for the sake of doing it. If they want to, they can contribute, they can
find the time. Personally, I am a graduate student pursuing a higher degree, I
work as a teaching assistant in university, I have a lot of assignment, work
on my thesis, publications and a lot of stuff going on in my life, and yet I
still find those couple of hours every night to hack away. Sure, my sleep
schedule can get messy and I have to renounce to a lot of social activities to
do that, but I do it.

I don't see any difference with my life schedule and the schedule of another
person, be it a woman, a poc, a LGBT militant or whatever, we all have our own
interests and this has nothing to do with "what" we are, just with "who" we
are.

Personally, my girlfriend is a computer scientist (although we work on
separate fields), she doesn't have github and doesn't contribute much to other
projects but she still codes a lot and works on interesting academic projects
and stuff. In many ways she's much better than me and nothing would stop her
from making a github account and contribute to other projects, just that she
doesn't. It's not in her interests and has nothing to do with her being a
woman or not having time.

If you want to base your arguments on gender/racial issues, I find it
ridiculous to do so in a semi-anonymous environment like github where nobody
needs to know anything about you, as long as your skills are there.

Rant aside (it really bothers me, I am a huge supporter of gender equality and
all those issues but I don't like people blaming everything on that), I
entirely agree on not requiring a github account to hire people.

~~~
steveklabnik
So, you cannot draw conclusions from the published scientific literature, but
you _can_ draw conclusion because your girlfriend codes?

Just want to make sure I understand your line of argument here.

\------------------

Also:

> I find it ridiculous to do so in a semi-anonymous environment like github
> where nobody needs to know anything about you, as long as your skills are
> there.

If you read carefully, you'll notice that it's not just overt discrimination
from knowing who you are; it's also a lack of time, opportunity, and a bunch
of other things. Furthermore, GitHub is _not_ anonymous, many of us do use our
real names on there. Suggesting that others should revert to anonymity while
the rest of us 'build our personal brands' is, well...

~~~
Morgawr
I'm not drawing any conclusion, I just treat women, poc and LGBT people as,
you know, PEOPLE. There's nothing that stops anybody from contributing repos
to github.

Certainly it's not their gender or their race or whatever other social
construct. If you don't have time it's because you don't find time, which
means you don't have any interest in it. And, you know what? It's fine. Are
you saying that women or black people have a too busy agenda doing their
<enter stereotype> stuff that they possibly cannot use github?

Please, if you want to talk about people not having enough opportunities to
participate in github community, talk about people living in Nigeria, Tibet,
North Korea. They surely have bigger problems. This has nothing to do with
gender or race. No, not at all.

If we consider discrimination on the workplace, in the industry, at a job
interview, then sure, I can agree with you. A woman might have a harder time
being accepted in the industry (sadly), same goes for other minorities. But on
github? Sorry, I'm not buying it.

~~~
csixty4
> Are you saying that women or black people have a too busy agenda doing their
> <enter stereotype> stuff that they possibly cannot use github?

That's exactly what the article is saying:

> 52% of women caregivers with incomes at or below of the national median of
> $35k spend 20+ hours each week providing care. The largest racial
> demographics in this group are black and hispanic.

20+ hours a week caring for children, elders, or family members with some form
of disability. Fair or not, it's expected that they'll do it.

> Due to additional pay inequity contributing to less access to paid
> childcare, women of color perform far more child care than white women.

They can't just pay someone else to do it. If they could afford a babysitter
while they hack on some code in order to get a better-paying job, that would
be awesome. But that's not realistic for a lot of people.

> On childcare alone, mothers spend more than twice as much time per day as
> fathers do.

Fathers are a lot more involved in raising children than they used to be, but
mothers still get stuck with the bulk of the work.

Hell, I've lost 4-5 hours out of my week since I took up jogging. It's a big
boost to my health and a way to keep life-long weight issues at bay, so I'm
not complaining. But just taking on an additional "hobby" like that takes up
the equivalent of half a work day.

~~~
yummyfajitas
Those poor helpless mothers, being "stuck with the bulk of the work". If only
they were allowed to choose whether or not to have children, choose the father
of their children, and negotiate with the aforementioned father their
childcare arrangements before getting pregnant.

Sadly, we are discussing women in rural Pakistan who don't get to make these
choices.

~~~
steveklabnik
You're discounting all kinds of external social factors that lead to this.

------
vorg
When you measure something (e.g. the linked-to "Most active GitHub users by
contributions"), and others use it as an incentive (e.g. employers granting
interviews) , some people will game the ranking. Here...

    
    
        top 256 users by contributions
        contributions = Pull Requests + opened issues + commits
        filtered by > 218 followers
    

To get and stay on this particular list, you need 240 (= 218 + 10%
contingency) followers, which you get by following other projects, not because
you're interested in them but because their project members look like they
treat following as a favor and reciprocate.

Regarding contributions, which is easiest: making a pull request (which don't
need to be accepted), committing code, or opening an issue (which don't need
to be closed)? Choose the easiest one, ignore the other two. Then pack as
little as possible into every request/issue/commit, creating as many as
possible.

There's people out there who _do_ game Github rankings (tho not necessarily
this one). It's like quantum physics: whenever you measure something, the
thing being measured changes.

------
vinceguidry
I recently watched an interview with a very well known porn star. They asked
her how she got to where she is today. Her answer was "I sucked a lot of dick.
A LOT of dick".

The message she seemed to be sending was, if you don't absolutely love sex and
aren't up for it pretty much any time and place, even from the person about to
pay you a bunch of money to do it on camera, don't become a porn star. You'll
just burn yourself out and feel taken advantage of.

An attitude of, "I'm a professional and you really should be paying me any
time I look at a text editor," is the wrong one to have if you want to be
successful as a coder. People are going to sense that you're not really in it
for the thrill of mastery and they won't take you seriously when you want to
move up to the big leagues.

Look, we all have different goals in life. My goal right now is to master
programming. That means when I get home after work, I code. On the weekends, I
code. Side projects, side gigs, talking about coding. It's my career and I
take it seriously.

If you've got kids or whatever and you can't throw that kind of time into your
career, that's fine. I'm not going to look down on you for having a family.
But if you want to have my career prospects without putting in the amount of
work I put into it, I'm just going to shake my head at the entitlement that
displays. There's plenty of great jobs out there for coders with families.
Take one of them and provide for your offspring.

I don't think it's inappropriate at all to ask for open-source contributions
as a part of your resume. If you're a badass coder, you should have them. If
you want a badass coder, you should compensate appropriately. If you take
yourself seriously as a porn star, don't get squirmy over a blow job. If you
take yourself seriously as a programmer, contribute to open source.

------
theorique
The question of how this works at the hiring level is interesting. We have to
do _something_ to filter out the small set called "people we hire" from the
larger set called "people we don't hire".

Github as the _only_ filter will select a certain group of people. Maybe they
have "the most" merit, maybe not.

An on-the-spot programming test will select some other group of people.

A set of puzzles and math problems will select some other group of people.

A take-home problem to be submitted in a few hours or days will select some
other group of people.

A culture-fit interview will select yet another group of people.

None of those tests by themselves is perfect, but by using a suitably weighted
average, you can determine whether someone js smart enough to do the work,
able to work with people in your company, and actually interested in working
hard and making a contribution. The person who scores highly on most or all of
the metrics will probably fit in well and work well.

Requiring a person to have a public github repository is perhaps a higher bar
to set than requiring a person to write some code or pair program in an
interview. It doesn't necessarily make it wrong, but it does mean that you
will be filtering in a different way if you make it a requirement.

------
joelgrus
It would never in a million years occur to me to think of my Github account as
"unpaid labor", any more than it would occur to me to think of my blog or my
Twitter as unpaid labor.

I like to build cool stuff, and Github is a way to share it with the world in
the hope that other people will find it useful and/or cool.

------
tstrimple
I don't think there is anything wrong with preferring developers who _like_
programming enough to choose to do it in their free time as well. Especially
in a startup environment where a bad hire can be devastating.

~~~
matdesigner
We all use criteria as proxies to judge a specific part of someone's
competencies or personality.

Is the competency we're proxying for that people "like" programming? Or is the
competency that someone is "good at coding"?

I would much prefer someone who's good at the latter than the former. I could
care very little whether someone enjoys coding in their free time, I need to
know they are competent and work well on a team.

~~~
canweriotnow
Not me. I've worked in "enterprisey" environments where people were just there
to collect a paycheck. Sure, they could commit code that didn't break shit,
but it was inelegant and made life worse in the long run.

Now that I'm doing the hiring (not something I ever wanted for myself, but we
all have to grow up sometime)... I like the people I've hired so far, I would
never subject them (or myself) to working with someone who didn't see coding
as "more than just a job."

------
altero
Is this article a joke? It is like some twisted communist manifest fitted on
21st OSS.

~~~
steveklabnik
DH0, and some DH1. You can do better.

[http://paulgraham.com/disagree.html](http://paulgraham.com/disagree.html)

~~~
altero
I am in/from post soviet country and have zero exposure to recent american
culture. So my question is serious: is this article joke?

>I want to see all people fairly compensated for their labor without feeling
forced into it; I do not want to see free and open source software stopped.

Author could send a donation to some open-source project. Instead he makes me
(as OS developer) feel like a shit, because I stole some theoretical chance to
someone else. This goes beyond occasional troll, and if this becomes a norm, I
will seriously consider to make my projects private.

~~~
steveklabnik
The author is a woman, by the way. Though I assume you're trolling.

