Then more people learned to read, printing technology changed, and still more people learned to read. Violations of power from those who had controlled the code were exposed, and religious reformation was called for. New technologies and more public interrogation of the "code" began and many took over what had the been the tightly-held purview of a few.
(The above is a deliberately oversimplified analysis of 15-18th century western European historical canon, minus all the power struggles, racism, sexism, extra-Christian turmoil, and colonialism. I'm trying to make a point.)
Once upon a time, software code drove devices used mostly by those who could read and write software code. Then these devices and the networks they powered were opened to most (not quite all). And all became dependent on software powered gadgetry and digital networks. But the code remained the province of a few, even as some led movements for opens source, open data, open algorithms, open governance. But, still the many had no understanding of the nature of the code, its limitations or bounds.
As this code and its disciples brought their tools, which were designed around the efficiency of market forces, into other realms of life, such as the household, political systems, and civil society there was tension. The value of efficiency, coded into the software, didn't always fit smoothly with the values of the household (privacy) or that of the governing systems (participation and representation) or civil society (justice, equity, beauty).
And so there was a clash of values, a clash of codes. And the priests of software code and the priests of governance found themselves at odds. And the people - to whom open data was given - were not equipped to use it.
And some of the nonprofits and foundations and associations that constitute civil society interrogated some of the software code. Over and over again they pointed out ways in which the code was misaligned with the task to which it was being applied. Examples of racial discrimination. Of algorithmic bias. Of new divides and new versions of exclusionary practice. Civil society served one of its most important functions - checking and re-checking the power of governments and markets (and their digital tools).
Some of the answer lay in applying existing democratic process technologies - such as due process - to applications of algorithmic decision making. And this was good.
Still, a more fundamental structural divide remained. Call it a linguistic divide. Between those "fluent" in digital and those "fluent" in democracy and civil society. A reformation in access and capacity and understanding was needed.
And this is where we are today.
Codes - software and legal - are sets of values. Written and enforced. When using digital technologies within democratic systems or for democratic purposes the values embodied in the codes need to align. They need to be able to interrogate each other and for the people to understand what is meant, what is captured in the code, what is being promoted or enforced by the collective set of rules and tools.
The common term for helping individuals, non techies, understand digital data and systems, codes and algorithms, is data literacy. This is not my favorite term, but let's use it for now, recognizing that it its not a one way street. People need to better understand how digital systems and codes work and software coders need to the priorities and principles of of democratic practice - both "literacies" are needed.
All involved, not just the priests with the books (not just the software coders) but the people, our agents, our elected officials, our judges) need to be able to understand the code.
Algorithmic accountability, open data, machine learning must be designed by and with those who understand the principles of democratic governance. It is the job of those who understand these systems to teach those who understand algorithms and vice versa.
In other words, digital technologists and tacticians must teach and learn from democratic theorists and tacticians. All who are citizens, all in civil society, all in public agencies - these are the democracy tacticians I'm talking about.
We need both codes - the codes of democracy and software code - to be written, used, held accountable, and procedurally applied and interrogated together.
One does not have the solutions for the other, they must build solutions together. If for no other reason than we (in democratic societies at least) are all dependent on both democracy and software. There is no "they," we are we.