What's Under the Hood?

Bob Young, of Red Hat, compares binary software distributions to cars that have the "hood welded shut". Access to source code "opens the hood", but it is far from a complete solution. Without comprehensive documentation, source code access can lead prospective maintainers (however qualified, otherwise) into wasted effort, frustration, and error.

To work productively, car mechanics need a fair amount of documentation: shop manuals, catalogs of replacement and add-on parts, etc. A mechanic at a car dealership will have all of these, possibly in online form. Back at the factory, car designers and engineers will have access to the complete manufacturing specifications for every part in every model of the car, year by year.

In commercial aviation, similar systems are used to track the complete configuration of each airplane in a fleet. If a gasket is replaced, the appropriate database record is updated. Consequently, an airline mechanic never has to wonder about the precise configuration of a given subsystem on the plane in question.

Problems are also tracked globally, generating replacement bulletins for problematic components. Thus, mechanics are automatically informed when a given part needs to be checked, adjusted, repaired, or replaced.

As complicated as cars and airplanes are, however, they are far simpler than operating systems. Thus, computer operating systems could benefit even more from this kind of support. If every part of the operating software on a running system were cataloged and documented, a maintainer (e.g., administrator or developer) would never have to guess at a file's format or purpose.

Like airplane parts and subsystems, files (e.g., /etc/passwd) and software packages (e.g., bintools, Sendmail) can be described and tracked. Although parts and files may be modified, they seldom disappear or change in function. Similarly, subsystems and packages tend to be fairly consistent in content and structure from release to release. Thus, little human annotation (i.e., non-automated documentation) is needed for "maintenance".

Online catalogs of "replacement parts", complete with descriptions and dependency information, could allow maintainers to perform fast and safe (sub)system upgrades. With appropriate safeguards, automated systems could perform recommended upgrades, keeping systems up to date with important patches.

Not every administrator will want automated upgrades, but most would be happy to have current, browsable system documentation. If all possible add-on packages were also documented (including dependencies and caveats), many installation hassles and risks would be reduced.

-- Main.RichMorin - 16 Jun 2003
Topic revision: r6 - 08 Jun 2003, WikiGuest
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email