Patching Up


Given the powerful takeoff of Linux and its successfulness linked to the Internet, it is bewildering that Linux had no networking capabilities other than fttp (this was used by the news reader), for the first year and a half of its existence.

Ross Biro volunteered to create a PC/TCP implementation for Linux. Sadly this came too slow for people's expectations, coupled with other problems, the hacker community voiced their disapproval of Ross which led to the project being taken over by Fred van Kempen. Fred had grand ideas of implementing every possible type of network protocol. Bound by his desire to write his implementation once and correct as opposed to getting it working first, Fred was also too slow at stabilizing his code. Again users became frustrated which led to an unusual turn of events. Linus requested Alan Cox to branch the development of PC/TCP for Linux.

Branching source code is normally avoided as it usually results in a duplication of development efforts and a separation in loyalty. This scenario has been compared to a "warring faction" by many.

However, Linus knew that as the accepted head of Linux, enough Linux users agreed with his decision and if expected results followed, branching the PC/TCP efforts would prove profitable. Later, Linus phased Fred out by refusing his patch submissions and by accepting Cox's exclusively; which ended the threat of branching the source code.

With time, Cox was able to solidify the PC/TCP enhancement to Linux to the appreciation of many users.

The PC/TCP scenario shows some of the Linux hierarchy. In many cases, Linus would assign responsibilities of certain part of the kernel to others as he had with Alen Cox. Those in charge would be responsible for double checking submissions by others, if it applied to their area of specialties. In some cases, if one were to submit a fix to Linus, they would be referred to the person in charge of that area. If everything checked out, these patches would be sent off to Linus to be incorporated into the kernel.

This hierarchy was not by design, rather this is how things were brought about by the large distances that separated the network of hackers. There was no ability to get together for brain storming, as Linus pointed out.

Back to the Previous Chapter < OR > On to the Next Chapter