next up previous contents
Next: The Social Process of Up: The Heroic Act of Previous: Guidance

The Linux Development Model

Torvalds's most interesting role by far is the innovative way in which he organizes the development team. His organizational style is best summarized by Eric Raymond in his paper ``The Cathedral and the Bazaar,'' which compares the Linux development model with conventional software engineering. The philosophy goes ``release early and often, delegate everything you can, be open to the point of promiscuity.'' Torvalds maximizes the amount of human work spent on Linux by closely involving users and developers with the work. New versions of the development Linux kernels are released at least once a week, which gives people a good feeling for the rapid progress. This helps make anyone who contributes to the effort feel intimately involved, especially when they see a fix they submit become part of the kernel the very next day. Torvalds is as much of a personality as he is a programmer, using his charisma to woo people into Linux development. He allows almost anyone to contribute code, since he knows that they will then have an emotional bond to Linux development and put even more time into it. Torvalds takes very little credit for the relatively small amount of code that he contributes to Linux, but actively dishes out credit to other developers in order to tap more of their volunteer effort. He is definitely not the sole inventor of Linux, and most of the copyrights of the source code are actually owned by other people.

Torvalds's personality reflects his interest in streamlining Linux development. He describes himself as lazy, which is the reason he delegates most of the work to other people. This delegation is key to the success of a large development effort, however. Most software development teams are kept small, like the ``Cathedral'' in Eric Raymond's paper. This is because the amount of interaction necessary between developers to work on part of a program increases exponentially as the number of developers increases. It seems like a miracle that something as complex as an operating system would still work after being braided together in ``Bazaar'' fashion by literally hundreds of programmers. This is made feasible since most of the developer interaction occurs with Torvalds and not necessarily with every other developer. Torvalds knows that he could get more work done by recruiting a dozen people for a couple of projects rather than working on them himself. Additionally, there is strong proof that a team of moderately talented programmers can produce higher-quality code, whereas even an expert programmer could get deluded by some intricacy of the software design.

His organizational style is reminiscent of emerging trends in management, such as increasing the personal involvement between employees and the company. This is almost a necessity with free software development, since most Linux developers do not receive any salary for their work. Linux development also has a resemblance to the concurrent engineering process that competitive corporations are adapting. Traditionally, products would iterate through the distinct phases of conception, design, development, production, marketing, and customer feedback during the typical product cycle. Many corporations that produce evolutionary products, such as automobiles, now use concurrent engineering to speed up product design. Concurrent engineering involves increasing feedback between each of the design phases by having them all collaborate fully on their project simultaneously rather than in turn. Corporations use this technique to reduce costs, but Linux has used it to speed development. Since the computer science industry is still a relatively young field of engineering, it can still be slow to adapt to established strategies that don't seem to make sense in their field. However, this provides a good example of how new techniques in organization can be thought of in terms of old technologies.

The advantages of these principles behind Linux development become clear in comparison with FreeBSD, another freely-redistributable Unix clone.6 FreeBSD is in some ways technologically superior to Linux, and also has a more relaxed license. However, FreeBSD lacks a central authority figure, in favor of a more traditional team of programmers in charge of a pool of developers. The BSD license allows companies to modify FreeBSD source code and copyright the new code as their own. This may cause the source code to become closed and proprietary, which is exactly what the General Public License protects against. However, this license policy may have hurt FreeBSD development, as many developers hold the principles behind the General Public License with an almost religious fervor.


next up previous contents
Next: The Social Process of Up: The Heroic Act of Previous: Guidance
Rowin Andruscavage
1998-05-10