Компоненты Distributions в подавляющем своем большинстве оригинальные разработки проекта FreeBSD и его исторических предшественников. Говоря о классических утилитах Unix, я не случайно употребил термин «аналоги» это, как правило, функционально расширенное их воспроизведение (достаточно посмотреть на утилиту more, которая по своим функциям гораздо более походит на Linux’овый less, нежели на свою тезку из систем-потомков System V). Самобытность компонентов Distributions подчеркивается лицензией, под которой они распространяются, и которая носит имя BSD-лицензии. В отличие от широко известной лицензии GPL, она не возбраняет распространение основанных на ней разработок без исходных текстов (здесь не место обсуждать вопрос о том, какая из этих лицензий более соответствует идеалам свободы и демократии). Справедливости ради нужно заметить, что в состав FreeBSD Distributions исторически входит некоторое количество компонентов, заимствованных из разработок проекта GNU и, соответственно, подпадающих под лицензию GPL (наиболее показательный пример компилятор gcc: это тот же самый компилятор, который входит в состав любого дистрибутива Linux). Однако существует устойчивая тенденция по замене GNU-программ оригинальными разработками FreeBSD (правда, именно до gcc, похоже, дело дойдет не скоро).
Еще одна отличительная особенность компонентов FreeBSD Distributions система их документации. Все они сопровождаются полным описанием в классическом для POSIX-систем формате man-страниц. В программах GNU в последнее время можно заметить тенденцию подмены manual pages на документацию в формате info (ИМХО, самая GNU’тая из всех GNU-разработок). Однако даже GNU-программы, включенные в Distributions, содержат подробнейшие man-страницы для примера сравните man (1) gcc из современных версий FreeBSD с оригинальным GNU man-pages для этого же пакета. Компоненты Distributions при инсталляции системы разворачиваются из бинарных тарбаллов. Однако предусмотрен механизм их автоматической тотальной пересборки с учетом пользовательских настроек make world. Ну и, разумеется, перекомпиляция ядра системы (в текущих версиях операция make buildkernel) неотъемлемый атрибут индивидуального конфигурирования FreeBSD. Порты FreeBSD концепция, воздействие которой на мир Open Sources трудно переоценить, и потому заслуживает особого рассмотрения. В текущем же контексте достаточно сказать, что это система автоматического получения исходников (по Сети, с мастер-сайтов разработчиков), отслеживания их зависимостей, адаптации (то есть наложения FreeBSD-специфичных патчей), сборки (компиляции и линковки с разделяемыми библиотеками) и установки (то есть инкорпорации в файловую систему FreeBSD) практически любых программ, свободно распространяемых и доступных в исходных текстах.
Она предусматривает также генерацию бинарных пакетов, пригодных для автономного (с учетом зависимостей) распространения именно в таком виде портированные программы входят в состав полного дистрибутива FreeBSD. Важно подчеркнуть, что если сама по себе система портов неотъемлемая часть FreeBSD Distributions, то порт любой программы из ее состава не содержит ни исходных текстов, ни исполнимых модулей: исходники любой портированной программы абсолютно те же самые, на которых основаны пакеты любого Linux-дистрибутива, а бинарники генерируются автоматически из системы портов. И потому во FreeBSD в принципе доступно все то же многообразие открытых и свободных программ, что и в Linux. Обособленность портированных программ от FreeBSD Distributions подчеркивается отличием лицензионных соглашений: все портированные программы распространяются под теми лицензиями, которые определены для них авторами (GPL для программ из проекта GNU и соплеменных, лицензия X-консорциума для оконной системы X, и так далее). Сам по себе FreeBSD Distributions весьма мощный программный комплекс, пригодный для решения многих пользовательских задач. Разумеется, в его составе низкоуровневые системные утилиты, утилиты для управления файловыми системами, процессами, получения информации и т.д.
Однако в Distributions можно найти множество пользовательских утилит средства работы с файлами, включая столь универсальное, как find, весьма сложные программы обработки текстов от экранного редактора ee и строчных редакторов ed и sed до awk, средства поиска текстовых фрагментов grep, а также инструменты форматирования текстов (семейство groff). Имеется ftp-клиент, почтовая система sendmail, базовые средства работы с сетями (в том числе и для модемного соединения). Наконец, средств Distributions вполне достаточно для наращивания функциональности системы путем сборки программ. Для этого в нем предназначены компилятор gcc и полный комплекс утилит поддержки, начиная с языковых анализаторов и кончая универсальной make. Тем не менее, для комфортной работы (не говоря уже о развлечениях) средств Distributions явно недостаточно. И тут на помощь приходит система портов FreeBSD в виде ли средства получения и сборки исходников, или как метод генерации бинарных пакетов. Установка программ из системы портов или в виде прекомпилированных пакетов во FreeBSD чрезвычайно проста настолько, что прямо-таки провоцирует пользователя устанавливать и устанавливать программы. А поскольку она еще включает и развитые средства для «чистого» удаления всего того, что оказалось ненужным, развлечения эти проходят практически безболезненно.