"It's Not a Bug, It's a Feature" (1981)

Tom Kysilko pds at VISI.COM
Thu Nov 6 19:47:38 UTC 2003

Google Groups has a proto-Hacker's Dictionary entry from 1982.  I include the
credits in case you want to pursue it further:

From: houxs!hansen (houxs!hansen)
Subject: Hacker's Dictionary following (long!)
Newsgroups: net.misc
Date: 1982-02-26 03:16:57 PST

Notes on updating this file:

This glossary file is being maintained at two main locations.  It is
AIWORD.RF[UP,DOC] at SAIL, and GLS;JARGON > at MIT.  If you make any
changes, be sure to FTP the new  file to the other location.   Also,
please let us know (see list of names in later paragraph) about your
changes so that we can double-check them.

Try to conform to the format already being used--70 character lines,
3-character indentations, pronunciations in parentheses, etymologies
in brackets, single-space after def'n numbers and word classes, etc.

Stick to the standard ASCII character set.

If you'd rather not munge the file yourself, send your definitions to
DON @ SAIL, GLS @ MIT-AI, and/or MRC @ SAIL.


        Compiled by Guy L. Steele Jr., Raphael Finkel, Donald
        Woods, and Mark Crispin, with assistance from the MIT
        and Stanford AI communities and Worcester Polytechnic
        Institute.  Some contributions were submitted via the
        ARPAnet from miscellaneous sites.


FEATURE n. 1. A surprising property of a program.  Occasionally docu-
   mented.  To call a property a feature sometimes means the author of
   the program did not consider the particular case, and the program
   makes an unexpected, although not strictly speaking an incorrect
   response.  See BUG.  "That's not a bug, that's a feature!"  A bug
   can be changed to a feature by documenting it.

The earliest similar occurence I could find in Google Groups follows.  Since
the writer describes feature as proverbial, presumably even earlier cites are

From: ihuxg!grg (ihuxg!grg)
Subject: Csh true/false
Newsgroups: net.xbsd
Date: 1981-10-05 00:11:55 PST

The recent note about csh describes what seems to be not a bug,
but the proverbial "feature"!!

Csh defines true/false as 1/0, presumably as this is C-like.
Bsh (bourne shell, /bin/sh) uses 0/1.  While such definitions
have some rationale, the problem is the entire program base
use exit(0) for success, exit(1) for errors.

The inertia of history overweighs any beauty of convention,
and the recommended "fix" seems justified.

  Greg Guthrie   BTL.

--Tom Kysilko

Quoting Fred Shapiro <fred.shapiro at YALE.EDU>:
> I'm trying to trace the earliest usage of the computer saying "It's not a
> bug, it's a feature."  The earliest on Gooja is Jan. 25, 1983.  The
> earliest on Nexis is Mar. 21, 1985 for a wire service story and July 1989
> for a print publication.  Can anyone supply earlier evidence (pre-July
> 1989 in print or pre-Jan. 25, 1983 for any kind of source)?
> Fred Shapiro

More information about the Ads-l mailing list