4 ms·
So we've now had several interesting cases of how breaking changes to something popular (even foundational) are made and how that works out: - Perl 5 to Perl 6
by cletus 6y ago
So we've now had several interesting cases of how breaking changes to something popular (even foundational) are made and how that works out:
- Perl 5 to Perl 6. I think this was an unmitigated disaster. 20 years ago Perl 5 had a lot of users. I'm pretty sure it's completely irrelevant now;
- Python 2 to Python 3. It's been almost 12 years and we still have Python 2. Personally I think a lot of bad decisions were made here, like getting rid of s' and u' string prefixes (before adding it back in Python 3.3). Unfortunately I think Python 3 is now in a state where each minor release makes language changes.
Which brings us to IPv6. It's been 25 years and we're still asking "are we there yet?" The biggest lesson for me is that IPv6 is a classic example of the Second System Syndrome.
Faced with the limited prospect of making future breaking changes, everything got thrown into IPv6 without solving the two problems that actually matters (ie roaming, reliable UDP). The only real problem with IPv4 is address space exhaustion. And we've had decades of NAT to kick that can down the street with probably decades to come.
I honestly don't know how this will ever happen.
- MertsA 6y ago>everything got thrown into IPv6 without solving the two problems that actually matters That would arguably be much better suited to a layer 4 solution. SCTP has solved both of those problems and is now 2 decades old. I have in the past harped on what a shame it is that QUIC was built, basically reinventing features of SCTP poorly. SCTP could still be viable over the open internet on IPv6 if it's done before the inevitable protocol ossification happens on IPv6 just like IPv4 when middlebox vendors can't be bothered to support passing traffic other than TCP, UDP, and ICMP.
- xxpor 6y agoSCTP-over-UDP is still totally viable.
- anderspitman 6y agoWhat do you see as the main advantages of SCTP over QUIC?
- MertsA 6y agoFor HTTP? Basically just multihoming. For everything else? Multiplexing streams, multihoming, reliable datagrams, out of order delivery, in order delivery of datagrams, resistance to SYN floods, etc. It's basically a swiss-army knife transport protocol. By far the biggest drawback of SCTP is lack of widespread support. Linux and the BSDs have it implemented in the kernel but Windows and macOS only have third party implementations. It can be implemented in userspace, but now you have to tunnel all of it over UDP instead of just native SCTP and now you need to worry about separate userspace implementations conflicting by trying to use the same UDP port if you want to host it as a server.
- temp667 6y agoIt's the new folks just having a wildly arrogant view of their new protocol. Ipv6 had everything and the kitchen sink thrown into it and made only token efforts at ipv4 co-existence. Plus the endless hype of ipv4 not being available. What they really meant was FREE ipv4 addresses won't be available, but between spending $5K to get a small block or re-doing your entire network to ipv6 -> plenty of people would rather pay the $5K! The irony - despite seemingly unlimited ipv6 addresses my home internet is now a mess of randomly changing ipv6 addresses... I feel like I'm back in dynamic DNS / NAT days (ipv4 + port). The s' and u' string prefix issue in python is an absolute embarrassment. They had a perfect / clear upgrade path that would allow stuff to still work with python 2. In their Unicode purity campaign they tried to force everyone to 3 by making it a total PIA to work with 2 still (such a similar story with ipv6). Folks were like peace out for at least 5 years until they started bending a bit (also ascii handling for HTTP stuff got super annoying). Once they backed off it got a lot better on the transition.
- deleted 6y ago[deleted]
- thaeli 6y agoIronically, the biggest argument in favor of IPv6 adoption is the massive debacle IPv6 has been. It's virtually guaranteed that we won't ever get a successor to IPv6, and since IPv4 exhaustion has pushed enough adoption of IPv6 that we can't get rid of IPv6 either.. we're stuck with it. Yes, I do wish we'd realized this 15 years ago, when it might have still been possible to throw IPv6 away and start over. But we didn't, so here we are.