UP | HOME

What is Convivial Computing?

A couple of years ago I read Tools for Conviviality by Ivan Illich, probably because Alan Kay suggested it somewhere. The book is about many things, but a crude summarization might be that tools without limits often have precisely the opposite effect than originally intended. He gives many examples including institionalized medicine, transportation, and education. The book argues that each tool be designed with natural limits and that those limits should be drawn at the scale of human interaction and human communities. The book, as far as I can tell, didn't make much of a splash at the time as the ideas didn't fit neatly into pre-existing polarized buckets; capitalist or communist, both sacrificed at the alter of growth without limits. Now more than fifty years later, amidst climate catastrophes, fragile supply chains, continuous inflation, and general stagnation, perhaps we can better digest what he and others were trying to say.

What happens if we apply this thinking to software engineering?

In the States at least, we continue to be enamoured with scale and metrics because quality is a convivial concept. A craftsperson, unlike a factory worker, has their local reputation to uphold. A craftperson will of course make practical judgements about labor, materials and time, one needs to put food on the table after all. But in the end, the work cannot only be about quantifiable things. We live on Earth and we are surrounded by Beauty far beyond the scope our abilities to recreate. We have an Ideal, why we restrict ourselves to useful but crude results?

I am reminded of my recent travels in Japan and how it differed from my experience dining out in New York. Most Japanese restaurants have very few seats and often only one cook and one server. If the place is small enough, no server, the cook will serve you. Places fill up quickly. But neighborhood restaurants in Japan are like flowers. The next one will be different, but no less delightful, and you will never get to try them all. This convivial approach to running a business scales in a way that is difficult I think for a great many people in mainstream software to understand.

Take for example that this blog runs on NetBSD 9.2, an operating system released 5 years ago. NetBSD can fit onto a single CD-ROM. It can serve websites off a Nintento Wii which offers only 128mb of RAM. By choosing to be runnable on a large number of "obsolete" systems, by setting limits, NetBSD in fact guarantees that it runs incredibly well on newer systems, just not the latest systems. If we collectively believed that computers should be good for 10 or 20 years this wouldn't be a problem and we wouldn't filling ewaste landfills in Africa at volumes that make most post-apocalyptic films watch like fairy tales.

This not a claim that NetBSD is the answer. The point is that convivial computing focuses on systems that don't require generative assistance because the system is too damn simple - your favorite search engine and a couple of simple prompts in your favorite chatbot will take you the whole way. After that hopefully you write a blog post documenting your exploration so that the next person can save us all some fresh water. And then maybe we get a community and that garden starts to flourish.

Speaking of Software Sausage Factories, convivial computing is not Resonant Computing. The idea that corporate generative chatbots would allow individuals or communities to achieve more agency is like believing nuclear warheads are the right answer to a minor case of ant infestation or the demolition of a small abandoned house. Furthermore, in an ideal world where children didn't fail, one could imagine the vast majority of people using such tools responsibly but don't hold your breath. Adding more technology has never been and never will be an answer to what truly ails us.

Convivial computing is an intentionally vague concept. There are far more technologies that align with the values described above then I will ever have time to explore, and there are communities with similar values that inspired me to more actively write about technology again.

Expect contradictions, expect mistakes.

Hello.

Emacs 30.2 (Org mode 9.7.11)

Served from NetBSD 9.2 via SDF

About this site