Re: Astonishing
> It seems that software development in particular is mostly conducted without any discipline at all.
These issues are not really anything to do with software development, and everything to do with protocol specification and interaction - ie. the design work done before there is something for a software engineer to implement.
From work on protocol specification, conformance test and interop, I suspect people were focused on getting each specific protocol to robustly perform the core function it was intended to address rather than make it bulletproof, So really much of the Internet and 5G protocol stacks are really at the v1 stage where they deliver core functionality but not much else, we really v2 where wider issues such as interaction (with other protocols) and mischievous use are considered. It looks like we need to revisit the whole RFC and 3GPP approval process to try and ensure that it includes eelements that try and bring these wider considerations into the approval process..
In this contect, it looks like we need a way to incorporate IPv6.1, .2,.3 into the interop. mix. ie. ARPANET was intended to be used with clear cut versions - hence v4, v5 and v6. Interestingly the reasons for not calling v6 v5 because v5 was experimental show there is a need for some finer version information in the packet header/connection negotiation.