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 133 <strong>Free</strong> <strong>Software</strong><br />

Another one of Torvalds' innovative ideas was <strong>to</strong> develop two branches of<br />

the kernel in parallel: the stable one (the second number of the version is<br />

usually even, such as 2.4.18) and the unstable one (the second number of the<br />

version is odd, such as 2.5.12) As ever, Torvalds is the person that decides what<br />

goes in<strong>to</strong> which branch (many of the most controversial decisions are related<br />

precisely <strong>to</strong> this point). In any case, Linux doesn't have any planned deliveries,<br />

in fixed timeframes: it will be ready when it is ready and in the meantime<br />

we'll just have <strong>to</strong> wait. Surely by now, most readers will have realised that the<br />

decision on whether the system is ready or not will be made solely by Linus.<br />

The development method used in Linux has proven <strong>to</strong> be very effective in<br />

terms of results: Linux is very stable and any bugs are corrected extremely<br />

quickly (sometimes in minutes), as it has thousands of developers. In this si-<br />

tuation, when there is a bug, the probability that someone will find it is very<br />

high, and if the person that discovers it is not able <strong>to</strong> correct it, someone will<br />

appear who will hit on the solution very quickly. To summarise, this shows<br />

how Linux has thousands of people working on its development every month,<br />

which is why its success is not al<strong>to</strong>gether surprising.<br />

It should be noted, however, that this way of working is very expensive where<br />

resources are concerned. It is not unusual for there <strong>to</strong> be many mutually-ex-<br />

clusive proposals for a new function or that a dozen patches are received for<br />

the same bug. In most cases, only one of the patches will finally be included<br />

in the kernel, which means that the rest of the time and effort put in<strong>to</strong> the<br />

patches by the other developers will have all been in vain. Linux's develop-<br />

ment model is, therefore, a model that works very well in Linux but which<br />

not all projects can permit themselves.<br />

9.1.3. Linux's current status<br />

In early 2007, Linux was at version 2.6, which included, in terms of impro-<br />

vements made <strong>to</strong> version 2.4, NUMA (Non-Uniform Memory Access, used a<br />

lot in multiprocessors), new filesystems, improvements <strong>to</strong> communication in<br />

wireless networks and sound architectures (ALSA) and many other improve-<br />

ments (if you're interested in the details of the changes in respect of previous<br />

versions, you may consult "The wonderful world of Linux 2.6" [186]).<br />

Linux's development model has undergone some changes over recent years.<br />

Although the development mailing list is still the soul of the project, the code<br />

no longer has <strong>to</strong> pass through the list, necessarily. One of the things that have<br />

contributed <strong>to</strong> this in a large way is BitKeeper, a proprietary system that per-<br />

forms revision control, developed by the company BitMover, strictly following<br />

Linus Torvalds' recommendations. The use of this proprietary <strong>to</strong>ol generated a<br />

lot of controversy, in which Linus, true <strong>to</strong> form, demonstrated his pragmatism<br />

again, as for him and many others, the CVS version control system was very<br />

antiquated. The disagreements were brought <strong>to</strong> an end with the development<br />

of git, a revision control system with similar features <strong>to</strong> BitKeeper that is cur-

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

Saved successfully!

Ooh no, something went wrong!