beanz Magazine

The Tragedy of the Commons

Oaktor Photography on Flickr

How we manage limited resources and share costs is an important question far beyond software development.

Imagine all of us own sheep and we send them out to a pasture we share in common. None of us own the pasture but we agree to share it. Our common interest is in having enough pasture to feed all our sheep. However, our individual interest is to maximize our use of the pasture to meet our needs.

If I decide to buy ten more sheep and send them out, then you buy twenty more sheep, and our neighbors do the same, at some point there is no common pasture for us to share. The grass will be eaten and no longer able to support our sheep. Whoever uses the shared pasture the most gains at the expense of others whose sheep can no longer eat from the pasture.

This problem of a shared resource with limits is called the tragedy of the commons. First described by British economist William Foster Lloyd in a pamphlet published in 1833, and also described by Aristotle earlier in history, the phrase became common when ecologist Garrett Hardin published an essay in Science magazine in 1968 with the same title.

You might wonder what sheep and pastures and ancient history have to do with software.

Developers encounter the tragedy of the commons often in their careers. Software libraries, for example, are used in common by many developers with updates lightly co-ordinated with all users or not co-ordinated at all. And large teams of developers have to manage their common code in ways to minimize technical complexity, dependencies, and other problems.

The tragedy of the commons problem also share similar elements with the Prisoner’s Dilemma and other interesting social problems. The simplest solution to the tragedy of the commons is either to split up the pasture into private plots, one plot for each of us, or create a force greater than any one individual who shares the common.

However, these simple solutions don’t begin to expose the complexities and opportunities of the tragedy of the commons.

Elinor Ostrom, an economist (and the only woman to date to win a Nobel prize for economics), spent her career studying examples of shared commons that sustained themselves over time. She developed eight rules for what she called Common Pool Resource (CPR) institutions:

  • Clearly defined boundaries (clear definition of the contents of the common pool resource and effective exclusion of external un-entitled parties);
  • Rules regarding the appropriation and provision of common resources that are adapted to local conditions;
  • Collective-choice arrangements that allow most resource appropriators to participate in the decision-making process;
  • Effective monitoring by monitors who are part of or accountable to the appropriators;
  • A scale of graduated sanctions for resource appropriators who violate community rules;
  • Mechanisms of conflict resolution that are cheap and of easy access;
  • Self-determination of the community recognized by higher-level authorities; and
  • In the case of larger common-pool resources, organization in the form of multiple layers of nested enterprises, with small local CPRs at the base level.

Ostrom’s eight rules also apply to software and teams of developers working on shared code. For example, teams that use the Agile method to design and develop code use some or all of these rules to ensure code can be created efficiently and quickly with minimal oversight required.

In researching this article for links you can read to learn more, an irony popped up. Most of the key essays and ideas are privatized, specifically, locked up in books and unavailable online. They’re difficult to share and discuss in common.

By the way, shared commons were a feature of European and other cultures for thousands of years before industrialization and privatization replaced many of these arrangements. The tragedy of the commons problem has returned, however, because all of us share the air, water, and other resources on the planet. More recently, this problem pops up when government institutions like mail delivery are sold off to private companies; the profit or other needs of the private entity might conflict with the needs of people who use the service. How we manage these limited resources and share costs is an important question far beyond software development.

In other words, the tragedy of the commons is part of the human experience.

Learn More

The Tragedy of the Commons

https://en.wikipedia.org/wiki/Tragedy_of_the_commons

William Forster Lloyd

https://en.wikipedia.org/wiki/William_Forster_Lloyd

Garrett Hardin

https://en.wikipedia.org/wiki/Garrett_Hardin

Elinor Ostrom

https://en.wikipedia.org/wiki/Elinor_Ostrom

Aristotle: The Politicis and the Constitution of Athens

His quote is, “For that which is common to the greatest number has the least care bestowed upon it. Everyone thinks chiefly of his own, hardly at all of the common interest; and only when he is himself concerned as an individual.”
https://books.google.com/books?id=zk7KoZp_S38C&pg=PA33&lpg=PA33&dq=For+that+which+is+common#v=onepage&q=For%20that%20which%20is%20common&f=false

Software Development and the Tragedy of the Commons

http://blog.crisp.se/2013/05/20/peterantman/software-development-and-tragedy-of-the-commons

Tragedy of the Commons in Software

http://benjamin-meyer.blogspot.com/2013/12/tragedy-of-commons-in-software.html

Tragedy of the Commons and Open Source Projects

http://notebook.kulchenko.com/programming/tragedy-of-the-commons-and-open-source-projects

Fixing the Commons

http://blakesmith.me/2011/10/24/fixing-the-commons.html

The Politics of Open Source

http://www.onthecommons.org/politics-open-source

Email and the Tragedy of the Commons

https://se9book.wordpress.com/2010/06/17/email-and-the-tragedy-of-the-commons/

Also In The February 2016 Issue

Ideas for most young kids (and their families), from board games and more offline options to online games and apps.

Computers can be programmed to make intelligent decisions. Does that make a computer intelligent?

The many pieces that make up AI have been built and used for thousands of years in many cultures.

Math circles are groups of students who come together to have fun discussing and solving intriguing math questions.

Unit testing tests a set of code with data to test with the code and details about how the code is used and operated upon.

There are several places to go online to play classic video games like Donkey Kong and Castlevania.

How we manage limited resources and share costs is an important question far beyond software development.

For twenty years, since 1996, cars have used computers to control different parts of the car.

Danny Fenjves currently is the founder of Upperline, teaching students how to turn their ideas into reality through programming.

This Computational Fairy Tale explains how loops work through the sad tale of Simon, the hapless apprentice to a blacksmith.

Links from the bottom of all the February 2016 articles, collected in one place for you to print, share, or bookmark.

Interesting stories about computer science, software programming, and technology for February 2016.