early 15c., "that which restricts," from Middle French restriction (14c.) and directly from Late Latin restrictionem (nominative restrictio) "limitation," noun of action from past participle stem of Latin restringere "restrict, bind fast, restrain," from re- "back" (see re-) + stringere "draw tight" (see strain (v.)). Meaning "act of restricting" is from 1620s.
A bug or design error that limits a program's capabilities, and which is sufficiently egregious that nobody can quite work up enough nerve to describe it as a feature. Often used (especially by marketroid types) to make it sound as though some crippling bogosity had been intended by the designers all along, or was forced upon them by arcane technical constraints of a nature no mere user could possibly comprehend (these claims are almost invariably false).
Old-time hacker Joseph M. Newcomer advises that whenever choosing a quantifiable but arbitrary restriction, you should make it either a power of 2 or a power of 2 minus 1. If you impose a limit of 17 items in a list, everyone will know it is a random number - on the other hand, a limit of 15 or 16 suggests some deep reason (involving 0- or 1-based indexing in binary) and you will get less flamage for it. Limits which are round numbers in base 10 are always especially suspect.
[Jargon File]