03.12.2012 Views

Introduction to Free Software - SELF | Sharing Knowledge about ...

Introduction to Free Software - SELF | Sharing Knowledge about ...

Introduction to Free Software - SELF | Sharing Knowledge about ...

SHOW MORE
SHOW LESS

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/.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!