Исходные тексты обычно распространяются в архивах, упакованных популярными архиваторами типа pkzip, gzip, bzip, реже — в виде CVS-дерева. А это что еще за хрень? Это, братья мои, — одна из самых популярных систем управления версиями (Concurrent Version System), позволяющая нескольким программистам работать над одним проектом. Система не только отслеживает изменения, синхронизуя файлы всех участников, но еще и разграничивает привилегии — кто и куда может писать. Чем болееьше команда, тем чаще разборки типа "какая сволочь трогала мой файл и весь вытрогала?". Посторонние лица (анонимные пользователи, не участвующие в проекте) могут только читать.
Чтобы работать с CVS-деревом необходимо установить CVS-клиента (в большинстве UNIX-дистрибутивов он уже установлен), подрубившись заголнившись в к системе под anonymous'ом. В общем случае это делается так: "$cvs -d:pserver:anonymous@server:patch login".
На всякий случай ниже приведен конкретный пример, скачивающий CVS-дерево эмулятора BOCHS:
$ cvs -d:pserver:anonymous@cvs.bochs.sourceforge.net:/cvsroot/bochs login
(Logging in to anonymous@cvs.bochs.sourceforge.net)
CVS password: (there is no password, just press Enter)
user$ cvs -z3 -d:pserver:anonymous@cvs.bochs.sf.net:/cvsroot/bochs checkout bochs
cvs server: Updating bochs
U bochs/.bochsrc
U bochs/.conf.AIX.4.3.1
U bochs/.conf.beos-x86-R4
U bochs/.conf.macos
.
. (This might take a few minutes, depending on your network connection.)
.
U bochs/patches/patch.seg-limit-real