[Historically, 'according to religious law']
adj. The
usual or standard state or manner of something. This word has a
somewhat more technical meaning in mathematics. Two formulas such
as 9 + x and x + 9 are said to be equivalent because
they mean the same thing, but the second one is in 'canonical
form' because it is written in the usual way, with the highest
power of x first. Usually there are fixed rules you can use
to decide whether something is in canonical form. The jargon
meaning, a relaxation of the technical meaning, acquired its
present loading in computer-science culture largely through its
prominence in Alonzo Church's work in computation theory and
mathematical logic (see Knights of the Lambda Calculus).
Compare vanilla.
This word has an interesting history. Non-technical academics do
not use the adjective 'canonical' in any of the senses defined
above with any regularity; they do however use the nouns 'canon' and
'canonicity' (not *canonicalness or *canonicality). The 'canon' of
a given author is the complete body of authentic works by that
author (this usage is familiar to Sherlock Holmes fans as well as
to literary scholars). '*The* canon' is the body of works in
a given field (e.g., works of literature, or of art, or of music)
deemed worthwhile for students to study and for scholars to
investigate.
These non-techspeak academic usages derive ultimately from the
historical meaning, specifically the classification of the books of
the Bible into two groups by Christian theologians. The
'canonical' books were the ones widely accepted as Holy
Scripture and held to be of primary authority. The
'deuterocanonical' books (literally 'secondarily canonical';
also known as the 'Apochrypha') were held to be of lesser
authority -- indeed they have been held in such low esteem that to
this day they are omitted from most Protestant bibles.
Hackers invest this term with a playfulness that makes an ironic
contrast with its historical meaning. A true story: One Bob
Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use
of jargon. Over his loud objections, GLS and RMS made a point of
using it as much as possible in his presence, and eventually it
began to sink in. Finally, in one conversation, he used the word
'canonical' in jargon-like fashion without thinking.
Steele:
"Aha! We've finally got you talking jargon too!"
Stallman:
"What did he say?"
Steele: "Bob just used 'canonical' in the
canonical way."
Of course, canonicality depends on context, but it is implicitly
defined as the way *hackers* normally expect things to be.
Thus, a hacker may claim with a straight face that 'according to
religious law' is *not* the canonical meaning of 'canonical'.