Алексей Федорчук - Священные войны мира FOSS
О сравнении производительности
Это ещё более сакральный вопрос. И ответить на него можно только в том случае, если ясно определиться, производительность чего именно сравнивается. В двух словах же я сказал бы так: на современных машинах, выполняющих набор обычных пользовательских приложений в окружении распространённых ныне графических сред, разница в производительности между Linux'ом и FreeBSD не фиксируется. Точка. Исключение — массовые файловые операции. Если до недавнего времени FreeBSD, за счёт особенностей работы с PATA-контроллерами и задумчивости своей файловой системы, однозначно (и местами весьма значительно) проигрывала Linux'у, то ныне распространение SATA-винтов выровняло ситуацию, а портирование ZFS сместило чашу весов в её пользу.
Разумеется, только на мощных машинах. Как-то, эксперимента ради, я поставил FreeBSD с ZFS на ноутбук с Sempron'ом (одним из первых), медленным, даже по ноутбучным меркам, винчестером и 512 Мбайт памяти. Зрелище было душераздирающее. Так что, пожалуй, для реанимации относительно старого «железа» лучше подойдёт какой-либо из «легких» дистрибутивов Linux. Хотя для «железа суперстарого», в силу особенностей обращения с памятью, FreeBSD опять окажется предпочтительной — правда, также в одной из старых своих ипостасей, например, 4-й ветки.
Так какой же вывод следует из всего сказанного? Да очень простой: выбор между FreeBSD и Linux не имеет никакого отношения к технологическим особенностям той или другой системы. А определяется исключительно идеологическими, эмоциональными или эстетическими соображениями. Которых вдоволь можно найти в форумных обсуждениях...
Ubuntu vs Fedora
Апрель, 2012
Эта серия заметок в наименьшей степени претендует на соответствие завету Тацита, поскольку была написана на злобу дня – и злоба эта продолжается по сей день. Или, напротив, день этой злобы ещё не кончился. Однако однако эмоции несколько отгорели, и итоговая статья, написанная уже непосредственно для этой книжки, надеюсь, будет более сдержанной (см. Большое Сравнение: Fedora, openSUSE, Ubuntu).
Вступление
Разговоры на тему, вынесенную в заголовок серии, активно ведутся уже не первый день. Вопрос, кто больше сделал для Linux'а, обсуждается не менее яро, чем два студиозуса в своё время спорили,
Кто доблестней, Кох или Вагнер? Пускай без бряцания шпор.
До недавнего времени мне не хотелось влезать в эту тему, и я ограничивался участием в вялотекущих перепалках на Юниксфоруме и в Джуйке. Однако в конце концов нервы мои не выдержали – и в результате вниманию читателей предлагается данное сочинение.
Завязкой сюжета послужила информация об отчёте Linux Foundation, посвящённая вопросу вклада в ядро Linux, сделанному различными фирмами, организациями и лицами в 2011 году. На русском языке она прозвучала, например, на OpenNet'е. Одновременно её интерпретацию озвучил Пётр Леменков в заметке «Кто разрабатывал ядро Linux в 2011 году?»
Пересказывать содержание отчёта и тем более его возможных (и/или сделанных) интерпретаций не буду. Чисто фактографически же это выглядит так: наибольший вклад в разработку ядра Linux (далее – LK), если не считать собирательного образа в лице Большого Бухарца Сообщества, внесли сотрудники Red Hat (которые по совместительству являются и основными разработчиками дистрибутива Fedora). Это – по количеству внесённых (и принятых) патчей. По числу же патчеодобрятелей Red Hat оставил позади даже всё сообщество, вместе взятое.
Отдельной строкой был отмечен вклад компании Microsoft, занявшей 17-е место по числу патчей. Правда, все они касаются только поддержки Linux как гостевой ОС в их собственной системе виртуализации Hyper-V. Да и объём кода невелик. Однако он разбивается на много патчей, что позволило компании войти в двадцатку сильнейших.
В сети же по следам этого отчёта «отдельно, с большим наслажденьем» комментировался вклад фирмы Canonical в развитие LK. Точнее, видимая незначительность этого вклада: в отличие от Microsoft, Canonical по числу не сподобилась причислению к «великолепной двадцатке». Дело дошло до обвинений в том, что в Ubuntu вообще не сочиняют код, а только передвигают кнопки справа налево и перекрашивают обои. Впрочем, такие мелкие «дружеские» подначки в адрес Ubuntu и Canonical последнее время стали любимым развлечением пользователей некоторых более иных дистрибутивов.
Разумеется, «ответ Чемберлену» ждать себя не замедлил. Марк Шаттлворт выступил с объяснениями, почему основанная им компания не участвует в разработке ядра. И ответ его можно свести к двум «апрельским» тезисам:
1. для Canonical приоритетным является развитие Ubuntu как цельной системы, направленной на благо пользователя, кем бы он ни был (домохозяйкой или админом огромной сети);
2. развитием LK и без неё занимается много сильных компаний и команд, так что Canonical вмешивается в это дело лишь постольку, поскольку оно требуется для развития собственного бузинеса.
И итоговый отчёт, и ответ Марка вызвали бурную полемику как Рунете, так и в мировом масштабе. За некоторыми обсуждениями я следил и даже по мере сил в них участвовал (пока не надоело). Они и составили этнографическое основание для настоящих заметок.
Важно заметить, что все эти обсуждения протекают на фоне других разговоров, касающихся новшеств, продвигаемых в дистрибутиве Fedora, что косвенно затрагивает также и Red Hat (то есть RHEL). И если острота дискуссий по поводу GNOME 3 или pulseaudio отошла в прошлое, то страсти вокруг systemd прямо так и кипят. Усугубляясь смежными темами, как то: слиянием проектов systend и udev, введением новой системы записи log'ов или предложением переноса в сферу компетенции systemd части функций интегрированных сред (KDE, GNOME, XFce).
Однако, помимо этого сиюминутного фона, есть и более широкая историческая ретроспектива сегодняшних дискуссий. И это – историческая составляющая моих заметок. Так что с истории я и начну.
Но сначала оговорю свою личную позицию. Ни к Fedora, ни к Ubuntu я не питаю ни гнева, ни пристрастия. На протяжении нескольких лет я был пользователем и того, и другого дистрибутива – то есть, если во временной последовательности, сначала другого, потом того. В настоящее же время (на момент сочинения заметок) не применяю ни один из них. Так что ни малейшей личной заинтересованности в них не испытываю, и потому попытаюсь вести обсуждение более или менее объективно – насколько это возможно при обсуждении дистрибутивов.
Ретроспектива
Не буду углубляться в седую древность и описывать события зари дистростроения – это делалось неоднократно, в том числе и вашим покорным слугой (а скоро станет темой отдельной книжки). Напомню лишь основные вехи первого десятилетия его истории.
Как известно, дистрибутив Red Hat не был первым дистрибутивом Linux. А одноимённая компания не была первой на поприще бизнеса FOSS related – похоже, что здесь первенство за S.u.S.E., двадцатилетие развития которой мы скоро будем праздновать. Не исключено, что были и другие фирмы, пытавшиеся заработать на распространении и поддержке дистрибутивов Linux и свободного софта вообще – но до наших дней они не дожили, и память о них затёрлась.
Но фирма Red Hat безусловно была
• первой FOSS-компанией на Американском континенте (повторяю, за исключением вымерших гипотетических участников), и
• первой успешной компанией, подвизавшейся на ниве свободного софта.
И, к слову сказать, пока она оказывается и последней: ни одной компании, основывающей свой бизнес на распространении и поддержке свободного софтае повторить успех Red Hat до сих пор не удалось. Даже упомянутой выше S.u.S.E., имевшей, казалось бы, фору почти в два года.
Почему? Рискну предположить, что одной из причин было как раз американское происхождение компании. И, как следствие, потенциальная возможность выхода на существенно более широкий рыночный простор, чем могла открыть перед S.u.S.E. Германия или даже вся Европа.
Правда, чтобы эта потенциальная возможность превратилась в возможность, так сказать, кинетическую, требовались предпосылки и технологические, и организационные. И они были реализованы. Первые – в виде дружественных к пользователю того времени систем инсталляции и управления пакетами, вторые – в виде налаженной службы технической поддержки пользователей.
Напомню, что основными пользователями Linux'а в то время были (если не считать его собственных разработчиков) администраторы корпоративных информационных систем, и в технической поддержке нуждались они же. Поэтому ориентация на корпоративный сектор надолго определила генеральную линию развития дистрибутива Red Hat, прерванную, как мы со временем увидим, лишь коротким зигзагом.