Sponsors

Platinum Sponsors

  • Intel
  • IBM

Gold Sponsors

  • NetApp

Silver Sponsors

  • HP
  • Google
  • MontaVista
  • Sandisk

Collaborators

  • Portland State University
  • Linux Foundation

Press Partners

  • Linux Journal
  • Linux Weekly News
  • Linux Pro Magazine

Sponsorship opportunities

For more information on sponsorship opportunities, please contact Angela Brown. Linux Plumbers Conf sponsorship packages.

Who owns the interface? - Michael Kerrisk

Biography

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.

Abstract

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?)

  • Is it the Austin group (they define the POSIX.1/SUS API standard)?
  • Is it the kernel developers (they implement the interfaces)?
  • Is it the userspace programmers (they use the interfaces)?
  • Is it the LSB (they define the Linux ABI standard)?
  • Is it LTP or other testers (they come up with (implicit or explicit) interface specifications for testing)?
  • Is it Ulrich Drepper (glibc mediates the interfaces exposed by the kernel)?
  • Is it me (I maintain the documentation of the interfaces)?
  • 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.