TheJach.com

Jach's personal blog

(Largely containing a mind-dump to myselves: past, present, and future)
Current favorite quote: "Supposedly smart people are weirdly ignorant of Bayes' Rule." William B Vogt, 2010

Oath of Non-Allegiance

Came again across Alistair Cockburn's Oath of Non-Allegiance.

I promise not to exclude from consideration any idea based on its source, but to consider ideas across schools and heritages in order to find the ones that best suit the current situation.

I'm in. Nice logo too.

Well, there is an important qualification I want to make. ;) I will not spend unbounded time in consideration, and since I must consider in a timebox, I may exclude things from consideration based on my belief at that time that such things are likely not going to be very relevant to the situation. This belief may be in part based on the thing's origin.

However, outside of timebox constraints, or even inside them if someone else brings up an idea for consideration, this is a great oath.

To take it out of the context of software, if I'm looking for guidance on some decisions I need to make soon, I'm unlikely to crack open my Bible, it's a source fraught with peril. Nevertheless, if I'm pointed to a specific part of the Bible by someone, or my pseudo-random walk of looking at stuff takes me into biblical territory, I'm not going to exclude it just because of that peril, and will indeed consider it and its relevance. If it turns out to be relevant, great, that means I'm more likely to consider it under timebox constraints in the future. If it turns out to not be relevant, also fine, I'm a bit less likely to consider it again under timebox constraints in the future.

Often though for whatever source there is some kernel of utility in there applicable in some context, and so while I might not find it valuable for my current situation, knowing about a possible context where it would be valuable, is still good to know, since I may run into that context in the future.

So yes, try not to exclude things just because of their source, or their inapplicability to your previous situation. But this isn't a license to monopolize my time in considering and reconsidering everything.




The idea of non-allegiance is of course old, very old. I think growing older I've already implicitly taken the oath, despite continued seeming zealotry on some things. It's interesting that wherever distinct "schools of thought" have shown up, as in martial arts, or software development practices, or programming language paradigms, the idea of non-commitment also comes around and presents itself as an uncommon take. Perhaps it is uncommon. Or perhaps people admit philosophically to other things but fail to take something like an oath or fail to actually act on it and in act aren't distinguishable from a single-school zealot.

The idea is found in a famous Bruce Lee quote I long ago agreed with and acted on:

Research your own experience; absorb what is useful, reject what is useless and add what is essentially your own.

Even if it's for martial arts, it applies to other things.

Lee may have gotten this from Mao of all places. Quoting Mao is like quoting Hitler or Stalin, it is fraught with peril. Nevertheless:

We should put these conclusions to the test of our own experience, assimilating what is useful, rejecting what is useless, and adding what is specifically our own.

Here, Mao in 1936 was talking in the context of military theories.

Aristotle, in Works Volume 8 (Eudemian Ethics Book 7 Ch 1) talking about the contradictions in Friendship and who is friendly to whom, noted one possible take:

...they say that all men pursue what is useful, but reject what is useless.

which relates to my wondering whether such implicit non-allegiance oath-taking is not in fact more common.

Uncle Bob, curiously and constantly criticized for creating a school of thought around programming and becoming popular and having zealous students (where?) ruin things with their zealotry, tried to head this off himself in a section "Schools of Thought" in Chapter 1 of Clean Code, and any actual zealous student of his (where?) should agree with him and drop their zealotry! Quoting that section entirely, he said:

We will present these opinions as absolutes, and we will not apologize for our stridence. To us, at this point in our careers, they are absolutes. They are our school of thought about clean code.

Martial artists do not all agree about the best martial art, or the best technique within a martial art. Often master martial artists will form their own schools of thought and gather students to learn from them. So we see Gracie Jiu Jistu, founded and taught by the Gracie family in Brazil. We see Hakkoryu Jiu Jistu, founded and taught by Okuyama Ryuho in Tokyo. We see Jeet Kune Do, founded and taught by Bruce Lee in the United States.

Students of these approaches immerse themselves in the teachings of the founder. They dedicate themselves to learn what that particular master teaches, often to the exclusion of any other master's teaching. Later, as the students grow in their art, they may become the student of a different master so they can broaden their knowledge and practice. Some eventually go on to refine their skills, discovering new techniques and founding their own schools.

None of these different schools is absolutely right. Yet within a particular school we act as though the teachings and techniques are right. After all, there is a right way to practice Hakkoryu Jiu Jitsu, or Jeet Kune Do. But this rightness within a school does not invalidate the teachings of a different school.

Consider this book a description of the Object Mentor School of Clean Code. The techniques and teachings within are the way that we practice our art. We are willing to claim that if you follow these teachings, you will enjoy the benefits that we have enjoyed, and you will learn to write code that is clean and professional. But don’t make the mistake of thinking that we are somehow "right" in any absolute sense. There are other schools and other masters that have just as much claim to professionalism as we. It would behoove you to learn from them as well.

Indeed, many of the recommendations in this book are controversial. You will probably not agree with all of them. You might violently disagree with some of them. That’s fine. We can’t claim final authority. On the other hand, the recommendations in this book are things that we have thought long and hard about. We have learned them through decades of experience and repeated trial and error. So whether you agree or disagree, it would be a shame if you did not see, and respect, our point of view.


Imagine what a dull read a book would be if it had to qualify all of its claims with admitting the existence of things not-being-as-claimed, at least in some circumstances. This sort of disclaimer should have been enough, yet the critique of zealotry (either of Bob himself, or his "students", whoever they are) is the one I see most commonly.


Posted on 2022-02-24 by Jach

Tags: philosophy

Permalink: https://www.thejach.com/view/id/395

Trackback URL: https://www.thejach.com/view/2022/2/oath_of_non-allegiance

Back to the top

Back to the first comment

Comment using the form below

(Only if you want to be notified of further responses, never displayed.)

Your Comment:

LaTeX allowed in comments, use $$\$\$...\$\$$$ to wrap inline and $$[math]...[/math]$$ to wrap blocks.