Free/Libre Open Source Software and Kafka's Parable of the Law
Submitted by puregin on Wed, 04/16/2008 - 4:57pm. Idea | Software | TechnologyI greatly enjoyed Zak Greant's keynote talk at OpenWeb 2008 on The Age of Literate Machines in which he reminded us of the many attempts by rulers and government over the ages to curtail freedoms such as the ones defining "Free" software. As I started to think about it, it struck me that we are in an age where we have access to thousands of examples of beautifully crafted software that very few of us, even among software devlopers, ever stop to examine or appreciate.
I was reminded of Franz Kafka's famous Parable of the Law, in which a man tries to gain access to the law ("which should be always accessible to everyone", he thinks), but is denied every attempt at entry by an enigmatic, powerful gatekeeper. He spends his entire life and all his fortune at this attempt, without success. Finally, as he is dying, he inquires why it is that he has never seen anyone else trying to gain access. The gatekeeper tells him that the gate is for him alone, and as the man is at the point of death, the gatekeeper locks the gate and prepares to leave.
This strikes me as a powerful metaphor about open source. FLOSS is defined in part by the rights we are given to study and modify it, but these rights are often so difficult to exercise that we are in the situation of Kafka's suppliant at the gate of the law. The forebidding gatekeeper that denies us entry is software complexity.
In principle, I should be able to examine my source code to make sure that no application I use contains badly behaved code that can harm my system, disclose personal information, or act on my behalf in a way that I am not aware of/do not agree to. In practice, discovering such code, be it cleverly disguised malevolent code, or a bug of unusual subtlety, can potentially be a very difficult problem.
Open source supporters often respond with the observation that "many eyes on the code" will discover such flaws or attacks, but the fact is that the number of people worldwide that actually look at the code is tiny compared to the number of customers who use the code, and the likelihood that any of them has read all of the code, much less understood it completely, is somewhere between negligible and vanishingly small.
