The Selfish Programmer

Assignment 3

Today I went to courtlistener.com just to poke around and play with it. And on the left side as I was scrolling down the page I saw something I had never seen before. I saw a simple checkbox entitled “Court of Appeals Virginia”. That was new. I knew it was new because I had added this specific court to courtlistener.com as part of my work on Juriscraper just 2 weeks ago.

It gave me a good feeling to see my contribution in public and to know that other people may gain use of it. It also made me think about why I contribute to open source, or for that matter, why anyone contributes to open source? There is the obvious reason, because I'm taking a class and getting credit for it. I guess I could cop-out and say the only reason I contributed to Juriscraper is because my professor forced me to. But I'll probably continue to work on Juriscraper after this class is finished since I like the project and believe in its goals. Why?

Why am I motivated to spend my time on something which affords me no material gain? What's in it for me?

There are some obvious answers in the literature we've read for class. Let's enumerate them thusly; scratch an itch(ESR), reciprocity(Shah), and fun puzzle solving(Shah). I'm only enumerating the altruistic motivations. So I'm intentionally leaving out; future proofing(Shah) and career concerns(Shah). The interesting thing about these two lists is that both emerge from a classical view of economics firmly grounded in the assumption that maximizing self-interest is maximizing rational human behavior.

Instead of asking; Why do developers give their time to open source? Maybe we should be asking; Why don't more developers give their time to open source? We know that intrinsic reward systems are better at providing long term happiness than extrinsic reward systems such as money(McGonigal) and that money does not make people happier(Kahneman). Should we assume that software developers don't contribute to open source because they're too busy covering basic needs?(Maslow) Would more developers contribute to open source if there were more developers in the top of Maslow's triangle?

If open source and peer production are truly to become new paradigms of production for a new era we need to start asking these kinds of questions. It's not enough to just label open source developers as altruistic and leave it at that. We need to remap our understanding of altruism and stop coming at it from the locus of traditional economic principles. What if the desire for intrinsic reward and happiness stems from an underlying self-interested need for self-actualization? What if altruism isn't really altruistic at all but is instead just a greedy play for happiness? Then the only reason I'm contributing to open source is because I want to be more happy than people who get paid for software. I'm not actually giving away my time at all. Instead I'm rationally trading it for intrinsic reward and happiness. I'm maximizing my utility in a completely self-interested way. In fact my motivation to write software for free is actually more firmly rooted in self-interest than developers who get paid.

-ESR http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s02.html
-Shah, S. K.; Motivation, governance, and the viability of hybrid forms in open source software development.
-McGonigal, Jane; Reality is Broken, page 45 (2011)
-Kahneman, Daniel; Would you be happier if you were richer?, A Focusing Illusion, Science 312, (2006)
-Maslow http://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs