3 ms·
This is quite interesting. How to maintain backwards compatibility while retaining the flexibility to move forwards is always a huge tension in protocol design.
by MattPalmer1086 2y ago
This is quite interesting. How to maintain backwards compatibility while retaining the flexibility to move forwards is always a huge tension in protocol design. Look at SMTP!
Essentially, mandating a window of version compatibility from the start at least communicates the intention. Whether it works in practice would depend on how well everyone actually tries to stay to stay up to speed, and whether network effects can be used to keep everyone on board.
- jjav 2y agoThe traditional way to solve this was to keep the protocol at a 0.x version until mature enough. "Enough", not absolutely perfect. (Of course this can be abused, like with gmail being "beta" over five years.) After you hit 1.0 then accept that any breaking changes are Big Deal which require a new protocol major version and should only happen once in many years (unless there is a fatal security flaw discovered). Perfect is the enemy of good. People whine about details with email, but this is why email continues (after 40+ years) to be the most interoperable communications mechanism in the world across everything.