https://en.m.wikipedia.org/wiki/Screw_thread#History_of_stan...
Get the government to require a standard for all their software and anyone who wants a government contract will have to conform.
- As noted at Wikipedia, wartime mechanisation and the requirements for standard parts to be provided for the new high technology of motorised transport, armour, and aircraft, drove further standardisation.
- The noted socialist and collectivist,[1] Herbert Hoover, provided the final push toward standardisation of weights, measures, and engineering components, as Secretary of Commerce.
It turns out that military needs and government legal authority and purchasing power can do much to promote standardisation which the free market cannot.
A subsequent case emerged during the Vietnam War during which the US Navy, a/k/a the transport and logistics arm of the US military forces, faced a critical problem in delivering supplies and materiel to very underdeveloped South Vietnamese ports. Though there'd been multiple attempts to standardise shipping around a single container size, this proved to be the ultimate nudge which established the TFU, or twenty-foot unit standard. (Now largely seen in its doubled form, the 40-foot shipping container.)
________________________________
Notes:
1. Sarcasm, gentle reader.
- instruction sets (e.g. x86, ARM)
- 8 bit bytes (though there are two byte orders)
- floating point formats and operations
- programming languages (Java, JavaScript, C++...)
- standard libraries (Java SE, libc, stl...)
- OS APIs (Win32, POSIX...)
- network protocols (HTTP, TLS, TCP/IP, BGP...)
- data formats (HTML, XML, JSON, MIME, protobufs...)
However the design complexity of software, with potentially dozens of levels of abstractions and millions of lines of code, isn't greatly reduced by using these standard nuts and bolts.While mechanical connectors have existed for millennia, standardized connectors were a set of fairly recent innovations from the industrial revolution [1], with notable standardizations like unified thread as recent as post-WWII. So they're both new and took time for all of the standardizations to settle to what we have now. And the state of mechanical connectors is not static. There is constant innovation. Consider medical, military, and other applications with special demands.
Seen in that light, software is very rapidly standardizing. Like everyone else here, I feel your pain, though.
[1] https://www.nord-lock.com/insights/knowledge/2017/the-histor...
Could it just be that compatibility is not monetarily incentivized? And incompatibility is not punished by some regulation enforcement bureau?
No, it's something that one would be fired as a decisionmaker for not understanding. It's basic.
Software is language. It is as slippery as all other human languages when you try to pin it down to absolutes.
Ergo, there's no incentive to fix it, and every incentive to keep it broken.