Introduction to Free Software - SELF | Sharing Knowledge about ...
Introduction to Free Software - SELF | Sharing Knowledge about ...
Introduction to Free Software - SELF | Sharing Knowledge about ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
© FUOC • P07/M2101/02709 116 <strong>Free</strong> <strong>Software</strong><br />
8.5.1. CVS<br />
CVS (Concurrent Version System) is an optimistic source management system<br />
designed <strong>to</strong>wards the end of the eighties and used by the vast majority of<br />
free projects (Concurrent Version System [20], Open source code development<br />
with CVS, 2 nd edition) [113], "The Internet standards process", 3 rd revision[95]).<br />
It uses a central reposi<strong>to</strong>ry accessed through a client/server system. The site<br />
administra<strong>to</strong>r decides who has access <strong>to</strong> the reposi<strong>to</strong>ry, or <strong>to</strong> which parts of the<br />
reposi<strong>to</strong>ry, although normally, once a developer has been admitted within the<br />
circle of trust, he will have acess <strong>to</strong> all files. Anonymous access, in read-only<br />
mode, may also be allowed for anyone.<br />
The anonymous collabora<strong>to</strong>r<br />
The anonymous CVS is a vital <strong>to</strong>ol for fulfilling the "release early and often"<br />
concept advocated by Eric Raymond. Any user anxious <strong>to</strong> try the latest version<br />
of a program can extract it from the CVS, discover bugs and communicate<br />
them, even in the form of patches with the correction. And can examine the<br />
full his<strong>to</strong>ry of the development.<br />
Let's look at a bit of the mechanics. An advanced user wishes <strong>to</strong> obtain the<br />
latest version of the module mod from an anonymously accessible reposi<strong>to</strong>ry<br />
in progs.org, direc<strong>to</strong>ry /var/lib/cvs and pro<strong>to</strong>col pserver. The first<br />
time he will declare his intention <strong>to</strong> enter:<br />
cvs -d:pserver:anonymous@progs.org:/var/lib/cvs login<br />
If a password is requested, it will be anonymous user (usually the carriage<br />
return), which will be registered in a local file (this operation is not really<br />
necessary for anonymous access, but the program will complain if the file with<br />
the password does not exist). Next, the important thing is obtain the first copy<br />
of the module:<br />
cvs -d:pserver:anonymous@progs.org:/var/lib/cvs co mod<br />
This will create a direc<strong>to</strong>ry mod with all of the module's files and direc<strong>to</strong>ries<br />
and some metadata (contents in subdirec<strong>to</strong>ries called CVS), which will allow,<br />
among other things, not having <strong>to</strong> repeat the information already provided.<br />
Our advanced user will enter the created direc<strong>to</strong>ry, generate the package and<br />
test:<br />
cd mod ./configure make make install ...<br />
When he wishes <strong>to</strong> obtain a new version, he will simply update his copy wit-<br />
hin mod.