Introduction to Free Software - SELF | Sharing Knowledge about ...
Introduction to Free Software - SELF | Sharing Knowledge about ...
Introduction to Free Software - SELF | Sharing Knowledge about ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
© FUOC • P07/M2101/02709 132 <strong>Free</strong> <strong>Software</strong><br />
Version 0.02, which dates from Oc<strong>to</strong>ber 1991, despite being very limited,<br />
could already execute bash terminals and the GCC compiler. Over the course<br />
of the following months, the number of external contributions grew <strong>to</strong> the<br />
point that in March 1992, Linus could publish version 0.95, which was widely<br />
acknowledged as almost stable. There was still quite a way <strong>to</strong> go, however, be-<br />
fore version 1.0, which is usually considered the first stable one: in December<br />
1993, for example, version 0.99pl14 was published (which would make it the<br />
fourteenth corrected version of version 0.99); in March 1994, Linux 1.0 was<br />
finally born. By this time, Linux was being published under the terms of the<br />
GPL license; according <strong>to</strong> Torvalds himself, this was one of the best decisions<br />
he ever made, as it was extremely helpful in distributing and popularising his<br />
kernel. In "Evolution in open source software: a case study", [128] there is an<br />
exhaustive analysis of the evolution of the different versions of the Linux ker-<br />
nel, focusing on the scale and modularity.<br />
Note<br />
Another significant event in the annals of free software was the debate that <strong>to</strong>ok place<br />
in late January 1992 on the Minix newsgroup between Andrew Tanenbaum and Linus<br />
Torvalds. Tanenbaum, who was probably a bit annoyed by Torvalds' success with his<br />
"<strong>to</strong>y", attacked Linux and Linus in a rather disproportionate manner. His essential point<br />
was that Linux was a monolithic system (the kernel integrates all the handlers and the<br />
rest) and not a microkernel system (the kernel has a modular design, which means that<br />
it can be much smaller and that modules can be loaded upon demand). The original<br />
argument can be read just as it occurred in "The Tanenbaum-Torvalds debate" newsgroup<br />
[214].<br />
9.1.2. Linux's way of working<br />
The way Torvalds worked was not very common at that time. The develop-<br />
ment was mainly based on a mailing list 9 . The mailing list was a place where<br />
people not only argued, but where developments also <strong>to</strong>ok place. And this<br />
was because Torvalds was extremely keen on having the whole life of the pro-<br />
ject reflected on the mailing list, which is why would ask people <strong>to</strong> send their<br />
patches <strong>to</strong> the list. Contrary <strong>to</strong> what one might have expected (the patches<br />
sent as attachments), Linus preferred <strong>to</strong> have the code sent in the body of<br />
the message so that he and others could comment on the code. In any case,<br />
although many people would provide their opinions and send corrections or<br />
new functions, the last word would always go <strong>to</strong> Linus Torvalds, who would<br />
decide on what code would be incorporated in<strong>to</strong> Linux. To a large extent, this<br />
is still how it works in 2007.<br />
Note<br />
The consolidation of Linus Torvalds as a "benevolent dicta<strong>to</strong>r" has given rise <strong>to</strong> a large<br />
number of anecdotes within the project. For example, it is said that if an idea is liked,<br />
it must be implemented. If it is not liked, it must also be implemented. The corollary,<br />
therefore, is that good ideas are no use whatsoever (without code, of course). On another<br />
note, if the implementation is not well-liked, it is essential <strong>to</strong> insist. A well-known<br />
case is that of Gooch, for whom Saint Job was a mere learner. Gooch made up <strong>to</strong> one<br />
hundred and forty six parallel patches until Linus finally decided <strong>to</strong> integrate them in<strong>to</strong><br />
the kernel's official branch.<br />
(9) The list's email is linuxkernel@vger.kernel.org.<br />
The his<strong>to</strong>rical<br />
messages can be seen at<br />
http://www.uwsg.indiana.edu/hypermail/linux/kernel/.