An introduction to the notes on Confucian Software.
Software and the Sage
Among the many dissimilarities between software and gentlemen of the classical Chinese Spring and Autumn Period, two in particular stand out. One existed in a pre-scientific feudal society on an agricultural technological and economic base, and the other presupposes the scientific method and a modern (or post-modern) industrial base. Secondly, the concept of virtue or potency (德) is central to The Analects, but software artifacts are, in our day and age, non-sentient. Morality requires some degree of self-awareness – of consciousness – and so software does not itself practice virtue any more than a spoon or a lawnmower.
The immediate relevance, for a developer, of the Analects, are the two other grand concerns of Confucius, which are existential fundaments of software. These are names (名), and the rites (礼).
Consider a simple program to print out a list. It consists of naming itself, naming the list, and iterating over each member, performing exactly the same action on each. Once defined, this ritual can be invoked again and itself repeated within larger rituals. Software is a fabric of named routines, and an exemplar of ritualized repetition.
For Confucius, and for the humble developer, the lives of people are changed through changes to a system. For us, it is a system of software. For Confucius, it was a system of government. The intersection of people’s lives and the system are captured through names, so software is Name Oriented (XIII.3). A pervasive awareness and stewardship of the names of a system is the foundation of a Confucian software sensibility.
When the system fits together there is the music (乐). A refined sense of the harmonious system is of great use to a software designer. The influence of music and harmony is seen in verses like VII.14.
This intuition of harmony extends to senses of what is beautiful, right or good. These intuitions can be found across the political spectrum, not least in political rhetoric. There is however a particular thread of Anglophone philosophical conservatism for which aesthetic and ethical intuitions are closely related. Figures like Edmund Burke, Irving Babbitt and Roger Scruton began their careers with books on art and aesthetics. Both they and other common law conservatives like Michael Oakeshott argue for the settled moderation of tradition against schemes of radical change – even and especially radical change with a theoretical and logical basis, like the French Revolution.
Confucius was conservative, describing himself as a transmitter of tradition, rather than an innovator (VII.1, Reuse). This is not to try and claim him as right wing, which I don’t think would be meaningful in any modern sense (the same probably applies to Edmund Burke). And it’s not to try and rebrand him in a misguided retro-monarchical project. My politics are of a conventional democratic and liberal sort, and the politics of these notes are not about changing government today, but getting insight from a heavily reinterpreted history.
In software terms we can think of Confucius as having an aesthetic of reuse. It is design guided by a craft-sense – metis – rather than one directed entirely by formal logical construction. It is the conservatism of incremental improvement – the conservatism of Christopher Alexander’s Timeless Way of Building (eg IX.3). His system design work happened in a space of politics, aesthetic and ethics. This is not solely because it was government design, but because it was at the interface between humans and a complex system. The operation and management of this interface required intellectual study, but also trained intuition: a harmonic sense.
Confucius is the cyborg sage tangled in the half-built machine of the feudal state.
This self-regulation must function without the benefit of consciousness in order to cooperate with the body’s own autonomous homeostatic controls. For the exogenously extended organizational complex functioning as an integrated homeostatic system unconsciously, we propose the term “Cyborg”.
— Clynes and Kline, Cyborgs and Space
As useful as it is, the reliance on an aesthetic intuition and a skeptical disposition towards change can combine in unproductive ways. If we accept that for the conservative disposition, aesthetic and ethical intuitions are linked, we can soon reach a place where code style or system design choices seem morally wrong. Likewise, like political conservatives, we may propagate inequities in process through inertia. Certainly Confucius felt even abstract art could be morally dissolute and a danger to the state. “Banish the tunes of Cheng 放郑声远”, he says in XV.11. This isn’t a way to run a modern liberal state, and a sense of ethical outrage is probably not the best way to maintain a coding standard either. In maintaining a clear code style and a coherent design, we may indeed banish certain practices. We may even write compilers and other tools to make certain idioms essentially inexpressible in our system. This is, however strong our aesthetic intuition, not because of moral failures of the developers who might otherwise prefer them. The psychological roots of programming language “holy wars” seem to share some common ground with this mindset.
It is worth remembering that the information system Confucius worked with was mostly made of human meat, connected by a new layer of ink and bamboo strips. The actions of humans are inextricably bound with ethics. We have the luxury of working with unconscious software machines, where moral distinctions can sometimes be made more clearly. Certainly ethics are important in software development. Its role is changed by the unknowingness and unconsciousness of code. I had originally thought that that Confucius’ commentary on information structure could be separated from his role as a teacher in ethics. That now seems more than ever impossible, and probably, in Leo Marx’s term, hazardous. For us, more parts of the machine are silicon and electricity instead of meat and ink, but the ethical intertwining remains. It is, often, more difficult for me to articulate directly in these notes, and for this reason information structure is often foregrounded. I hope ethics is not completely occluded. (Artificial intelligences, constrained perhaps by hardcoded ethical shackles, may also find Confucius a useful guide. I look forward to their reviews with interest.)
The Bureaucracy of Automatons
Confucius knows quite a lot about software, even though he never imagined the existence of the computer. Problems of knowledge and information were a concern for a number of thinkers of the Spring and Autumn and Warring States period, and often the problems were the problems of the state. The two foundational activities of the state are war and tax. Although modernity has somewhat domesticated the state and put it to other uses, it was born in blood and debt. Tax and war require techniques of coordination, communication and systemization not found in non-state societies. These are to a great extent technical information problems.
To be able to apply set rules to a collection of things, you must identify an underlying similarity, there must be a taxonomy of the thing, you have to fit it within a consistent data structure. To run an army you have to pay your soldiers, directly or indirectly. To raise taxes or plunder riches for this you have to know who to raise them from, and where they are. Codification and measurement are state activities which make the world more hospitable for the state. James C Scott describes this as legibility, and his work lays out the principle at work everywhere from state mandated adoption of surnames, to agriculture, to the reshaping of cities, ancient and modern.
A false balance is abomination to the Lord: but a just weight is his delight.
— Proverbs 11.1, King James Bible
States can survive with only crude mechanisms of legibility: for instance, Scott describes medieval French governments having no idea of their subjects’ incomes. It’s easier with technologies like writing, and specialists for managing these flows of information in the state – a bureaucracy. Chinese states invented and exploited bureaucracy and its enabling technologies very early compared to much of the world, more than two thousand years ago, with the Han dynasty being the usual example of the fully fledged imperial bureaucratic state. That is after Confucius, and those parts of his philosophy which describe the well ordered civility of the Zhou state before him are often described as an innovation camouflaged as conservatism.
Recent research by Li Feng and others argues the historical roots of Chinese bureaucracy go much deeper. Using detailed analysis of steles, bronzes and other inscriptions from the Western Zhou, Li Feng notes:
Clearly, the government was an organized body of appointed officials.
With the Mandate of Heaven as the foundation of their state, hence a vision of their historical mission very different from that of the Shang, the Zhou elites were committed to practical if not pragmatic management of their affairs through careful civil and military administrations employing a large number of executive and secretarial officials. This was probably the tradition that Confucius praised as so “civil”, rather than, perhaps, mysterious!
— Li Feng, Bureaucracy and the state in early China : governing the western Zhou
So while Confucius was quite possibly an innovator disguised as a conservative, he was also reviving techniques of information flow established generations earlier.
A bureaucracy is an information processing system of communicating agents, which has physical and social impact through its interfaces. Likewise, software is a bureaucracy of automatons, communicating through defined interfaces, with each agent playing a strictly defined role captured by formal information processing rules. “Do not look unless it is in accordance with the rites; do not listen unless it is in accordance with the rites; do not speak unless it is in accordance with the rites; do not move unless it is in accordance with the rites,” the Analects says (XII.1): software can do nothing else. This precise ideal then gives Confucius insight into good protocol design in the face of inevitable failure (XIV.3 When the Way prevails in a system).
Software does not just take bureaucratic shape in imitation of corporate or government bureaucracy. It is not an accident that interaction on the World Wide Web was originally organized around forms which a user submits, or that Oracle had a successful GUI toolkit called Forms, or that Charles Babbage himself (re-)invented the form for better data collection. Software is internally bureaucratic by nature, in the most brittle and unknowing way. Its absurdities and tyrannies are those of all rule-following systems with vast information processing power but ignorance of the particular or the uncodified. Code and the code of laws are mechanical siblings.
The world of objects (and hence of software architecture) will be a world of interacting agents, communicating on the basis of precisely defined protocols.
— Bertrand Meyer, Object Oriented Software Construction
The unflappable brutality of information machines – their ability to keep following their programmed logic like a lawnmower chewing through a toad – is what makes them so powerful, and, it is sometimes said, inhuman. We should be suspicious of that word when so much of human life today is lived with and through machines, but it is true that Confucius is a great humanist. When there is a fire, he cares about whether people were hurt, not what expensive property was damaged. He pursues virtue for its worldly impact, not reward after death. Unlike the Legalists, who ruthlessly optimised the machinery of the state, Confucius insists on a harmonic system guided by virtue and in tune with our trained ethical intuitions. His incremental conservatism is another safety measure protecting the historical particular from a too-generic state algorithm. Immediately after the verse insisting on strict following of ritual (XII.1) comes Confucius famous statement of the negative golden rule, to not do unto others things you would not want done to yourself (XII.2).
These essays are structured as commentaries on The Analects (论语). It is an established classic with a long tradition of study. It also predates the full realization of the Confucianist cultural system that grew up around this and related texts. Here we are closest to Confucius’ own voice – teacher, moralist, police commissioner, parent, aristocrat and scholar. The Analects is itself an interpretation. As with Socrates, the only direct accounts of Confucius’ thought are from his students. The D.C. Lau English translation of and notes to the Analects is used as guide, though the original is included with each passage, as well as other interpretations. A.C. Graham’s Disputers of the Tao is a main reference for Chinese classical philosophy more generally.
Duties to parents, husband and state, pillars of traditional Confucianism, are largely ignored in this project. Confucius probably did value them as principles, but they are also intertwined with millennia of cultural practices across many places and contexts, from filial piety and duty to country to bound feet and imperial fiat. It is useful to separate, where possible, Confucius as a cultural inspiration from Confucius as a philosopher of information. (An exception might be XII.11, Let a prince be a prince.)
The focus on Confucius and his classical school is also why this project is named Confucian Software, rather than Confucianist Software. In Chinese it is similarly named 孔子软件 rather than 儒家软件. Perhaps later schools of Confucian thought have interesting comments on information design; they might be found in texts on Wang Anshi (王安石) or Neo-Confucian Software. Names are at the heart of Confucian Software; we should be precise in naming the project itself.
The commentary format lets us do two otherwise conflicting things – present a software centric view in terms alien to the historical context, while preserving the original, to show the reader how much we are screwing with it.
This is a long tradition inside and outside of China. For many years the only available copies of Sun Tzu’s Art of War (孙子兵法) were via a commentary by emperor, literati and noted general Cao Cao (曹操), who lived several centuries later. That text gets its English title in turn from a Machiavelli book of the same name. Machiavelli himself used a commentary of sorts, the Discourses on Livy, to discuss republican government in his own time.
The common thread is that commentaries are well suited to juxtaposing texts separated in time and space.
As I am a white, native English-speaking, man, writing about a Chinese cultural icon, it’s worth considering whether this is an exercise in Orientalism, in the sense introduced by Edward W. Said. Am I just constructing a cultural trope, using Confucius as an undigested Other to perpetuate my privileged position?
This project is, I think, vulnerable to that criticism, but not fatally so. The whole premise of Confucian software is a constructed historical impossibility, because software presumes a computer, and Confucius didn’t use one. What he did have, without using that term, was problems of managing the flow of information. He was far from the only person in the ancient world with this problem. It was generated by the success of agricultural feudal states. A whole slew of information technologies were invented and deployed to deal with it, too, and jobs invented to create and maintain them. Writing, laws, maps and land surveys, censuses, and elementary bookkeeping are all tools of that new bureaucratic class of information technologists. Though Confucius, or the group that authored the Analects, were men of their time and place, their problems recur, just as Euclid’s and Mozi’s do in geometry.
So perhaps there are interesting commentaries on information design in western and other antique traditions. I’ve seen hints of them, and if software is a bureaucracy, as I claim, you could expect to find more. These notes don’t attempt that encyclopedic project, but focus on one thinker. And for Confucius, I am not a professional Sinologist. I hope that any reading this are not too infuriated by my impressionistic reinterpretations. I build software for a living, and I’ve found Master Kong gives a useful perspective on that.
Ultimately the work of Confucius, just like Socrates or Shakespeare, is the common intellectual heritage of all humankind. My scribbles take liberties with that legacy, but he is a giant, and he can take it. Ignoring the sophistication of classical Chinese philosophical thought in an age when it is more accessible than ever is as much an act of cultural chauvinism as repeating Orientalist stereotypes, perpetuating the notion that only dead white men can think. Enough of that. Let Confucius come swimming in our rivers of information, and go home chanting poetry.
Alexander, Christopher – The Timeless Way of Building
Clynes and Kline – Cyborgs and Space
Graham, AC – Disputers of the Tao
Lau, DC (trans) – The Analects
Li Feng – Bureaucracy and the state in early China : governing the western Zhou
Marx, Leo – Technology: The Emergence of a Hazardous Concept
Meyer, Bertrand – Object Oriented Software Construction
Said, Edward W – Orientalism
Scott, James C – Seeing Like A State