Friday, November 13, 2015

Of electric fences and free software: A cybernetic theory of freedom

 Cattle imprisoned by an electric fence: Illustrating a cybernetic conception of freedom 

What is freedom ? When can a person be considered to be free ?

Is this a question for philosophers or for computer scientists ? The answer may be the former, but I will take the second perspective in this blog. There is indeed an objective way to measure freedom using concepts from information theory. This may not be the sole perspective, but I think it throws some useful light, especially for understanding our digital lives on the internet. This blog post is divided into five sections. First, I will talk about the relationship between privacy and freedom. The second part is a personalized fan history of information theory, of people that I call the Skywalkers. The third part is about one of the Skywalkers - Norbert Wiener, and his cybernetic perspective about freedom. The fourth part is about the freedoms given by free and open-source software, and my understanding of how these freedoms fall short of Wiener's measure. The fifth part is about education - of raising a new generation of citizens who understand and cherish cybernetic freedom.

For those readers who can't be bothered to read the entire post, here is a short summary. Much of our thoughts and actions as human beings are not conscious, but driven by hidden mental processes in the subconscious brain. So it is important to develop a theory of personal freedom that considers these subconscious processes, especially for our digital lives on the internet.

On privacy and freedom: 

There is a remarkable project under development called the Freedombox, which is trying to put a collection of privacy software for browsing securely on the internet. This is built on top of the Debian stack of free software, and includes the powerful Tor browser and hidden services. I recently saw a great presentation of Freedombox and its features by Sunil Mohan Adapa, who is a good friend of mine from my university days.  After the Snowden revelations about industrial scale spying on the public by NSA and other government security agencies, there has been a greater demand for software that protects the privacy of the users. However, encryption software is typically difficult to use for the general public. This put them out of reach of most public, except for technically sophisticated programmers as well as actual criminals who will be careful to cover their tracks.

Why do the general public deserve privacy on the internet, if they are not doing anything wrong ? The vast majority of people are citizens respectful of law, but they have the right to the human dignity of privacy. As human beings in control of their own lives, they deserve the right to hide their wallets, bank statements, personal photographs, medical records, psychological weaknesses, or browsing histories from people seeking that knowledge. If and when human beings lose their privacy, they also lose agency to control their own lives. Instead, they become equal to cattle which can be herded into flocks and exploited by a master. This master can be a government, a large corporation, or a criminal agency - whoever has the wherewithal (technical and logistical capabilities) to snoop on the unsuspecting public. If humans lose their privacy, they are like stray animals, waiting to be reined in by a harness and branded by the hot iron of the husbandman. If the husbandman is caring, they will be milked or fleeced, but their lives will be spared. If the husbandman is vicious, they will be butchered and served on the table. In either case, they will lose their freedom to roam as they please. So the question of privacy comes down to human dignity. Do we want to treat people as humans or as cattle ?

What sets Freedombox apart from other similar software projects is that it aims to protect novice users, without any programming expertise. This includes people using home computers and smart phones to browse on the internet, share pictures with friends,  or control home appliances using web apps. To target such a general user with minimal programming expertise, any privacy technology should be as simple to use as flipping on a light switch. This is what the Freedombox aspires to be. During his presentation, Sunil demonstrates the installation procedure of Freedombox with a theatrical gesture, connecting the box to the internet cable and to the electric plug (which is all it takes for the installation), saying
This is how we provide freedom, one home at a time  
This is an amazing achievement, but I believe victory is not that easy. For a long time, the bane of free software has been its technical complexity. Using most commercial applications with GNU/Linux software has been hard or even impossible. Many hardware vendors refused to provide drivers for their devices to interoperate with free software systems. If free software is a wide open field of freedom, there existed many fences that daunted people from accessing this freedom. There has never been any doubts about the quality and efficiency of free software systems. In fact, most web servers and large-scale software systems are built on top of free software, but such systems are built by capable engineers who are not daunted by the barriers of integration. However, this situation has been changing in the last few years, spurred by projects such as the Ubuntu, which aim to reach to the general public (known in programming parlance as n00bs). Even compared to the guarded optimism of Ubuntu, what the Freedombox aims for is radical: giving the power of a veteran system administrator to a novice user, all in a box that can be plugged in and switched on. Essentially, the Freedombox destroys the fences, the one single factor that is limiting the spread of free software.

Standing on the shoulders of Skywalkers: 

In order to assess whether this project will succeed, I think we have to go back to the dawn of computing. The seeds of the computing revolution were sown in the decades before the second world war. As the war raged on and everybody was awed by the power of the atom bomb, a greater force was rumbling below - the force of computing machines. It is said that computer science is as much about computers, as astronomy is about telescopes. Computers and algorithms are a powerful tool like no other in human history. What is it that they help us to see ? In my opinion, there were three people who understood computers to the full extent of what they help us to see. I don't include the two giants: Alan Turing and John von Neumann to that list. The three people were: Claude Shannon, Norbert Wiener and Vladimir Kolmogorov. In my mind, I call them with the acronym Skywalkers, giving one syllable for each person's last name (s)ky(w)al(k)ers.

In 1943, just as the embers of the second world war were hot and most mathematical work was still classified, Alan Turing visited Bell Labs in the USA, where he crossed paths with Claude Shannon. He later mused in his diaries about the conversation he had with Shannon.
Shannon wants to feed not just data to a Brain (a nickname Turing gave to a futuristic computing machine), but cultural things ! He wants to play music to it. 
This incident helps me explain why I have chosen the Skywalkers as visionaries for where  and how computation can be applied to understand the world. In my opinion, these three scientists captured the grand vista of everything that can be analyzed in a computational and information theoretic manner: physics, biology, media, sociology, psychology, the very process of thinking itself - essentially, the entire skies. Everything appears in a more profound manner when seen through a computational lens, with all the underlying veins and sinews that make up the fabric of reality glistening in bright contrast.

I remember an incident when I was chatting with a  physicist friend of mine when somehow our conversation came to the hypothetical case where aliens are observing the earth and judging the complexity of its different artifacts. My friend thought that the most complex objects to be found on this planet could probably be the digital computers, with their micro controller chips and complex electronics. But I thought differently, the most complex artifact would be the spoken conversations between humans. There is an inherent complexity in human language that is quite extraordinary. From the perspective of a computer scientist, computers themselves are not that complex. In order to generate complex artifacts, the required computation may happen not only on digital computers, but also on biological ecosystems or in human societies. This complexity of these artifacts can be measured in an objective manner, based on the length of the shortest computer program that can generate such artifacts. We need to thank the Skywalkers for giving us the conceptual tools to do this.

Essentially,  computer science is the study of information, which is everywhere. It is the study of control and feedback, which are everywhere.  It is the study of probabilities and complexity, which pertain to everything. Skywalkers are those giants who captured this vast canvas for computers.

Newton once said that
If I have seen further, it is by standing on the shoulders of giants. 
This quotation goes earlier to the 12th century, to the Bernard of Chartres. Chartres is a central town in France that housed one of the oldest cathedrals. We will come back to this cathedral at the end of this blog. But, we can reframe this quotation to refer to computer science as follows.
If we can learn to stand on the shoulders of skywalkers, we can also walk the skies. 
There have been many great computer scientists (and indeed in other scientific disciplines) who followed the lead of Shannon, Wiener and Kolmogorov. Going with the Star Wars theme, we may think of these scientists as Jedi knights, who can control the Force, which is the underlying information pervading this universe. Unfortunately, despite the spread of personal computers and smartphones, most of humanity cannot think in computational and information theoretic terms. This makes them particularly vulnerable for manipulation.

Behavioral conditioning and cybernetic freedom: 

Of the three Skywalkers, the person who understood the most about how computers will affect humans is Norbert Wiener.  I am currently reading an introductory book for general public that he wrote in the 1950s, titled "The human use of human beings". Reading this book is like walking on a glacier, slow and painful. When I was living in the Alps, I had my share of walking on glaciers, deep crevices lurk beneath your feet and you should be watchful of everything that melts and tumbles into the bowels of the earth below. But after you cross the glacier and climb a peak, you may catch an aspect of the entire glacier as it carves through the landscape. Only then will you get a grasp of its immense physical power. The ideas of Wiener are like such a glacier, cutting through rocks and boulders, across fields as diverse as biology, sociology and physics.

Unlike many of his contemporaries, Wiener realized that there is a dark side for computers, even prompting him to exclaim

I agree with what Einstein used to say about the three bombs: there are three bombs. The first one is the atomic bomb, which disintegrates reality. The second one is the digital or the computer bomb, which destroys the principle of reality itself - not the actual object, and rebuilds it. And finally the third bomb is the demographic one. 
This is a stunning pronouncement made just after the destruction of Hiroshima and Nagasaki. Wiener was a pacifist and an environmentalist, and by wearing these hats, he had no trouble finding people agreeing with him about the first and third bombs. But in his day, talking of computers as a "bomb" that would destroy the very principle of reality was quite unusual. The only people who could probably remotely understand this pronouncement were behavioral psychologists, following the lead of Pavlov. Wiener explains how a machine can perform behavioral conditioning on a living creature, using the example of cattle and electric fences.

On cattle farms, the construction of wire fences strong enough to turn a steer is not easy. It is thus economical to replace a heavy fence of this type by one where one or two relatively thin strands of wire carry a sufficiently high electric voltage to impress upon an animal a quite appreciable shock when the animal short-circuits it by contact with the body. Such a fence may have to resist the pressure of the steer once or twice; but after that, the fence acts, not because it can hold up mechanically under pressure, but because the steer has developed a conditioned reflex which tends to prevent it from coming into contact with the fence at all. Here the original trigger to the reflex is pain; and the withdrawal from pain is vital for the continued life of any animal. The transferred trigger is the sight of the fence. 
Crucially, from the perspective of cybernetics, it does not matter whether the communication is between man and man, or between man and machine, or between animal and machine, or between machine and machine. The purpose of any communication is to establish control. Whether, we as human beings allow ourselves to be behaviorally conditioned by electrical fences (in various metaphorical forms) is up to us. In cybernetic terms, freedom corresponds to the control of such electrical fences that deter humanity from trespassing them. Where are these electrical fences in today's society and who controls them? It is only possible to answer this question, when one is versed in the tools of information processing.

Most people didn't understand Wiener.  John McCarthy, another great hero of mine, who went on to coin the term "artificial intelligence" (and found the scientific field) described of Wiener as a "humongous bore". Along with co-conspirator Marvin Minsky, he basically created the "new" field of artificial intelligence in order to escape the prying clutches of Norbert Wiener and John von Neumann (another giant with a massive ego). Wiener had been a terrible mentor (his mentorship of Mcculloch and Pitts, who invented artificial neural networks, is another terrible story) and he had his own issues of awful childhood, being raised in the public eye as a child prodigy by a disciplinarian father. However, by abandoning Wiener, the fledgeling field of artificial intelligence (AI) got divorced from its cybernetic roots, where machines were compared not only with humans but also with animals. The cognitive machinery of the human brain shares its core architecture with animals, and most of its functions are subconscious. The thoughts expressed in language, driven by conscious desires and motivation are only the tip of the iceberg. But this final superficial layer became the sole focus of AI, and remains so mostly even today. Between McCarthy and Minsky, Minsky gained a closer understanding of Wiener, aided by his careful study of Wiener's protégées McCulloh and Pitts. However, I believe even Minsky held an unhealthy fixation with higher level cognitive processes - those visible under conscious human inspection. There were very few scientists in the computer science community who were studying subconscious mental processes, and building defenses against them for the safety and freedom of humans.

Freedoms in Free and Open-Source Software: 

The plight of AI as it got fixated with higher level cognitive processes is not just an esoteric artifact, worrisome only to scientists and philosophers. In fact, the merry pranksters led by McCarthy and Minsky conquered the entire realm of computing technology. They spearheaded the revolution of personal computing in the 1980s. They were instrumental in defining the world wide web and its myriad applications. Most relevant to this blog, Richard Stallman, the founder of free software movement, graduated out of the MIT AI lab. It is he who defined what "freedom" means with respect to the use of software: the freedom to use, the freedom to inspect the source-code, the freedom to modify it, the freedom to share it and so on. These freedoms are necessary for the human user of a software to be the master of his own control, but they are not sufficient by themselves. True, if these freedoms are absent, whoever controls the software also controls the user using it. But even if all these freedoms are present, the human user can still be under the control of the software provider. This is because of the simple reason that the human user is unaware of his subconscious mental processes. In order to achieve true freedom, what need to be revealed openly (in a human readable format) are not only the software code, but also the hidden mechanics of the human cognitive processes while the user is interacting with the software.

In the earlier days of personal computing, the functionality and specification of software could be given in a small finite description. This functionality was the same for every user testing the software. So in principle, even though the average user is unaware of how the software is gaming his subconscious brain, it is possible that somebody exists with jedi powers of information processing, who can analyze the entire chain of human software interaction. However, this has changed dramatically in the recent years. Nowadays, by accumulating a lot of data, a software system evolves a personalized model of the human user and reacts to him in a unique personalized manner. Consequently, the reaction modalities are unlimited and cannot be tested by other users. This is particularly true of cloud-based software that hides the data collected from the users in a distant database. But even if the raw data is available for inspection, the average user may not have the computational capacity and the education in information processing, to understand how the software is curtailing his freedom.

Beyond free software, there exists the paradigm of open-source software, which does not support all the freedoms listed by Stallman. This paradigm grew out of the work of Linus Torvalds and others, who argued that the freedom of "source-code visibility" is sufficient for most purposes. Many large internet software companies, such as Google and Facebook, are releasing the source-code of certain software projects. This is welcome, but I believe it is still unclear whether this dumping of software source-code is helping the freedoms of users. In fact, large computer systems today use tons of user data, that are locked in the proprietary file systems and databases of these companies. It is more this data, rather than the software source-code itself, that predicts the behavior of a software. Without this data, I do not think that a machine learning algorithm can be considered technically even "open-source". In this way, these public releases of software source-code are short of even the definition of Linus Torvalds. What we have instead is a phenomenon similar to viral infection. Due to the limited size of the ecosystem of programmers working on a particular field, the public releases of software source-code are an attempt to monopolize these ecosystems. What results from this infection is an early stage of technology lock-in, before the technical field is even matured. This is not a new phenomenon, we can argue that Unix and C programming languages are themselves artifacts of technology lock-in. But the consequences of technology lock-in in today's era of big data will be far more severe.

Finally, I want to talk about the tremendous pressure on scientific researchers to release the source-code of the software systems they used for conducting their experiments. I think it is admirable when a scientist releases source-code, but this cannot be imposed. Often, the progress of science depends on personalized investigation and passions of a scientist. The scientific community needs to tolerate dissenters with diverse perspectives, and create avenues to build a common field of study from multiple viewpoints. Often, it is necessary for scientists and research institutes to build credibility by publishing a series of results, before they can release their methods or software. If they release their secret sauce before they achieve due recognition, their unique perspective about research will be submerged in the din of the majority. Essentially, if the software is not even released (freedom 0 - of using the software is not given), there is no question about violating other freedoms of source-code inspection etc. On the other hand, releasing source-code without releasing data is a very sly game.

Education of a new generation of computational citizens: 

We are still in the very early stages of the computing revolution. In terms of impact, the only comparable inventions are that of writing and printing. Both these technologies are revolutions in how information is organized and processed: they tremendously affected all aspects of society: economics, law, health, education and government. Overall, these effects have been resoundingly positive. But the society needed a couple of centuries to absorb the aftershocks of these technologies. The domain that concerns us the most is that of education, as this is where future citizens are forged.

When writing was invented, it facilitated the externalization of memory: helping people to think and reason about concepts and ideas that are too large to fit in a brain. The pessimist may have said that people needed to remember less and this would corrupt the faculty of  memory (such an opinion was voiced by Socrates), but indeed the opposite happened.  New methods for expanding memory, such as the Method of Loci were invented at the same time as writing. This story of the art of memory is recounted beautifully in the book of Joshua Foer "Moonwalking with Einstein". In the long run, writing as a technology created a new way of doing science as well as politics.

Something similar has happened with printing. This greatly expanded the reach of knowledge for ordinary citizens. The pessimist may have said that with so many books being printed, the quality is dwarfed by the sheer quantity, but the quality actually increased. New methods were invented on how to judge the quality of books, and how to quickly scan large passages of text. The writer Nicholas Carr argues in his book "The shallows" that the practice of quiet contemplation while reading a book encouraged other mental processes dealing with higher cognition (engaging the pre-frontal cortex of the brain). The age of enlightenment was a direct result of this expanded consciousness of people, as well as a greater tolerance and empathy for the perspectives of others.

With computing, we simply did not yet experience such a revolution in education. I think Alan Kay, the inventor of object-oriented programming (along with a whole bunch of other ideas) expressed this most clearly. He says that nobody, except in scientific fields, uses computers for what they are good for. Everybody else is using them to mimic old media : books, television, movies etc. What we need to cultivate is a new type of thinking: based on a computational and information theoretic perspective, what I mentioned earlier as "Standing on the shoulders of Skywalkers". A person who is able to think computationally will not need protective barriers that treat him like a child. He will be conscious of his cybernetic freedoms as a fully educated citizen. No powers - either in the government, or in the greedy towers of finance, or in the greedy dungeons of crime - will take him for granted. But to get there, we need new programming languages and new paradigms of computing. We need new methods of sharing data and accessing it computationally across the public. What we need are freedoms far greater than envisioned currently by the movements of free software and open-source.

If the average person is able to program computers and regularly analyzes information through computational lenses, this will produce physical changes in the brain, similar to how the quiet contemplation of reading a book changed the prefrontal cortex. I am optimistic that when this happens en masse, we will build a society that is far more cultivated and compassionate than we have today. In fact, this might be our only salvation for the ecological and environmental catastrophe that we are hurtling into. But we don't know how long this will take. Alan Kay says that this may take a couple of centuries. He likens himself to people laying bricks to construct a cathedral, like the cathedral of Chartres in France, that took several generations to finish. These cathedrals were not only wonders of architecture, but they also housed large libraries where the scholarly works of Arabia, China and India, as well as ancient Greece and Rome, were studied by European students. This sparked the period of renaissance.

I hope we will see a similar computational renaissance in a future not too distant from now.

Alan Kay's interview: Go to 6:20 to get his message on the culture of computing. But watch the entire interview for greater wisdom. 

PS: The title of this post is a reference to John Steinbeck's novel "Of Mice and Men". In this novel, there are two characters George and Lennie, who can be interpreted in many ways. The conscious and self-reflective George refers to the intelligent programmer who has a deep desire for freedom and who wishes good for the society. The kind-hearted brute Lennie can refer to the uneducated citizen, who is given access to the vast powers of computing. He may also refer to computation itself personified. There are easy references to be found for other characters in the novel, each with their own greed and insecurities. The novel has a sad ending - George shoots Lennie in order to save him a more painful death. This is my greatest nightmare. I hope the future does not hold such an end for computing. I hope our generation of humanity will avoid this end.

No comments: