Aught and naught both mean “nothing.” Ought they to be antonyms rather than synonyms?
Actually, aught means “something” or “anything”; it’s from the Old English word awiht, meaning “ever a thing.” (The second syllable is cognate with whit, meaning “very small thing,” and wight, meaning “living being,” though the latter is also used sometimes in an older sense of “ghost” or “spirit.”)
However, the negative sense of the term is a result of false division, the same grammatical affliction that produced adder, the name for a type of snake, when the phrase “a nadder” was, over time, redivided as “an adder.” Aught in the sense of “nothing” derives from naught (from the Old English nawiht, meaning “not a thing”). Now, people sometimes therefore use aught when they mean naught. (Naught, by the way, is the root of the adjective naughty; to be naughty is to lack something—namely, compunction or moral character.)
And though aught is often used in British English to mean “all,” it can also mean “zero,” as when someone refers to something having occurred in “aught five” (2005); it’s also used in American English to refer to the gauge of a wire or (alone and in combination with double and triple) of buckshot that fills a shotgun shell.
Ought and nought are variants of aught and naught. Though ought is obsolete in this sense, nought persists in being used in place of naught, as in “noughts and crosses,” the British English name for tic-tac-toe.
The sense of ought used in the first sentence of this post, meanwhile, is unrelated. Originally, in Old English and Middle English, earlier versions of ought served as the past tense of owe. The word lost this sense hundreds of years ago, but we still use it with to to mean should in the sense of advisability, consequence, expectation, or obligation in such sentences as “She ought to know better.”