Свободные программы и системы в школе

ОглавлениеДобавить в закладки К обложке

Первый из них заключается в том, что «“Линукс” – для клиентов, “БСД” – для серверов». Это неправда не только в части «Линукс»-систем, «прекрасно чувствующих себя» на серверах, но и в отношении «БСД», совершенно нормально приспособленной для «настольного» применения (по крайней мере, в ипостаси FreeBSD).

Второй сводится к тому, что «“Линукс” под GPL, “БСД” под “БСД”-лицензией». На самом деле, как «БСД»-, так и «ГНУ/Линукс»-дистрибутивы включают в себя множество пакетов под различными свободными лицензиями. При этом в прикладной части состав пакетов практически одинаков, да и в системной и инструментальной пересекается более чем наполовину.

Кроме этих сказок, существует масса поводов для препирательств между «фанами» этих двух концептуальных направлений свободного ПО, в каковых препирательствах мы никому не рекомендуем принимать участия. Рыночная конъюнктура сегодня такова, что в «Линукс» вкладывается больше средств, она шире используется, специфические навыки работы с ней более распространены, литература доступнее.

Реальное основное различие (помимо технических тонкостей) заключается в том, что «БСД»-сообщества более склонны к централизации, а «ГНУ/Линукс» – к диверсификации. Свободные системы «БСД» на сегодня существуют в четырех вариантах: FreeBSD, NetBSD, OpenBSD и Darwin7. Число известных дистрибутивов «ГНУ/Линукс» превышает сотню8.

Большая часть нижеприведенной информации для перспективных пользователей «БСД» не нужна.

Дистрибутивы. «Дистрибуция» означает «распространение» или «распределение». В товарной экономике «дистрибутор» – фирма, занятая передачей продукции от производителя розничной торговле, которая может играть сколь угодно активную роль в маркетинге, но на товар прямого влияния не оказывает.

В программном обеспечении «разработчик дистрибутива» – важное активное звено в процессах разработки, использования и применения программ. Его роль не менее важна, чем роль разработчиков отдельных программ.

Сила свободного ПО не только в том, что любая программа может свободно использоваться как таковая (включая ее модификацию и распространение) (система на основе «Линукс» может быть собрана полностью «вручную»9, что весьма рекомендуется в курсе подготовки продвинутых администраторов и системных программистов (а также всем серьезно интересующимся тем, как системы устроены изнутри), но совершенно излишня для всех остальных), но и в том, что идеология «интеллектуальной собственности» исключена как помеха на пути объединения программ в системы.

Таким образом, конечный пользователь может получать все (или почти все) необходимые ему программы – не только составляющие операционную систему или среду, но и прикладные – из одних рук, готовыми к совместному применению, если найдется разработчик дистрибутива с близкими целями.

Первые дистрибутивы ОС на основе ядра «Линукс» («SLS» и «Slackware»; последний выпускается и сегодня, хотя больше популярен среди профессиональных администраторов, чем среди других категорий пользователей) появились десять лет назад, когда это ядро стало стабилизироваться и находить своих пользователей вне академического сообщества и сообщества системных программистов. К настоящему времени существует более сотни дистрибутивов, получивших более или менее широкую известность, и сама множественность дистрибутивов стала важной чертой и отличительным признаком ОС на ядре «Линукс».

Не стоит надеяться, что появится один «самый правильный» дистрибутив; скорее, уменьшение конкуренции в разработке дистрибутивов знаменовало бы собой кризис развития этих систем.

Когда-то бытовало чрезмерно упрощенное представление о цикле программного обеспечения, так называемая «каскадная модель». Позже стало понятно, что, коль скоро речь идет о сложных программах, а тем более о системах программ, «каскадная» идеализация неадекватна, и реальный процесс гораздо лучше описывается в терминах «спирали»; с этим связан и известный афоризм (кажется, восходящий еще к пятидесятым годам): «У разработки больших систем не бывает завершения, бывают только релизы».

Функция разработчика дистрибутива заключается не в том, чтобы просто «собрать программы в кучу», красиво упаковать и продать, а, скорее, в том, чтобы обеспечить эффективную коммуникацию между, с одной стороны, авторами программ (и прочих произведений, входящих в дистрибутивы) и, с другой, конечными пользователями, а также самих конечных пользователей. Упрощенно структуру дистрибутива можно представить как коллектив мэйнтейнеров – лиц, отвечающих за поддержание пакетов (единиц в системе) в хранилище в актуальном состоянии и системной целостности в соответствии с некоторой концепцией в интересах сообщества пользователей. На границе команды разработки и пользовательского сообщества разворачиваются сервисы, которые могут служить ресурсной подпиткой разработки дистрибутива.


Логин
Пароль
Запомнить меня