next up previous contents
Next: The Linux Development Model Up: The Heroic Act of Previous: The Heroic Act of

Guidance

Although many developers are free to work on whatever aspect of kernel programming they are interested in, most look to Torvalds for defining the priorities. This was more important during the earlier stages of the kernel development, when key decisions needed to be made and big changes meant rewriting a lot of previously working code. If Torvalds backed a movement towards a completely different but more powerful file system, for example, more people would be willing to rewrite their individual contributions to support the new feature. They would not feel so compelled to revise their work after a suggestion from a peer. Torvalds fills this role because he has built up a strong trust from other developers. However, he states that any one of a number of people in the development team also have sufficient trust to take over as leader of the project if necessary.4 Linux should be able to outlast the lifetime of any one person. In the meantime, Torvalds provides the single authority figure that unifies and focuses the direction of the development effort. His presence not only prevents Linux from fragmenting into several Linux derivatives, like FreeBSD5 has, but also allows it to dexterously change momentum to adapt to new technological trends.

Another important function that Torvalds performs is the pacing of the development cycle. In order to be successful as a product, most programs have to go through alternating periods of development and debugging. During the development phase, new features are added, which may conflict and cause problems with existing code. At appropriate times during the cycle, Torvalds announces a ``code freeze,'' during which all of the developers stop trying to add new features and focus on fixing all of the conflicts between parts of their code. Once they are happy with the way everything is working, they will officially release a ``stable'' version of Linux intended for general use. The pace at which this process occurs is somewhat critical. Although many Linux users don't mind the risks involved with using the unstable development versions, people who need reliable computer systems will install the most sophisticated stable operating system they can find at the time. Since Linux has a faster development cycle than other operating systems, the current stable version of Linux is more likely to be the most advanced operating system to choose at the time. In the 7 years since Linux development has started, Torvalds has called for code freezes four times. The kernel usually stabilizes within a matter of months.


next up previous contents
Next: The Linux Development Model Up: The Heroic Act of Previous: The Heroic Act of
Rowin Andruscavage
1998-05-10