7.10.2017

Bible Pirates of the Reformation: Semper Reformanda and Linus' Law

In his essay - The Cathedral and the Bazaar, Eric Raymond compares two different software development models.

The Cathedral (closed-source model,) is a huge edifice of code, carefully constructed by an individual programmer, or a small group of them, working in isolation.

The Bazaar (open-source model,) is a great babbling crowd of differing approaches and agendas, out of which a coherent and stable system seems to miraculously emerge.

A former skeptic of the Open Source model, Raymond became convinced of the strength of this model because of the quality of the Linux operating system.

"The fact that this bazaar style seemed to work, and work well, came as a distinct shock. As I learned my way around, I worked hard not just at individual projects, but also at trying to understand why the Linux world not only didn’t fly apart in confusion but seemed to go from strength to strength at a speed barely imaginable to cathedral-builders." 
Perhaps his best known observation from his work, is the aphorism he coined - "Linus' Law".
Given many eyeballs, all bugs are shallow.
Meaning, if you have enough people using and examining your code - it will significantly decrease your errors and development time.

This insight is at odds with the common wisdom of proprietary developers  embodied in Moore's Law, which basically says, every new person added to a project decreases the efficiency of development, and increases the time between releases.

How can the chaos of the Bazaar produce complex code so efficiently? Raymond suggests something like the Delphi Effect, more popularly referred to today as "The Wisdom of Crowds." A strange phenomenon where large groups of people can, under certain conditions, outguess individual experts. As Linus Torvalds observed, the person who finds a bug is not necessarily the person who understands it and can explain it. And that person is usually different from the person who can fix it. It is this sort of collective intelligence that allows the group to function more efficiently than the individual.

"In the cathedral-builder view of programming, bugs and development problems are tricky, insidious, deep phenomena. It takes months of scrutiny by a dedicated few to develop confidence that you’ve winkled them all out. Thus the long release intervals, and the inevitable disappointment when long awaited releases are not perfect.

In the bazaar view, on the other hand, you assume that bugs are generally shallow phenomena – or, at least, that they turn shallow pretty quickly when exposed to a thousand eager co-developers pounding on every single new release. Accordingly you release o=en in order to get more corrections, and as a beneficial side effect you have less to lose if an occasional botch gets out the door."



It doesn't take a huge intuitive leap to jump from the metaphorical Cathedrals in Raymond's work, to the Catholic Church during the Protestant Reformation. In this analogy the Cathedral is the Catholic Church,  and the Bazaar is the Protestant Reformation.

When the Christianity became legitimized under the Roman Emperor, Constantine, part of the deal was that the Church had to get its act together and clarify its message.  Christians had become so numerous in the Empire that it no longer made sense to exclude them. Indeed they had the potential to be a unifying force for the Empire - but only if they spoke with one voice. Councils were called and decisions were made and thus - the Catholic Church was born.

From the Beginning, the Roman Church assumed exclusive proprietary control of the Christian "source-code," the Bible. They produced them, as well as the men who read and taught from them. The main purpose for this was quality control but over time abuses crept in as well as the introduction of some questionable doctrine as local expressions of piety became formal church doctrines.

Originally translating the Bible into Latin was intended to make the Bible comprehensible anywhere in the Empire. But the collapse of the Roman Empire resulted in the language becoming almost a form of encryption as locals reverted to their regional dialects, and Latin was only preserved as the specialized language of the Church.

Some people questioned the Church's right to have exclusive control over the scriptures and believed that it was in need of reform. Bible Hackers, translators like George Wycliffe, Thomas Cranmer, and William Tyndale believed it was necessary to put the Bible in the hands of the people in order to do this, and produced the earliest translations in the English language. They were persecuted mercilessly - not so much for the content of their work, as what it represented (a loss of control). 

All of this changed with the Protestant Reformation. Communities of people identifying as Christians, outside of the Catholic Church, provided networks sufficiently large to receive the source-code from Hackers like Martin Luther, and the translators of the Geneva Bible - without getting stamped out. Legal protection from Governments eager to come out from under the control of Rome, also did much to support the new movement.

By placing the Bible in the hands of as many people as possible, these Bible Pirates of the Reformation effectively decreased the gap between clergy and laity; opening the ecclesiastical structure to review and adaptation - as well as opening the door to a new era of viral growth.

One of the slogans of the new Protestant Church,

"Ecclesia reformata semper reformanda est secundum verbum Dei"
(the reformed Church must be always reforming, according to the Word of God) 

opperates on much the same principle as Raymond's aphorism.

"Given enough eyes, all bugs are shallow."
(Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.)

There is a beautiful affinity between the sayings of these two great social movements. The thing that unites them is that they each see the best chance of reaching their objective (whether that is Christian doctrine, or just good code,)

Not in the few, but in the many. 

Not in secrecy, but in openness. 

Not in control, but in freedom.

No comments: