c'est normal et souhaitable qu'il y ai plein d'implémentations car il y a plusieurs langages , plateformes et contexte d'utilisation différents (client, serveur, etc)
La norme de QUIC est sèche depuis 1 an (
https://datatracker.ietf.org/doc/html/rfc9000)/ mais il y a 2 versions en exploitation ("h3" et "h3-29",visible avec un curl -v ou dans un navigateur avec F12). A terme il n'y aura pas qu'une version car les concepteurs ne veulent pas que ca se "fige" notamment au niveau des middle box (firewall, routeur, proxy, etc) comme cela a eu lieu avec TCP. Du coup un QUIC v2 est déjà en cours
https://www.ietf.org/archive/id/draft-ietf-quic-v2-03.html (c'est tout frais, le 12 mai) simplement pour forcer les tests et empêcher ce figement (en gros ils veulent pas par exemple que les vendeurs de firewall se contentent juste de tester la valeur de quelques octets d'entête pour savoir si c'est du QUIC ou pas).
Bref il faut pas répéter les erreurs du passé ou on a du conserver une version figée de TCP. L'objectif de QUIC est clairement de ne plus dépendre et être otages des intermédiaires du réseau (box, firewall, opérateurs, etc).
Pour ce qui est des implémentation, un site permet de suivre, en temps réel, les interopérabilité et les débits entre ces implémentations:
https://interop.seemann.io/ (ca met du temps a charger les données).
Les mesures de débit sont limité a des transferts de 10 MB donc juste pour valider grossièrement les implémentations.
La norme HTTP/3 (HTTP au dessus de QUIC) n'est pas encore finalisée (
https://quicwg.org/base-drafts/draft-ietf-quic-http.html ). On peut utilisé QUIC pour faire autre chose que du HTTP , comme on utilise TCP pour autre chose.
La plupart des implémentations de QUIC proposent aussi une implémentation de HTTP/3 mais pas forcement.
MSQuic de Microsoft par exemple ne propose pas HTTP/3. Ca n'empêche pas Microsoft de finaliser l'implémentation et de l'intégrer dans Windows (cf les perfs avec un connexion 50 Gbps:
https://microsoft.github.io/msquic/ )
Curl n'est qu'un surcouche sur une de ces implémentations (voir plusieurs). De base, Curl n'implémente que HTTP/1.1 , depuis pour HTTP/2 et HTTP/3 ils utilisent des implémentations tierces (qui peut changer d'un build a un autre et d'une plateforme a une autre).
A noté aussi que QUIC nécessite une version spéciale de SSL/TLS qui n'est pas encore dispo dans les versions stables des implémentation de SSL/TLS. Ca rejoute une complexité et une dépendance.
bref c'est complexe mais HTTP/3 représente déjà un grosse partie des paquets en production sur Internet donc on n'est plus dans l'expérimental non plus.