They don't like GPLv3. The other BSDs used similarly old versions until they moved to clang, but netbsd is pretty tied to the gnu toolchain and aims to be as portable as possible, so they kinda have to stick to gcc

But the licensing didn't change between gcc 12 and gcc 16, so that doesn't seem like a good explanation?

It is not a good explanation because that is not the reason. That reason is for Mac OS. I don't know the details, but BSDs normally modify the GCC version they use. IIRC OpenBSD used to use GCC 2.95 for years. Porting NetBSD base to compile with a newer GCC version is not as simple as a version bump. My guess is that they haven't prioritized that work yet.

Patches welcome!

This is not the reason. We created this branch in July 2025 (GCC 12.5 was released on 11 July, 2025) and spent a year stabilizing it. A new system compiler is considered far too much of a risky, incompatible change to backport. Especially since lots of C code no longer compiles with GCC 14+ without significant changes.

Each time we upgrade the system compiler, it requires extensive work to keep all of our supported architectures in working order, and adjust our code for compatibility.

wasn't that around gcc4 or something era? gcc12 is pretty new