Фрагментация и синдром NIH
Давайте начнем с выдержек из недавнего интервью
журнала Linux Focus с Деннисом М. Ритчи (Dennis M. Ritchie):
"LF: Я не могу избежать сравнения между вами и теми людьми, которые в настоящий момент работают над бесприбыльными проектами бесплатно, лишь потому, они им нравятся, хоть я уверен, что они не отказались бы и от денег. Могли бы вы представить себя в проекте, подобном Linux, или в чем-то вроде того, если бы вы не работали в Bell Labs? Как вы смотрите на всех этих людей изнутри передовой исследовательской лаборатории, с многолетним опытом за плечами? Поскольку наш журнал
в основном предназначен для пользователей Linux, мы не можем позабыть спросить вас о Linux. Прежде всего, каково ваше мнение о том резком росте популярности, который сейчас получила эта система, и о решении многих компаний начать разработку программ для нее (в Bell Labs, например, Inferno переносится под Linux)?
Деннис: Позвольте мне ответить на оба вопроса сразу. Я полагаю феномен Linux заслуживающим интереса, поскольку в его основе лежит Unix. Linux кажется одним из самых жизнеспособных прямых потомков Unix, хотя также существуют различные BSD-системы наряду с официальными версиями Unix, разрабатываемыми производителями рабочих станций и мэйнфреймов. Конечно, я не могу удержаться от констатации того факта, что мир наследников Unix со "свободными исходными текстами", по-видимому, страдает от тех же проблем множественности версий и расколов (strife), которые имели и еще имеет место среди разработчиков коммерческих версий Unix."
И это наблюдение, что мир наследников Unix со "свободными исходными текстами", по-видимому, страдает от тех же проблем множественности версий и расколов, которые имели и еще имеет место среди разработчиков коммерческих версий Unix", является симптомом фундаментальной проблемы - "трагедии общего пастбища". Мы уже имеем дюжину слегка несовместимых дистрибутивов Linux, с Debian и Red Hat, как двумя ведущими игроками, обладающими мощной пользовательской базой, и несколькими игроками второго уровня (Suse, Caldera, Mandrake, Slackware, и т.д.).
Я хотел бы также сказать, что в известном смысле Linux страдает от "раздвоения личности". Это значит, что приложение, предназначенное для Red Hat Linux, может не запуститься под Caldera вследствие, например, использования отличающейся версии библиотек.
Как сказал Джордан Хаббард: "... это совершенно естественное человеческое желание - создавать кланы и гордо носить их символы в праздник Robert the Bruce Day, или вроде того; разнообразие и состязательность являются хорошими вещами, которые поощряют нововведения и вдохновляют людей на большие достижения. В то же время, когда к этой смеси добавить Безудержный Эгоизм, быстро возникает хаос, поскольку каждый клан решает, что он и есть тот самый единственно правильный Клан, и только его члены могут стоять в очереди за наградами за лучшие знамена и самый оригинальный спорран (кожаная сумка, часть национального шотландского костюма,-прим. перев.) . Естественно, что вскоре враждующие кланы принимаются метать друг в друга горящие стрелы ("flaming arrows" напоминает "flame mail" - перепалку по почте - прим. автора) и совершать набеги на враждебный лагерь, затрудняя существование всем окружающим, тем, кто хочет просто "жить дружно" или хотя бы просто жить."
Проблема NIH (NIH problem, "Not Invented Here"-"Не Реализовано Здесь",-прим. перев.) связана с этим феноменом. Все в мире программного обеспечения искусственно (напоминает математическую теорию - прим. автора). Как и в академической среде, по достижении определенного уровня зрелости теории проблемы с добавлением новых возможностей, либо некоторых модификаций, либо лицензионных ограничений внезапно становятся идеологическими. Это означает, что в рамках группы образуется "либеральная", "угнетенная" (подгруппа, которой не дают внести интересующие ее изменения) и "ортодоксальная"(господствующая) подгруппы. Если одна из этих подгрупп успешна, то с течением времени она неминуемо станет "ортодоксально-господствующей", после чего неизбежно со временем произойдет новый раскол.
Очевидно, что Linux желает отличаться от FreeBSD, и FreeBSD нуждается в том, чтобы не быть похожим на Linux. Эти два лагеря сражались за одну и ту же экологическую нишу, за персональный престиж. Будучи менее PC-дружественным, чем Linux, и вследствие правовых конфликтов с AT&T, в какой-то момент движение FreeBSD потеряло время и скорость и позднее также пострадало от дополнительной конкуренции со стороны OpenBSD. (После того, как последняя появилась в роли жизнеспособного конкурента на платформе Intel в результате внутреннего раскола NetBSD/OpenBSD.) Как следствие, сегодня Linux выглядит королем PC-платформы, поглощающим львиную долю доступного пула разработчиков.
Но это не значит, что проблема не может всплыть снова в какой-то подходящий момент. Например, если значительная часть разработчиков ядра почувствует, что руководство со стороны Линуса неудовлетворительно и вредит будущему Red Hat, Linux может разделиться на "ортодоксальный" Linux и, скажем, Redux. Было бы интересно увидеть, расколются ли разработчики ядра Linux, если, к примеру, Алан Кокс преисполнится убеждением, что Линус Торвальдс слабо или неправильно руководит проектом. Смена имени может быть необходимой, поскольку последний владеет торговой маркой Linux.
Фактически, главная "религиозная война" ведется сегодня за относительное первенство между KDE и GNOME. Само по себе это не удивительно. Подобно научным сообществам, движение за свободное ПО постоянно приводится в движение фракционными дискуссиями как на идеологические, так и технологические темы. В большинстве своем они непонятны посторонним. Но конфликт KDE versus GNOME помогает проиллюстрировать как неотъемлемую силу Linux-сообщества, так и его потенциальную ахиллесову пяту. Конфликт имеет идеологический характер, поскольку KDE построена на базе программного продукта, не подчиняющегося лицензии GPL, она не полностью "свободна" в глазах пуристов Linux.
// А что они хотели, используя Qt? Нельзя быть "частично свободной"
// системой, это вроде "слегка беременна". Можно согласиться, что
// компромисс может способствовать продвижению системы, но отнюдь не
// ее развитию пользователями: лично я из принципа не напишу ни строчки
// под Qt (разве что под заказ - тогда правовые проблемы лягут
// на заказчика, которого я честно заранее о них предупрежу) и многие
// сделают то же самое - зачем нам библиотека, в которой
// нельзя ковыряться?
//
// Впрочем, все сказанное выше, относится к прежним версиям Qt, которые
// имели другую лицензию. Текущая же версия Qt, подчиняющаяся
// QPL, существенно ближе к идеологии GPL (на мой взгляд). Тем не менее,
// поезд, как говорится, ушел.
Хотя на сегодня KDE является наиболее полным дружественным к пользователю Linux-десктопом, главный дистрибьютор Linux, Red Hat, вкладывает программистские ресурсы и деньги в GNOME. Как пишет
Эндрю Леонард (Andrew Leonard):
"Мы огорчены фактом, что был начат проект GNOME,- говорит Бернд Йоханнес Веббен (Bernd Johannes Wuebben), разработчик KDE.- Мы чувствуем, что сообщество свободных программ нуждается в единстве и общей цели, а не в соревнующихся стандартах и в постоянной враждебности, которую члены проекта GNOME и более радикальные элементы движения GNU [за свободное ПО] направляют против KDE ... Мы, разработчики KDE, верим в свободное ПО, но мы считаем, что радикальные взгляды ... утопичны и, в конечном счете, существенно вредят сообществу разработчиков свободных программ. В нашем видении оба направления имеют свою нишу: и свободная, и коммерческая разработка программ."
// Не нужно путать коммерческое (commercial) с собственническим
// (proprietary). Еще хуже, если они понимают разницу, но разводят
// демагогию. Жаловаться на ГНОМ, который перебегает им дорогу,
// вообще, по-моему, не стоит. Вирт однажды писал, что весьма
// печально, когда первая появившаяся в данной области система
// становится стандартом де-факто, уничтожая все другие более
// поздние идеи. Почему именно КДЕ нужно считать эталоном?
// Лично мне она не нравится. (Не внешне, а обилием ненужных
// файлов и засорением home-каталога).
// Уступает тот, кто умнее ... Будьте достаточно умными,
// чтобы признать свои ошибки. Digital свернула разработки
// Ultrix в пользу OSF/1, причем не потому, что та лучше,
// а потому, что ее приняли как стандарт, и это повод
// уважать DEC.
Ларри Августин (Larry Augustin) верит, что GNOME в перспективе является лучшим графическим интерфейсом для десктопов по чисто технологическим причинам. Но при этом он сожалеет, что Red Hat, рыночный лидер, не будет продавать самый передовой пользовательский интерфейс под Linux, этим замедляя дальнейшее ее проникновение на рынок. Боб Янг (Bob Young) из Red Hat аргументирует это тем, что Red Hat лидирует на рынке потому, что "техническое сообщество нам доверяет", и это доверие зависит от выбора компанией адекватных технологий. Он также высказал предположение, что следующая версия Red Hat может включать KDE как дополнительный пакет, не входящий в базовый дистрибутив.
Люди, не использующие Linux, могут смотреть на весь этот спектакль с некоторым недоумением. Громадное преимущество Microsoft в том, что она предлагает разработчикам ПО единый стандарт, которого нужно придерживаться при программировании, а пользователям гарантирует программную совместимость. С другой стороны Linux имеет, по крайней мере, пять основных дистрибутивов; в дополнение к Red Hat и Caldera, существуют также S.u.S.E. (Германия), Slackware и Debian (полностью некоммерческая версия). Каждый дистрибутив отличается от других, имеет собственную процедуру инсталляции и требует различных подходов к установке новых программ.
// Как Debian может быть "некоммерческой", если продается за деньги,
// причем не по себестоимости? Имеется в виду отсутствие
//"собственнических" пакетов?
// Так это "свободная", не "некоммерческая".
Корпоративную Америку, не говоря об индивидуальных пользователях, смущает это разнообразие с его потенциалом создавать недоразумения.Но в то же время оно является и главным источником силы Linux. "Это великолепие анархии. Это великолепие свободы,- говорит Боб Янг из Red Hat.- Дистрибутивы, которые не ведут серьезной работы по совершенствованию системы и поддержанию передового технического уровня ... не выживут в долгосрочной перспективе."
"Преимущество в том, что у вас шире выбор и больше конкуренции,- говорит Августин.- Поставщики дистрибутивов борются за их улучшение, и это состязание существенно помогает, оно действительно движет ними. В дистрибутиве очень мало собственнических работ. Каждый может очень легко создать свою версию на базе, скажем, Red Hat, поэтому производители дистрибутива должны постоянно его улучшать, чтобы не потерять пользователей. Если они не сделают этого, пользователи убегут на новый, технически более совершенный, дистрибутив.""