Sqlite, Monastery and St. Benedict: Code Of Ethics

We will begin from an interesting comment in the source code of SQLite, and end with Monastery, Saint Benedict, and Code of Ethics. I am not joking, seriously.

I started using SQLite for my Java desktop application in 2014 and found it’s really good, its query performance, full-text search support made my development experience smooth and joyful. Import 800M entries from thousands of files into SQLite database in minutes, then query entries in milliseconds, which is really impressive. Besides my personal experience, almost every smartphone is using it every day.

Since it’s so widely used, as a programmer you will get into troubles soon, even though they have nothing to do with you. Read the comments and you would probably laugh with tears:😅

2006-10-31: The default prefix used to be “sqlite_”. But then Mcafee started using SQLite in their anti-virus product and it started putting files with the “sqlite” name in the c:/temp folder. This annoyed many windows users. Those users would then do a Google search for “sqlite”, find the telephone numbers of the developers and call to wake them up at night and complain. For this reason, the default name prefix is changed to be “sqlite” spelled backwards. So the temp files are still identified, but anybody smart enough to figure out the code is also likely smart enough to know that calling the developer will not help get rid of the file.

So the prefix now is etilqs_, and the programmer would sleep peacefully finally.

If you scroll up to the top of the file os.h, you will meet several lines of comments which will definitely surprise you - at least I was really surprised.

2001 September 16

The author disclaims copyright to this source code. In place of a legal notice, here is a blessing:

May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.

The date has a special meaning as it’s immediately after 911 accident, during a interview with Richard Hipp, the original creator of SQLite, talked about the inspiration behind that:

Interviewer: […] Who or what inspired you to write that?

Richard Hipp: People customarily put a copyright notice at the top of each source file. But SQLite version 2.0.0 had no copyright so I had to think of something else to go in that space.

The second sentence, “May you find forgiveness for yourself and forgive others”, is a loose interpretation of Matthew 6:12, part of what is commonly called ‘The Lord’s Prayer’ and more recognizable as ‘Forgive us our debts as we forgive our debtors’.

The third sentence tries to capture the concept of paying debts forward. The ‘never take more than you give’ part is a paraphrase of one of the lyrics from The Lion King. The first (hokey) sentence is there because it seemed like a good benediction needed three sentences.

It sounds like a Pastor preaching to you, or a monk in monastery reading scriptures to you, right? Yes, you are right. There is actually a connection between SQLite and Monastery, and The Rule of St. Benedict, read the “Code Of Ethics“ and you will understand the spiritual inspiration then.

The founder of SQLite, and all of the current developers at the time when this document was composed, have pledged to govern their interactions with each other, with their clients, and with the larger SQLite user community in accordance with the “instruments of good works” from chapter 4 of The Rule of St. Benedict (hereafter: “The Rule”). This code of ethics has proven its mettle in thousands of diverse communities for over 1,500 years and has served as a baseline for many civil law codes since the time of Charlemagne.

In a post-modern world that rejects absolute truth so obviously and satirizes religion, especially Christianity, how would programmers with a different worldview respond to this? And what shall be the scope of this application? It also gives an eclectic statement so that code will be separated from religion, as it should be.

No one is required to follow The Rule, to know The Rule, or even to think that The Rule is a good idea. The Founder of SQLite believes that anyone who follows The Rule will live a happier and more productive life, but individuals are free to dispute or ignore that advice if they wish.

The founder of SQLite and all current developers have pledged to follow spirit of The Rule to the best of their ability. They view The Rule as their promise to all SQLite users of how the developers are expected to behave in community. This is a one-way promise, or covenant. In other words, the developers are saying: “We will treat you this way regardless of how you treat us.”

While code itself should be separated from religious belief, the man who wrote the code needs not and probably cannot.

Just like Soli deo gloria has been found at the end of manuscripts by masters like G. F. Handel, J.S. Bach and etc, for me, it’s surprising but also joyful to know that the invisible impact of Gospel in the IT world, it’s not only about code that would be cold, but also about code of life, the rules of love that is warm and truthful.