De facto standard

From Helpful
Revision as of 15:49, 4 November 2024 by Helpful (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


De facto standard is something that has become a standard way of doing things because of real-world practice, but was never a formal published standard, and may not even have been intended as a standard.

('ad hoc standard' refers to things that were standardized on the spot, out of necessity. Which are often de facto standards because they started serving a localized purpose, and didn't go through a boring, long, shared procedure)


There are various ways things end up like this.

Consider:

  • there was no standard, we created a set of conventions that helped structure everything, told people what we did, and they liked it, like
    • the Kernighan and Ritchie flavour of C refers to a book, not a standard, but it was so useful it was treated as an informal specification
    • 4-20mA current loops for sensor signalling, which started as a de facto standard, only got standardized years later (meaning you could call it a de jure standard, literally meaning 'by law' but more practically meaning 'endorsed by a formal standards organization')
    • around acoustic modems, certain additions like the Hayes/AT command set, Kermit Protocol, XMODEM protocol and others were mainly just created out of need, then imitated widely


  • there is a standard, but it's such an over-engineered mess that we needed something simpler


  • there is a standard, but it's so constrained that someone's extension became more popular


  • we picked something close enough to not re-invent the wheel, such as
X.509 to communicate public key certificates
ModBus as a protocol for sensor readout (ModBus itself started off only as a way to program PLCs, but was picked up more widely because it was higher-level than a serial port, yet simpler than a network stack)


  • there is something everyone does, why change it, say,
the QWERTY typewriter layout (including the per-row offset, which was a mechanical design choice of the earliest typewriters)
MIDI to connect digital instruments


  • there are multiple standards, but we choose a specific one for compatibility with what everyone else does, say,
using SHA1 or MD5 to verify the content of files
PostScript as a document format (replaced by PDF), and printing format (to this day)
PDF as a document format
HP's PCL as a print format (laser) printers


  • recognizability
computer icons, like paper clip to mean attachment, floppy disk to mean saving


  • (intended) market-dominant use
Microsoft Office for documents - with MicroSoft playing some dirty games to seemingly ensure it didn't become a more open standard


Also

Sometimes 'de facto' refers to things that are standard, but became a strong preference in practice among many alternatives (more so when the reasons they did seem somewhat arbitrary).


like perhaps

unintended market-dominant use
MP3 as a music format
PDF as a article publishing format
  • DMX for lighting control (there are a handful of alternatives)
  • the ASCII enumeration of the basic characters (there were various others)
  • the result of a format war
e.g. VHS over Betamax and V2000, Blu-ray over HD-DVD
and arguably vinyl, tape, and CD each in their own time (there are many formats that lost that we've barely even heard of)