Introduction to Free Software - SELF | Sharing Knowledge about ...
Introduction to Free Software - SELF | Sharing Knowledge about ...
Introduction to Free Software - SELF | Sharing Knowledge about ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
© FUOC • P07/M2101/02709 103 <strong>Free</strong> <strong>Software</strong><br />
As the size of projects and the number of developers involved with them ha-<br />
ve grown, new ways of organising decision-making have emerged. Linux, for<br />
example, has a hierarchical structure based on Linus Torvalds delegating res-<br />
ponsibilities, the "benevolent dicta<strong>to</strong>r". And, we will see that there are parts of<br />
Linux that have their own "benevolent dicta<strong>to</strong>rs", although their power will<br />
be limited by the fact that Linus Torvalds has the last word. This case is a clear<br />
example of how a high level of modularity in a free software project has given<br />
rise <strong>to</strong> a specific way of organising things and making decisions (Alessandro<br />
Narduzzo and Alessandro Rossi, "Modularity in action: GNU/Linux and free/<br />
open source software development model unleashed", 2003) [176].<br />
Note<br />
Some people claim that the way free software projects are organised is similar <strong>to</strong> a surgical<br />
team, as proposed by Harlan Mills (of IBM) in the early seventies popularised by<br />
Brooks in his famous book The mythical man-month (Frederick P. Brooks Jr., 1975) [150].<br />
Although there may be cases where the development team of a particular free software<br />
application consists of a designer/developer (the surgeon) and many co-developers who<br />
perform auxiliary tasks (systems administration, maintenance, specialised tasks, documentation.)<br />
there is never such a strict and defined separation as the one suggested by<br />
Mills and Brooks. In all events, as Brooks points out in the case of the surgical team, with<br />
free software the number of developers that need <strong>to</strong> communicate in order <strong>to</strong> create a<br />
big and complex system, is much lower than the <strong>to</strong>tal number of developers.<br />
In the case of the Apache Foundation, we have a meri<strong>to</strong>cracy, since this insti-<br />
tution has a direc<strong>to</strong>rs' committee consisting of people who have contributed<br />
in a notable way <strong>to</strong> the project. In reality, it is not a strict meri<strong>to</strong>cracy in the<br />
sense of those who most contribute govern, since the direc<strong>to</strong>rs' committee is<br />
elected democratically and regularly by the Foundation's members (responsi-<br />
ble for managing various free software projects, like Apache, Jakarta, etc.). To<br />
become a member of the Apache Foundation, you need <strong>to</strong> have contributed<br />
in an important and continuous way <strong>to</strong> one or several of the Foundation's<br />
projects. This system is also employed by other large projects, such as <strong>Free</strong>BSD<br />
or GNOME.<br />
Another interesting case of formal organisation is the GCC Steering Commit-<br />
tee. It was created in 1998 <strong>to</strong> avoid anyone obtaining control over the GCC<br />
project (GNU Compiler Collection, GNU's compiler system) and backed by<br />
the FSF (promoter of the GNU project) a few months later. In a certain sense,<br />
this committee continues the tradition of a similar one that the EGCS project<br />
had (which for a time ran in parallel <strong>to</strong> the GCC project, but later joined it).<br />
Its fundamental mission is <strong>to</strong> ensure that the GCC project fulfils the project's<br />
mission statement. The committee's members are members in a private capa-<br />
city, and are selected by the project itself in such a way as <strong>to</strong> faithfully repre-<br />
sent, the different communities that collaborate in the GCC's development<br />
(support developers for several languages, developers related <strong>to</strong> the kernel,<br />
groups interested in embedded programming, etc.).<br />
The same person does not have <strong>to</strong> be the leader of a free software project fore-<br />
ver. Basically, there can be two circumstances in which the project leader s<strong>to</strong>ps<br />
being so. The first is lack of interest, time or motivation <strong>to</strong> continue. In this