From Irrigation Canals to Linux...
What is missing here?
Question: What could a “Free as in Freedom” computer operating system and irrigation system in Nepal possibly have in common?
(Easy) Answer: “Both types of infrastructure - one digital and the other physical - are user managed. And both are popularly regarded as examples of “the commons.””
This is the thesis of a 2016 paper by Atul Pokharel comparing Debian Linux distribution with irrigation systems in Nepal.
As a collection of software tools that requires maintenance and upgrading, says the paper, Debian is one of the most popular distributions of the GNU/Linux operating system. The Nepali irrigation canals are paradigmatic examples of successful “Ostromian” commons governance.
Farmer managed irrigation canals in Nepal are widely recognized as canonical examples of local self-governance of a shared resource by users. These canals require cleaning and maintenance, and these tasks are labor intensive. Without assistance from those further downstream, upstream users usually cannot get adequate water either.
Unlike the Nepali canals, the Debian operating system does not physically deteriorate if left alone, nor does it require physical labor to maintain. Besides, it can be used by anyone and there isn’t any restriction on how many can use it.
The specific tasks of maintenance also differ. For Debian software packages, dependencies have to be updated, bugs dealt with, interoperability tested, security fixes applied and documentation maintained. In contrast, an irrigation system has to be inspected for cracks and leakages, damage has to be repaired, siltation has to be removed, and the headworks maintained.
Creation vs maintenance
In spite of the differences above, both Debian and Nepali canals are “paradigmatic examples of successful commons governance”. Where are the main differences, and what do they mean?
The paper notes that a first general lesson from comparing these two wildly different infrastructures is that there is a difference between the creation of a resource and its maintenance. Maintenance of existing infrastructure requires far more routine and mundane activities than during the creation phase.
In the case of irrigation canals, maintenance requiresinspecting the canal, reporting damage, assessing it, and repairing it.
Debian maintenance requires maintaining packages. This involves configuring the programs, fixing dependencies,handling bugs, uploading new versions of the package, classifying it properly and removing packages that are no longer useful or difficult to maintain.
Debian maintenance is a combination of code maintenance and debugging - both exceptionally onerous tasks compared to actually writing code. It may require coordinating with upstream developers as well.
What is also missing here?
One of the conclusions of that paper is that the frameworks commonly used to analyze these infrastructures “identify the main problems obstructing cooperation in maintenance as free riding, shirking and opportunism. However, there is growing evidence that these problems might not be significant in the context of Open Source Sofware because of this diversity“. (emphasis mine).
I can’t help but wonder if a crucial reasons why certain problems “might not be significant” is the basic fact that software is not water: Every living being “gets” water. Software is infinitely more exhoteric than water. It is totally unrealistic to expect that, at least for a couple more generations, software can motivate more than what, 1 in 1M people? to actively contribute to its maintenance, in any way.
Image sources: logo of Nepalinux (a Debian derivative localised into the Nepali language, not maintained anymore, and Nepali canal from Wikimedia