Open source as a civic duty

No readers like this yet.
Make things better

I occasionally get asked why I spend so much of my free time writing software and giving it away for free. There are a number of reasons for this—I like to build things and I use it as an excuse to practice and improve my skills—but one of the most driving motivators for me is that I see open source contributions as a civic duty, a moral obligation to the rest of the world.

Considering that I am an employed programmer living in Silicon Valley that is generally thought to not be incompetent, you could deduce that I’m not worried about how I’m going to pay for my next meal. I’m not rich by any stretch, but I have a reasonably comfortable lifestyle, and that’s all I’d ever really want. After all, does a programmer need much more than a laptop and a cup of coffee to be content? Given that I’m not stressing about whether or not I’ll have a place to live and food to eat next month, I’m among the most fortunate people in the world. And if you have access to the technology needed to read this, you probably are too.

Morality is a touchy subject that varies widely among individuals and cultures, and this post is not meant to imply that my sense of morality is necessarily correct. However, I feel that people who are fortunate enough to survive on their own means have an obligation to give back to their community. I believe that some degree of self-sacrifice and civic duty is necessary to build and maintain a community that we all want to live in. This can come in many forms—giving to charity, doing volunteer work, or in my case, writing free software. It doesn’t really matter how you try to contribute to your community, it just matters that you are doing it.

Granted, I’m not writing software that will deliver clean water to poor countries in Africa or help cure Malaria. I tend to focus on web animation tools and other UI utilities. However, I’m doing work so that others don’t have to. My goal is to save time at scale so that other people can solve different problems that don’t yet have solutions. To take an extreme example, consider the GNU Project. As a whole, GNU has saved humanity man-centuries worth of work. There’s very little time spent developing operating systems and basic utilities anymore, because that is mostly a solved problem. Instead, we use GNU tools that others have spent the time to build, freeing us up to pursue other challenges like statistical modeling and AIDS research. If you have doubts about the value of free software, just look at GNU.

Altruism is, unfortunately, not a terribly common value in Silicon Valley. At best, larger companies will have a branch dedicated to positive social impact, and smaller companies may have the occasional charity fundraiser. But it seems that a large portion of Silicon Valley tech companies are focused on some self-serving vision or niche problem that only the founders and their friends have. I don’t want a culture where the only problems being solved are the ones that tech people have. I feel that writing free software on my own time is a tiny step in the right direction, even if indirectly. My dream is that someday, a free tool I’ve written will be used to help do something truly valuable. Anyone can do this, it doesn’t require much money or time—just a sense of the bigger picture.

Originally posted on Jeremy Kahn's Dev Blog. Reposted under Creative Commons.

User profile image.
I'm a web developer at YouTube, and I love open web technologies. I have a handful of projects that I maintain on Github ( My goal is to build awesome open source tools to empower creative people.


Thank you for putting it so well - it is a civic duty, and if you'll forgive me for link-dropping I remain unapologetic about it - and even see the manifesto. There is a growing movement of placing OSS in government (see the service design manual on - the UK government demands that new software is built in an Agile way(?!). - code for America do some really good civic hacking stuff (recent hackday had 90k people). But you don't have to be part of some movement - just be writing and releasing. Debian is still doing it after 20 years - far longer than most of us will ever stay in one job. Cheers

I rather die than contribute to a government project

There are three main OSS avenues into Government / public use - "Civic Hacking" - usually a non profit, sometimes volunteer approach to producing software not for governmental use but of civic value - a common one is geo-mapping crime data.
"Indirect contribution" - where an existing OSS project is simply used wholesale by a government body. This could be anything from Linux distros to Ruby gems.
"Pure Play" - this is where no existing project meets government needs and they pay for its creation - the project is a very clear and open example - but others exist.

So almost every OSS project that is useful to the private sector is likely to be as useful in the public sector. The skill sets for web developers at prestige go ernment projects is exceptionally high - and the outcomes, for health and well being of many of the less fortunate in society that government serve is to deliver better software that delivers better services.

So simply knocking government projects as somehow undesirable, presumably because of a slow, bureaucratic and unexciting nature is to fail to offer your skills in the service of all people in society. Private sector companies are able to provide solutions that suit 80 or 90% of the country - but governments must provide for all the edge cases - and they need good digital solutions to do it better.

Like the post says - its your civic duty.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.