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

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

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

Saved successfully!

Ooh no, something went wrong!