You can't froze kernel userspace API forever. That is simply
not workable, it will lead to stagnation and obsolescence. This is
especially unfair because some other kernel userspace API are allow to
change whenever their maintainers feels like.
Just to give you an example why we sometime need to
change. The first two generations of 802.11 hardware were using the
ESSID as a C-string (no NUL char), so the API was also using a
C-string (no NUL char). New 802.11 hardware do accept NUL in the
ESSID, therefore the API need to evolve away from C-string to offer
this new feature to userspace. Especially that new WPA standard may
use that in the future (cf. Jouni's e-mail).
In the past, kernel userspace API changes were done during the
devel series, but we don't have this option anymore. What I would like
people to discuss is what are the best practice to perform kernel
userspace API changes in 2.6.X.