|
|
Subscribe / Log in / New account

KS2008: Documentation

By Jonathan Corbet
September 17, 2008

LWN's 2008 Kernel Summit coverage
Your editor got talked into kicking off the kernel summit discussion on documentation; if this coverage is sketchier than usual, it's because it's hard to try to lead a discussion and take notes at the same time. After some of the obligatory introductory notes on how documentation is always a problem, it was asked: how many kernel developers had actually gotten something useful from the in-tree documentation directory recently? Almost all attendees raised their hands. There is value, it seems, in the documentation which is available now.

That said, there are also traps. An aspiring camera driver author would, upon exploring the documentation directory, stumble across a detailed file describing just how those drivers should be written. The author is Alan Cox, who might be considered to be a reasonably authoritative source. But this document describes the deprecated Video4Linux1 API; if our author wrote a new driver to that API, he or she would probably feel a little misled once the initial reviews came back. The value of that document in 2008 is probably negative.

There are plenty of equally musty documents in the kernel documentation tree. The real problem is that documentation has no subsystem maintainer, nobody who will clean out the old stuff. The legendary lack of organization in that directory is also a result of a lack of overall maintenance.

The question that was put to the developers was: what do you want from kernel documentation? Linus had a clear answer; what he wants is better release notes for each kernel version. It's not clear how to get there; maybe some sort of automated way of finding descriptions of new features in the git changelogs. What's even less clear is how this work could improve on the high-quality work done over at the kernelnewbies.org site.

Matthew Wilcox asked for some quality control on documentation submissions. He noted, in particular, that the coding style document would appear to have drifted from its original intent over the years.

One useful form of documentation that developers would like to see more of is test programs for new features. Test code for new system calls is especially useful; it describes how the system call should work, and allows architecture maintainers to verify that they have connected things up properly.

There were questions on how much of the supplied kernel documentation is truly useful; maybe much of it should be removed? There are some obviously useful files, like those describing kernel boot and tuning parameters. The KernelDoc documents have their value; much of that documentation appears in the code itself, and the KernelDoc code checks to make sure that the documentation matches the associated function definitions. Much of the rest tends to be out of date and unused.

One result of the discussion might be an effort to remove some of the oldest, most fictional documentation. Beyond that, though, it looks mostly like business as usual.

Index entries for this article
KernelDocumentation


to post comments

KS2008: Documentation

Posted Sep 18, 2008 0:18 UTC (Thu) by dirtyepic (guest, #30178) [Link] (1 responses)

I found Rob Landley's paper "Where Linux kernel documentation hides" to be a very interesting read. It's a shame his fellowship was discontinued.

http://ols.fedoraproject.org/OLS/Reprints-2008/landley-re...

KS2008: Documentation

Posted Sep 18, 2008 17:32 UTC (Thu) by constantine (guest, #53664) [Link]

Really interesting. Here are html view of his results: http://kernel.org/doc

Interactive map of Linux kernel

Posted Sep 18, 2008 17:13 UTC (Thu) by constantine (guest, #53664) [Link]

A new view to the kernel structure and sources: http://www.makelinux.net/kernel_map. It helps a lot to learn Linux internals.

Linux Technology Reference

Posted Sep 18, 2008 17:24 UTC (Thu) by constantine (guest, #53664) [Link]

http://www.makelinux.net/reference
It is attempt to collect and organize all existed Linux and related documentation to single knowledge tree. Your comments are welcome. The goal of the project is to create high quality comprehensive Linux documentation portal.

KS2008: Documentation: date tagging

Posted Sep 26, 2008 8:16 UTC (Fri) by cmot (guest, #53097) [Link]

Many of the documentation files (such as the mentioned v4l1
documentation) would be vastly improved by a simple two-liner at the very
top, saying "This document was written on yyy (date). It was
checked for accuracy by xxx on yyy."

So if our hypothetical webcam driver author tries to use this document and
sees that it was written in 2004, he at least should do careful checking
if this still describes the state of the art.


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds