Re: [RFC] Add kernel<->userspace ABI stability documentation

Kumar Gala
2006-02-27T19:22:13Z

On Feb 27, 2006, at 1:01 PM, Greg KH wrote:

> Hi all,
>
> As has been noticed recently by a lot of different people, it seems
> like
> we are breaking the userspace<->kernelspace interface a lot. Well, in
> looking back over time, we always have been doing this, but no one
> seems
> to notice (proc files changing format and location, netlink library
> bindings, etc.)
>
> Linux is a dynamic system, we add and change things all the time based
> on the need of its developers and users. Because of this, we now
> run on
> more platforms than any other operating system ever has, from the
> world's top supercomputers, to the phone in your pocket. It is how we
> have survived so far, and is how we will survive in the future.
>
> In order to ensure that we can continue to be dynamic in the
> future, and
> not get bogged down by interfaces that are half-baked, or just turn
> out
> to be wrong once we implement them and find ways to break them (anyone
> remember the sys_futex evolution?) we need to be able to handle the
> changes in the userspace<->kernelspace ABI properly.
>
> So, here's a first cut at how we can do this. Lots of other operating
> systems explicity document what the interfaces to it are, and give a
> "stability" rating of those interfaces (for one example, look at
> http://opensolaris.org/os/community/onnv/devref_toc/devref_7/ ). I
> feel
> that we too need to document this interface, in order to keep everyone
> in the loop and not cause any unwanted surprises at times they do not
> need them (like right before a company's deadline.)
>
> I've sketched out a directory structure that starts in
> Documentation/ABI/ and has five different states, "stable", "testing",
> "unstable", "obsolete", and "private". The README file describes
> these
> different states, and how things can move between them. I've also
> seeded the directories with some well known examples of the different
> interfaces that are already in these states.
>
> So, any comments? Criticisms?

It would be nice if we can come up with some way for Linus to
document state changes in his release notes.

- kumar