The New and Improved Linux Kernel Documentation

The Linux kernel has one of the biggest communities in the open source world; the numbers are impressive: over 4,000 contributors per year, resulting in about 8 changes per hour. That results in 4,600 lines of code added every day and a major release every 9-10 weeks. With these impressive numbers, it’s impossible for a traditional printed book to follow the changes because by the time the book is finally written, reviewed and published, a lot of changes have already merged upstream. So, the best way to maintain updated documentation is to keep it close to the source code. This way, when some changes happen, the developer that wrote such changes can also update the corresponding documents. That works great in theory, but it is not as effective as one might think.

The documentation practices in the Linux kernel community have been struggling to keep up with the increasing complexity of code development. As a result, the community has come together to find a path to improve documentation to a format that is easier to maintain and more valuable to the community. This series outlines the work that has been done as a part of this process.

The Problem with Linux Kernel Documentation and How We’re Fixing it – This article covers the problems of the old kernel documentation system and the path the community chose to modernize it. If you’re new here this is the article you should read first.

What Makes the Linux Kernel Media API Documentation so Challenging? – This article explains the challenges of converting the Linux kernel Media API documentation to the new format, and it begins to describe the process used to migrate the media subsystem documentation.

Finishing the Conversion of Linux Media Documentation to ReST – This article covers the conversion of the remaining Linux media subsystem documentation including the kAPI and V4l and DVB specific driver documentation.

Creating a Linux User’s Manual – The Linux kernel documentation has some content that would be useful to a variety of users, but it’s intermingled with a lot of documentation that’s only useful for developers. This article describes the process of organizing Linux kernel documentation for users.

Improving Linux Kernel Development Process Documentation – This article describes the effort to improve documentation related to the Linux kernel development process.