Earlier quoted context omitted.
Not only Windows, the majority of operating systems are like that, even the old time commercial UNIXEs, only GNU/Linux forces an unstable driver ABI on developers.
Linux and *BSD. FreeBSD will break ABI every major version, roughly every 2 years. https://wiki.freebsd.org/VendorInformation OpenBSD even goes so far as to break the user-space libc ABI in minor releases: http://www.openbsd.org/papers/eurobsdcon_2013_time_t/
Besides toying around with FreeBSD in the late 90's, I never used it properly.