@Conan_Kudo @b0rk @zwol Eh? There's definitely still a bunch of getopt(3) usage, even though getopt_long(3) is in most Unixes libc.
And when it comes to long options implementation (which if you see the dd command, inspired from IBM JCL, isn't just a GNU thing), there's often different behavior, for example accepting = as separator or not, as well as accepting abbreviated names or not.
Which can get a bit funky in codebases like git for example where long options are rather prevalent but it's subcommands are implemented in different languages.