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

complementary points of view, at times does not allow us <strong>to</strong> obtain a broader<br />

vision of the project. In the Libre <strong>Software</strong> Engineering Web Site [86] we can<br />

follow these initiatives in more detail.<br />

7.7. Future work<br />

Having described the brief but intense his<strong>to</strong>ry of software engineering as ap-<br />

plied <strong>to</strong> free software, we can say that it is still taking its first steps. Many im-<br />

portant aspects are still pending analysis and detailed examination until we<br />

can find a model that at least partly explains how free software is generated.<br />

The issues that will need <strong>to</strong> be tackled in the near future include the classifica-<br />

tion of free software projects, the creation of a methodology based inasmuch<br />

as possible on au<strong>to</strong>mated analysis and the use of acquired knowledge <strong>to</strong> build<br />

models that help us <strong>to</strong> understand how free software develops at the same<br />

time as facilitating decision-making on the basis of acquired experience.<br />

Another aspect that should not be overlooked and that is starting <strong>to</strong> be con-<br />

sidered now is the validity of classical engineering methods in the field of free<br />

software across all software engineering intensifications. Hence, for example,<br />

the laws of software evolution postulated by Lehman ("Metrics and laws of<br />

software evolution - the nineties view" [165]) at the beginning of the nineteen<br />

seventies and updated and expanded on in the eighties and nineties appear<br />

not <strong>to</strong> be fulfilled unconditionally in the development of some free software<br />

projects ("Understanding open source software evolution: applying, breaking<br />

and rethinking the laws of software evolution", 2003 [199]).<br />

Currently, one of the most serious deficiencies is the lack of a strict classifica-<br />

tion so that free software projects can be classed in<strong>to</strong> different categories. At<br />

present, the classification criteria are <strong>to</strong>o broad, and projects with very dispa-<br />

rate organisational, technical or other characteristics are all put in<strong>to</strong> the same<br />

bag. The argument that Linux, with an extensive community and large num-<br />

ber of developers, has a different nature and does not behave in the same way<br />

as a much more limited project in numbers of developers and users, is very<br />

true. In all events, a more detailed classification would make it possible <strong>to</strong><br />

reuse the experience acquired in other similar projects (in other words, with<br />

similar characteristics), making it easier <strong>to</strong> make forecasts, and making it pos-<br />

sible <strong>to</strong> foresee risks, etc.<br />

The second important aspect that free software engineering needs <strong>to</strong> tackle,<br />

closely connected <strong>to</strong> the preceding point and current trends, is the creation of<br />

a methodology and <strong>to</strong>ols <strong>to</strong> support it. A clear and concise methodology will<br />

make it possible <strong>to</strong> study all projects on an equal footing, discover their current<br />

status, learn how they have evolved, and of course, classify them. Tools are<br />

essential when it comes <strong>to</strong> dealing with this problem, since once created they<br />

make it possible <strong>to</strong> analyse thousands of projects with minimum additional<br />

effort. One of the objectives of free software engineering is <strong>to</strong> make it possible<br />

<strong>to</strong> study a project in depth on the basis of a limited set of parameters showing

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

Saved successfully!

Ooh no, something went wrong!