A software change that is neither forward- nor backward-compatible, and which is costly to make and costly to reverse. “Can we install that without causing a flag day for all users?” This term has nothing to do with the use of the word flag to mean a variable that has two values. It came into use when a change was made to the definition of the ASCII character set during the development of Multics. The change was scheduled for Flag Day (a U.S. holiday), June 14, 1966.
The change altered the Multics definition of ASCII from the short-lived 1965 version of the ASCII code to the 1967 version (in draft at the time); this moved code points for braces, vertical bar, and circumflex. See also backward combatability. The Great Renaming was a flag day.
[Most of the changes were made to files stored on CTSS, the system used to support Multics development before it became self-hosting.]
[As it happens, the first installation of a commercially-produced computer, a Univac I, took place on Flag Day of 1951 —ESR]