Blueprints for World Domination |
this site is hosted by .. |
|
Under new management!
KERNELBOOK NEWS:
| ||
|
Copyright © 2001-2005 by Gary Murphy and released under the CreativeCommons. |
||
What is this? Another book on the Linux Kernel? Yes, I'm afraid so but we hope this will not be just another book.
This is not 'my' book. My vision for this book was as an evolving community thing, a co-ordinated effort of many rather than the disjoint work of a few; very much like Linux itself. Throughout the project, the manuscript would sit out in public and invite public review.
Contributing authors should be 'maintainers' and editors, and any 'principle author' role should only be as 'project lead'; the lead job is to co-ordinate the process and to ensure a cohesive work (in addition to writing), the maintainers ensure technical completeness, but it is you, the Linux kernel community, who must do the work; our public is invited to be as much an 'author' as they might with any open source project.
The long range goal is to produce a manuscript suitable for printing, but the project will not stop there. The book is written in DocBook, licensed under the OPL (no options, and this may change --- comments?). XML source for the book is hosted in the CVS here at SourceForge: The methodology is designed to allow incremental updates; the book will start with the 2.4 kernel, but should evolve to follow 2.5 and beyond.
We call this work the "architecture of the Linux kernel" and target commercial developers and potential participants in Linux development. We don't want another API book or one that reads you the source code; Documentation/DocBook already provide the low-level API guides someday, and Alessandro and others are already working on updates to their prior books.
Anyone brave enough to open a book called "The Linux Kernel" is brave enough to read source code; what they need is a conceptual framework to help make sense of source details within big-picture view and philosophy of the O/S. They need maps of inter-relations between components they plan to change and the rest of the kernel and a guide to bootstrap their understanding, having arrived 'late in the game'.
The Kernelbook aims to be the guide to how the kernel fits together, the subsystems and algorithms, maps of interconnections and trouble spots. Not how we think it is, but, where possible, the concrete architecture of what it really is. We need to present Linux design requirements as if we were about to build it. As the subtitle suggests, the book specs out a blueprint of how to implement Linux, abstract (or informed and forward-thinking) enough that it won't go out of date with 2.8.
Anyway, that's the whole grand, evil, megalomaniacal plan ;) and we will depend on your participation, guidance, advice, sketches, snippets, hearsay, questions, comments, encouragement and sympathy to make this happen.
In this page, you will find links to our project page, our mailing lists and a call for participation --- this thing is only going to work if we work together to make it happen.
Gary Lawrence Murphy <garym@linux.ca>
Sauble Beach, March 22, 2005
We have a tentative Table of Contents, and we have this site, the corresponding SourceForge Project Page, and an associated doc archive. Having begun in 2001, the Kernelbook is the first ever online collaborative authoring environment for a technical trade publication using the SourceForge and the DocBook/XML DTD, and it is a learning experience for everyone.
This website includes our present Table of Contents but does not yet include HTML editions of the chapters from the book; these will be added as they are released for review.
Our project came under a lot of criticism for our choice of the Open Publishing License, and a frequent question is "Why?". I've come to question that choice myself. Now that the kernelbook is no longer under contract to Macmillan, the copyright reverts to Gary Murphy and that means all bets are off, we are free to adjust the license as we see fit, and my first change is to drop all 'options' clauses from the OPL with a forward view to shift the whole work over to a GNU General Document License.
An early (obsolete) preview release is available for download through the KernelBook Downloads page. The preview is only available in RTF format --- which means "no diagrams". Much prettier Adobe Acrobat editions of the following chapters are available from our FTP site:
Documents updated: Sun Jun 25 17:01:40 2000
Thanks to the heroic efforts of Tim Waugh and Alan Cox, the 2.4 kernel sources now include a kernel-doc script for generating manpage-like 'reference pages' from the GNOME-like comments in the source code files. While not every developer has adopted the GNOME comment block convention, everyone reading this page has become completely convinced that it is in everyone's best interest to get into it (how's that for subliminal suggestion?)
As a public service, and to give you some value add until there is enough of the kernel book online to make it worth your while to read it, we're pleased to offer the kernel-doc collection pre-generated through OpenJade as downloadable PDF and gzipped Postscript, and with (limited) HTML versions online:
| The Parallel Port Subsystem by Tim Waugh |
|
| The Z8530 Programming Guide by Alan Cox |
|
| Synchronous PPP and Cisco HDLC Programming Guide by Alan Cox |
|
| The Video4Linux Book by Alan Cox |
|
| The MCA Driver Programming Interface by Alan Cox |
|
| CML2: Kernel Configuration Menu Language by Eric S. Raymond |
|
| The Linux Kernel API |
|
| Unreliable Guide to Kernel Hacking by Paul 'Rusty' Russel |
|
| Unrealiable Guide to Locking by Paul 'Rusty' Russel |
More documents will be added as they become available.