1.3. Относно FreeBSD проекта

Тази секция предоставя информация за проекта включително малко история, цели на проекта и модел на разработка.

1.3.1. Кратка история на FreeBSD

Предоставено от Jordan Hubbard.

Проекта FreeBSD се заражда в началото на 1993, от части като наследник на ``Неофициален 386BSD коригиращ набор (patchkit)'' от последните му трима координатори: Nate Williams, Rod Grimes и аз.

Оригиналния ни замисъл беше да направим междинна версия от 386BSD, за да се оправят множеството му проблеми които коригиращият набор (patchkit) не беше способен да реши. Някои то вас вероятно си спомнят, че началното работно заглавие на проекта беше ``386BSD 0.5'' или ``386BSD Interim'' в потвърждение на това.

386BSD беше операционната система на Bill Jolitz, която до този момент беше оставена на произвола с почти повече от година небрежност. Тъй като набора ставаше все повече неудобен с всеки изминал ден, ние бяхме единодушни, че нещо трябва да се направи и решихме да помогнем на Bill като му предоставим тази междинна ``изчистваща'' версия. Тези планове бяха грубо посрещнати от Bill Jolitz и той внезапно реши да се оттегли от решението без ясно мнение какво да се прави вместо това.

Не ни отне много да решим, че целта ни си струва дори и без подкрепата на Bill и така ние приехме името ``FreeBSD'' измислено и предложено от David Greenman. Началните ни цели бяха дефинирани след консултация с потребителите и след като стана ясно, че проекта е на път да стане реалност аз се свързах с Walnut Creek CDROM с намерение да се подобрят дистрибуторските канали на FreeBSD за потребителите без лесен достъп до Интернет Walnut Creek CDROM не само, че подкрепиха идеята за дистрибутиране на FreeBSD върху CD, но дори предоставиха на проекта машина за работа и бърза Интернет връзка. Без помощта и вярата на Walnut Creek CDROM в това, което тогава беше напълно неизвестен проект, едва ли FreeBSD щеше да стигне толкова далеч, колкото е днес.

Първият CDROM (и основна мрежова) дистрибуция беше FreeBSD 1.0, издадено през Декември 1993. То беше базирано на 4.3BSD-Lite (``Net/2'') лента от U.C. Berkeley (Университета на Калифорния, Бъркли) с много компоненти предоставени от 386BSD и Free Software Foundation. Беше сравнителен успех за първа версия и ние продължихме с много успешната FreeBSD 1.1 издадена през Май 1994.

Някъде по това време някои неочаквани облаци помрачиха хоризонта след като Novell и U.C. Berkeley решиха доста дълго проточилото се дело за законовия статус на Berkeley Net/2 лентата. Условие по делото беше признанието, че големи части от Net/2 са ``забранен'' код собственост на Novell, които от своя страна са го придобили от AT&T малко преди това. Това което Бъркли получи в замяна беше ``благословията'' на Novell, че 4.4BSD-Lite изданието, когато бъде издадено ще бъде декларирано като освободено и всички съществуващи Net/2 ще бъдат насърчени да се прехвърлят. Това включваше FreeBSD и на проекта беше даден срок до края на Юли 1994 да прекрати издаването на собствена Net/2 базирана дистрибуция. Съгласно клаузите на това споразумение на проекта беше позволени едно последно издание преди крайният срок, това издание беше FreeBSD 1.1.5.1.

След всичко това FreeBSD трябваше буквално да пресъздаде себе си от напълно нов и по-скоро непълен набор на 4.4BSD-Lite. ``Lite (олекотено)'' издание беше такова отчасти защото Berkeley's CSRG бяха премахнали големи парчета код необходим за конструирането на начално зареждаща операционна система (поради различните законови изисквания) и факта, че Intel съвместимият порт на 4.4 беше доста недоработен. Отне ни до Ноември 1994 да направим този преход в който момент издадохме FreeBSD 2.0 по мрежата и на CDROM (в края на Декември). Като изключим факта, че това издание беше малко недооформено, то беше изключителен успех и беше последвано от по-изгладеното и лесно за инсталиране FreeBSD 2.0.5 издадено през Юни 1995.

Издадохме FreeBSD 2.1.5 през Август 1996, тъй като то изглеждаше да е доста популярно измежду доставчици на Интернет услуги и комерсиални общности, издадохме още една версия на 2.1-STABLE бранш. Това беше FreeBSD 2.1.7.1, издадено през Февруари 1997 и затварящо разработката на 2.1-STABLE. ОТ този момент само обслужване и коригиране на проблеми със сигурността ще бъдат добавяни върху този бранш (RELENG_2_1_0).

FreeBSD 2.2 беше отделено от бранша за разработки (``-CURRENT'') през Ноември 1996 като RELENG_2_2 бранш и първото пълно издание (2.2.1) беше пуснато през Април 1997. Други издания на 2.2 бранша бяха пуснати през лятото и есента на '97, последните от които (2.2.8) се появи през Ноември 1998. Първото официално 3.0 издание се появи през Октомври 1998 и отбеляза началото на края на 2.2 бранша.

Дървото се разклони още веднъж на 20 Януари, 1999, водещо до 4.0-CURRENT и 3.X-STABLE браншове. От 3.X-STABLE, 3.1 беше издадено на 15 Февруари 1999, 3.2 на 15-ти Май 1999, 3.3 на 16-ти Септември 1999, 3.4. на 20-ти Декември 1999 и 3.5 на 24 Юни 2000 което беше последвано няколко дни по-късно от 3.5.1 - минорно издание включващо фиксиране на няколко проблеми със сигурността в Kerberos от последната минута. Това ще бъде последното издание на 3.X бранша.

Имаше нов бранш от 13-ти Март, 2000, който представляваше отделянето на 4.X-STABLE, сега считан за ``current -stable (текущ - стабилен) бранш''. Има няколко издания от него до момента: 4.0-RELEASE беше представен през Март 2000 и най-последното издание 4.9-RELEASE излезе през October 2003. Ще има и няколко допълнителни издания от 4.X-stable (RELENG_4) бранш през 2003.

Дълго очаквания 5.0-RELEASE беше обявен на 19-ти Януари 2003 Представящ кулминацията от близо три години работа, това издание стартира FreeBSD на пътя на напредничавите поддръжка на множество процесори и нишкова многозадачност (thread) и въведе поддръжката за UltraSPARC® и ia64 платформи. Това издание беше последвано от 5.1 през Юни 2003. Заедно с многото нови неща 5.X изданието съдържа множество разработки в системната архитектура. Заедно с тези нововъдения за съжаление се въвежда и голямо количество нов и не много-широко-тестван код. Поради тази причина 5.X изданието се счита за ``Нова технология'' издание, докато 4.X серията се счита за ``Продукционно'' качество. С времето 5.X ще бъде обявен за стабилен и работата ще продължи със следващия бранш, 6.0-CURRENT.

За сега дългосрочните разработки ще продължат да се внедряват в 5.X-CURRENT (trunk) бранш, и SNAPshot издания на 5.X на CDROM (и разбира се достъпни по мрежата) и ще бъдат достъпи от from моментния (snapshot) сървър като работа в прогрес.

1.3.2. Цели на FreeBSD проекта

Предоставено от Jordan Hubbard.

Целите на FreeBSD проекта са да доставя софтуер който може да бъде използван за всички цели без обвързващи ограничения. Много от нас са инвестирали значително в кода (и проекта) и със сигурност не бихме възразили на малка финансова компенсация от време на време, но със сигурност не настояваме за това. Ние вярваме, че нашата първа и с предимство ``мисия'' е да предоставяме кода на всички и за каквато и да е причина, така че кода да има възможно най-широко използване и да служи максимално полезно. Това е, аз вярвам, една от най-фундаменталните цели на Свободния софтуер и която ние поддържаме с ентусиазъм.

Части от нашия код, които са под GNU General Public License (GPL) или Library General Public License (LGPL) са с малко повече ограничения. Поради допълнителните усложнения, които се получават при комерсиалното използване на GPL софтуер, ние предпочитаме, все пак, софтуера да бъде издаден под значително по освободения BSD copyright, когато разбира се това е допустимо.

1.3.3. FreeBSD модел на разработка

Предоставено от Satoshi Asami.

Разработката на FreeBSD е много отворен и гъвкав процес, буквално градящ се на помощта на хиляди хора от цял свят както може да се види от нашият списък на присъединените към проекта хора . Инфраструктурата за разработка на FreeBSD позволява на тези хиляди хора да работят използвайки Интернет. Ние постоянно търсим нови разработчици и идеи, и тези които се интересуват да станат съдействащи на проекта трябва просто да се свържат с нас в FreeBSD technical discussions mailing list. Списъка FreeBSD announcements mailing list също е достъпен за тези които искат да уведомят други FreeBSD потребители за областите в които се работи.

Полезни неща относно FreeBSD проекта и процеса на разработка самостоятелно или в екип:

CVS хранилище

Главното дърво съдържащо изходните кодове за FreeBSD се обслужва от CVS (Concurrent Versions System) свободно достъпна система за контрол на версиите на програмен изходен код, която идва заедно с FreeBSD. Основното CVS хранилище се намира на машина в Santa Clara CA, USA от където се размножава да множество копиращи (мирърс) машини из целия свят. CVS дървото, съдържащо -CURRENT и -STABLE дървета, може да бъде лесно копирано на вашия собствен компютър. Моля, консултирайте се с Синхронизиране на изходните кодове секция за повече информация как най-лесно можете да направите това.

Списък на хората обвързани с корекции на код (comitters)

Хората изпращащи код са тези които имат право да пишат в CVS хранилището и са оторизирани да правят модификации в дървото на FreeBSD (терминът ``комитер (committer)'' идва от cvs(1) commit командата използвана за изпращане на променения код в CVS хранилището) Най-добрият начин за изпращане на промени изискващи одобрение от останалите комитери е да си използва send-pr(1) командата. Ако се окаже, че не след известно време промените ви все още не са изпратени, можете да се свържете с тях като изпратите имейл на FreeBSD committer's mailing list.

Хора от FreeBSD ядрото

Хората от FreeBSD ядрото са еквивалентни на съвет на директорите ако FreeBSD проекта беше компания. Основната задача на хората от ядрото на FreeBSD е да се грижат проекта като цяло да е в добра форма и че се движи във вярната посока. Поканването на посветени и отговорни разработчици да се присъединят към нашата група от комитери е една от функциите на ядрото, както и наемането на нови членове на ядрото. Сегашният екип (ядро) беше избран с гласуване на комитери-кандидати през Юни 2002. Избори се правят всеки две години.

Някои членове на ядрото имат също така специфични области на отговорност, което значи, че те следят дали определени големи части от операционната система работят както би трябвало. За пълен списък на FreeBSD разработчици и техните области на отговорност, моля прочетете Списък на сътрудниците

Note: Повечето членове от ядрото са доброволци, що се отнася до FreeBSD разработка и не се облагодетелстват от проекта финансово, така че ``сътрудници'' на проекта не означава ``гарантирана поддръжка.'' Аналогията с ``Борд на директорите'' по-горе не е много акуратна и по-скоро може да се каже, че това са хората посветили живота си в услуга на FreeBSD!

Външни сътрудници

Накрая, но със сигурност не най-маловажни са най-голямата група разработчици - самите потребители, постоянно предоставящи обратна връзка, проблем рапорти и корекции. Основният начин да поддържате връзка с не централизирани разработки е да се абонирате за FreeBSD technical discussions mailing list където тези неща се дискутират. Вижте Appendix C за повече информация относно различните FreeBSD мейл листи.

Списъка със FreeBSD сътрудници е дълъг и нарастващ, така че защо не се присъедините като предоставите нещо за FreeBSD?

Предоставянето на изходен код не е единственият начин да помогнете на проекта; за по-пълен списък на неща които трябва да се свършат се обърнете към уеб сайт на проекта FreeBSD.

Накратко, нашият модел на разработка е организиран като набор от концентрични кръгове. Централизирания модел е избран за удобство на потребителите на FreeBSD, на които се предоставя лесен начин да следене на централна база изходен код, без да се държат потенциалните сътрудници далеч! Нашето желание е да се представи стабилна операционна система с голям набор от приложни програми, които потребителят да може лесно да инсталира и използва -- този модел работи доста добре за постигането на тази цел.

Всичко което искаме от тези, които се присъединяват към нас като FreeBSD разработчици е да са посветени колкото хората в проекта за да продължава да има успех проекта!

1.3.4. Текущото издание на FreeBSD

FreeBSD е свободно достъпна, пълни изходни кодове 4.4BSD-Lite базирани издание за Intel i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (или съвместими), Xeon™, DEC Alpha™ и Sun UltraSPARC базирани компютърни системи. То е базирано в основната си част на софтуер от U.C. Berkeley - CSRG група, с някои подобрения от NetBSD, OpenBSD, 386BSD и Фондация за Свободен Софтуер.

След изданието на FreeBSD 2.0 в края на 94-та, производителността, свойствата и стабилността на FreeBSD бяха подобрени значително. Най-голямата промяна е пренаписаната система за управление на виртуалната памет със смесен VM/file буферен кеш, което не само увеличи производителността, но намали използваната от FreeBSD памет, като конфигурация с 5 MB е допустим минимум. Други подобрения включват пълна поддръжка на NIS клиент и сървър, поддръжка за TCP транзакции, набиране-при-заявка PPP, вградена DHCP поддръжка, подобрена SCSI система, ISDN поддръжка, също така ATM, FDDI, гигабитови етернет (1000 Mbit) карти, подобрена поддръжка за последните контролери на Adaptec няколко хиляди оправени проблеми.

В допълнения към базовата дистрибуция, FreeBSD предлага софтуерна колекция с хиляди често използвани програми. По времето когато това се пишеше имаше над 10,000 порта! Списъка им се простира от http (WWW) сървъри до игри, езици, редактори и почти всичко между тях. Цялата порт колекция изисква около 300 MB, всички портове се представят като ``разликите'' с оригиналните им изходни кодове. Това прави опресняването на портовете много по-лесно и силно намалява дисковото пространство използвано от по-старата версия 1.0 на порт колекцията. За да компилирате порт просто влезте в директорията на програмата, която искате да инсталирате и напишете make install и оставете останалото на системата. Оригиналната дистрибуция на всеки порт се изтегля динамично от CDROM-a или от локален FTP сървър, така че имате нужда само от дисково пространство да компилирате порта. Почти всеки порт се предоставя със предварително компилиран ``package'', който може да бъде инсталиран с проста команда (pkg_add) за тези които не желаят да компилират програмите от източните им кодове. Повече информация за пакетите и портовете можете да намерите в Chapter 4.

Допълнителни документи, които може да намерите за полезни за процеса на инсталиране и използване на FreeBSD се намират в /usr/share/doc на всяка сравнително нова FreeBSD машина. Можете да преглеждате локално инсталираните ръководства със всеки HTML браузър използвайки следните адреси:

FreeBSD Наръчник

/usr/share/doc/handbook/index.html

FreeBSD FAQ (Често Задавани Въпроси)

/usr/share/doc/faq/index.html

Оригинала и често опресняваното копие можете да намерите в http://www.FreeBSD.org/.

Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

За въпроси относно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси относно този документ, e-mail <doc@FreeBSD.org>.