Michael Kerrisk first started programming on Unix systems in 1987. He has been involved with the Linux man-pages project, which documents the Linux kernel-userspace and the glibc APIs, since 2000, and has been the project maintainer since 2004. He is the sole author of nearly 100, and the co-author of another 65, of the around 850 pages in the man-pages package. (See http://www.kernel.org/doc/man-pages/ and http://linux-man-pages.blogspot.com/.) In May 2008, he commenced a fellowship with the Linux Foundation to work full time on man-pages and related work. As well as maintaining kernel-userspace API documentation, he is also involved in testing and design review of new APIs, and has found many bugs in the APIs. He is currently nearing completion of a book providing a detailed description of the Linux kernel-userspace API.
Traditionally, an interface is owned and defined by the vendor or group who created it, and if the interface achieves widespread usage, then eventually ownership may pass to a standards group.
But what's the story for the Linux kernel-userspace interface? Who owns it? (Who has freedom to change the interface? Who has the power to block changes?)
Given the nature of the Linux interface development, if you're a member of one of those groups, and assume that you must be the owner, then you're likely to be in for some unpleasant surprises. You're also in for some surprises if you assume that some other group(s) must be the owner. You're even in for some surprises if you assume that some particular group couldn't be the owner. (Like: userland programmers couldn't possibly define the interface I already implemented, right?) I'll look at the arguments for assuming each of the above groups is the owner, and consider some of surprises if we make that assumption.
Some other questions I'm interested to explore in the course of the talk are: Does it matter who owns the interface? What sort of problems can result when ownership of the interface is unclear? If multiple groups can (legitimately) claim ownership of interface, how can we minimize the conflicts, limitations, and bugs that might result from the multiple claims?
I can't provide definitive answers on the ownership question (there probably aren't any), but with this talk I do aim to start some useful conversations, and I hope that attendees will be able to further educate me, as well as each other, about the various facets of the topics described above.