Состояние сообщества FreeBSD, 1999
От Джордана Хаббарда <[email protected]>, воскресенье, 10 января 1999 года.
Итак, друзья, позади остался еще один год и самое время отчитаться о положении дел в нашем союзе!
Кхм... Я никогда не был достаточно уверен, как нужно произносить такие речи, потому что на ум мне всегда приходит президент США, сидящий перед камином и пытающийся рассказать о росте сбора кукурузы просто и по-домашнему, или, может быть, Королева Англии в Рождество, зачитывающая свое обычное унылое и выражающее надежду обращение о том, как шли дела в Британии в прошлом году и что каждый должен ожидать в следующем. Конечно, я, по большому счету, не президент и не королева. так что буду краток и сконцентрируюсь на тех существенных результатах (и целях), которые ознаменовал для меня 1998 год.
1998 был, конечно, годом, в котором Internet стал больше (что не удивительно), различные "комминтернетвояжеры" (шутка) стали богаче, а количество пользователей FreeBSD, измеряемое статистикой сгрузки по ftp, выросло на свои обычные 200-300%. Также выросло число компаний, вышедших на арену FreeBSD, как предлагающих дополнения к системе, так и включающих в себя FreeBSD, а маховик нашей PR-машины, все такой же хрупкой и тихой, сделал еще один оборот. Все как обычно, это был очень хороший год для FreeBSD, и я не думаю, что даже самый большой параноик из нашей компании может сказать что-то против - кратко говоря, Microsoft получила свое, нас стало больше и мы стали немножко более известны, жизнь была хороша.
Ну, в большинстве своем именно так все и было. Сняв на секунду свои розовые очки, я могу также сказать, что на пути встречались ухабы и неожиданные повороты, которые не всегда позволяли сохранять управление. Хотя объем сгрузки вырос, нельзя сказать, что это отразилось на продажах компакт-дисков, так как рынок CD в целом уменьшился в связи с возросшими возможностями получать продукты через Internet, и это лишило CD некоторых их основных привлекательных черт. Мы достаточно хорошо выглядели на фоне постепенного уменьшения рынка, однако было бы глупо продолжать надеяться на распространение единственного продукта на компакт-диске для получения финансовой помощи, которая бы хорошенько смазывала шестеренки нашего проекта (в 1998 мы, например, увеличили более чем в два раза вычислительный кластер в сети FreeBSD.org и значительно усилили программу предоставления грантов на оборудование для наших разработчиков, всего, что стоит $$$). Достаточно очевидно, что компании Walnut Creek CDROM нужно увеличить количество предлагаемых продуктов, если она собирается оставаться весомым участником игры под названием FreeBSD, а мы должны, как проект, проявлять гибкость для установления всех типов сотрудничества с теми, кто может быть заинтересованными в успехе FreeBSD. Мы уже прошли точку, где могли сделать все, что нужно было для воплощения серьезных и перспективных идей, исключительно на голом желании и энтузиазме добровольцев.
Подумав над этим, мы создали сайты типа FreeBSD Mall для того, чтобы попытаться попробовать продвигать более широкий спектр продуктов, связанных с FreeBSD, и также мы начали устанавливать связи с различными компаниями, которые могут получить значительную выгоду от любой PR-кампании, которая усиливает репутацию FreeBSD (перевод: вы хотим, чтобы они помогли заплатить за это :). Все больше людей осознают, что, к сожалению, успех в этом бизнесе обеспечен на 10% совершенством технологий и на 90% неизвестными поведенческими факторами, которые определяют направление, в котором они движутся как безмозглые маленькие овечки, и, ненавидя их за это, вам все же нужно понимать тенденции и шаблоны в поведении людей, когда они имеют дело с чем-то, в чем они совершенно не разбираются. Мы сделали весьма большую работу в плане совершенствования технологий, это действительно так (и мы должны этим гордиться), но все же мы слишком часто пасуем перед такими проблемами, заставляя пользователей думать о том, что за ерунду они хотят. Плохие технари! Близорукие технари! :-)
Что же мы может сделать, чтобы изменить такое положение вещей в 1999? Ну, я также слышал наших защитников, взывающих о логистической поддержке ("Архивные копии! Нам нужны архивные копии!!"), и я прислушивался к ним, часть моих планов на новый год будет связано с распространением большего количества цифровых даемонов (которых я уже заказал), публикацией статей с различными сравнительными табличками ("FreeBSD и NT", "FreeBSD и Solaris", "FreeBSD и Linux", и тд.) и печатного материала для рекламного распространения. Мы можем также выпустить дополнительные маркетинговые штучки типа кнопок, наклеек, новых футболок и тд., чтобы дать людям более широкий набор вещей, которыми они могут гордиться, поддерживая "появляющийся феномен FreeBSD". Если мы сможем найти побольше денег на PR, вы также сможем, наверное, купить некоторые такие штуки оптом для раздачи в качестве сувениров в различных рекламных компаниях. Кроме того, я всегда готов выслушать ваши пожелания. Нам нужна более эффективная рекламная кампания, насколько это возможно, вопрос только в выборе цели для получения максимального эффекта при ограниченном бюджете.
Основная команда разработчиков:
1998 также закончился неким скандалом, связанным с управляемостью проекта FreeBSD, когда разочарование в основном бездействующей основной командой привело к тому, что несколько бородатых датских викингов отправились в полуночный рейд на -current, безжалостно вырубая плохой код и всякого рода ламерство из исходных текстов системы. К сожалению, некоторые части этого кода тогда все еще использовалось и без предварительного публичного объявления для различных пользователей -current все это не было похоже на свет рождественских праздников. Их жалобы привели, в итоге, к некоему конституционному кризису внутри основной команды, соперничающие группировки обвиняли друг друга либо в торможении прогресса либо в использовании ковбойской тактики для достижения этого прогресса, и каждая группировка имела как вполне законные аргументы, так и совершенно неподходящие. Исходя их этого, произошел обмен различными мнениями касательно того, как вместе мы можем создать "улучшенную основную команду", чтобы такие вещи просто не могли случиться (или, если они случается, это не будут нашей ошибкой, потому что нас здесь уже не будет :-). и относительно многих из предложенных лекарств было решено, достаточно правильно, что они хуже болезни. И какой урок мы извлекли из этого?
Во-первых, я думаю, все теперь понимают, что такие выходки не должны случаться в будущем, неважно, ради чего они затеваются. Всякий, кто задумывается о значительном добавлении или удалении каких-либо функций из исходного кода, ДОЛЖЕН предварительно хорошенько обсудить свои намерения с читателями списков рассылки -current, -stable или -announce (первые два в зависимости от ветки, в которой делаются изменения, а последний в зависимости от степени важности вносимых изменений), дав им достаточное время для ответа. Если предлагаемое изменение получает отрицательный отклик, оно не вносится, до тех пор, пока не возобладает обратная точка зрения или найдется абсолютно убедительный аргумент в его пользу. Если же реакция неопределенная или она практически отсутствует. разработчик волен поступать как ему заблагорассудится, но он или она никогда не должны забывать о подробном описании своих изменений.
Во-вторых, в ответ на различные предложения в будущем либо ликвидировать основную группу, либо выбирать ее голосованием, позвольте мне просто заявить, что этого не будет. В основной группе есть несколько людей, которые с радостью отступят и выйдут из нее, если только они будут уверены что им найдена адекватная замена и проект находится в хороших руках, но никому из нас не нравится ситуация, когда кого-либо насильно исключат из основной группы. Этот метод не подходит, когда есть много менее болезненных альтернатив. и я, например, предпочитаю вариант, когда основная группа просто увеличивается, и неактивным членам позволяется отпадать, когда они сами придут к заключению, что они не могут предложить ничего нового на "уровне основной группы", к тому же выход из основной группы для некоторых людей будет означать продолжение их работы в качестве коммиттеров и не запретит им выполнять другие полезные работы.
Мы являемся участниками бесплатного программного проекта, и пребывание в основной группе никому не оплачивается, независимо от того, как много усилий мы прилагаем, чтобы сделать что-то важное, и мы должны помнить, что все это начиналось как компания людей, которые просто хотели работать вместе для создание чего-нибудь полезного и интересного. День, когда мы утратим эту неформальную атмосферу сотрудничества, станет днем, когда костях основной группы утратит что-то весьма важное, а также станет днем, когда я разочаруюсь во всем этом, возьму свою шляпу и пожелаю всем большой удачи.
Я могу также высказать замечание, больше похожее на опасение, об идее выбора основной группы из наших пользователей или коммиттеров, которые рассматриваются как "школа электората", как бы хорошо и демократично она ни звучала. Основная группа разработчиков FreeBSD не являет собой демократически выбранное руководство, эта группа была на самом деле формировалась очень скрупулезно и весьма не демократическим способом. Мы собирали основную группу для того, чтобы она представляла пестрое сообщество трудяг евангелистов/разработчиков FreeBSD, которых мы знаем, как найти и мы продолжаем следовать этой методике.
Включая кого-либо в основную группу, мы не смотрим, не выигрывал ли этот человек приз зрительских симпатий недавно или не побеждал ли он в Олимпиадах по Программированию 3 раза подряд, но мы спрашиваем сами себя: "Привнесет ли этот человек оригинальный вклад или точку зрения в группу? Будет ли итог лучше, чем сумма ее частей?" Эти весьма взаимопересекающиеся вопросы являются, на самом деле, единственными, на которые мы опираемся для того, чтобы на потребовать ухода кого-либо из основной группы. Мы можем долго игнорировать человека, но не когда это касается способности основной группы работать вместе или искать консенсус между самыми противоположными мнениями, над чем мы так долго работали. Хорошо было бы иметь в качестве основной группу людей, принимающие решение, и мы делаем это (всеми способами), но иногда еще лучше просто знать, когда пора сойти и убедиться, что вагон все еще стоит на рельсах. Мы избежим случаев гораздо большей глупости, если будем иметь пеструю и тщательно отобранную основную группу, какая сейчас у нас имеется, и я не верю, что в результате демократического процесса после нескольких выборов будет достигнут тот же самый результат.
Основная группа также продолжает работать над созданием кое-каких документов для внутреннего использования, которые подробнейшим образом будут определять, какие права мы имеем как коммиттеры, будут описывать процесс удаления больших кусков кода и другие операции, и эти правила должны иметь больший приоритет, чем любые "привилегии члена основной группы". Мы разошлем эти материалы коммиттерам, как только будем окончательно удовлетворены их содержимым, но, в двух словах, в основном он требует, чтобы разработчики предупреждались перед такими изменениями и что хозяин определенной части кода должен сказать свое слово касательно того, настало ли время уничтожать этот код из-за ненужности или избыточности. Наконец, мы рассматриваем общие вопросы взаимодействия внутри и вне основной группы, а также вопрос необходимости на данный момент включения в основную группу новых членов. Это обсуждение все еще продолжается и я постараюсь держать всех в курсе происходящих изменений.
Нумерация релизов:
Другим изменением, которое скоро проявится, является возвращение к нашей первоначальной практике использования "старших" номеров версий для веток, а "младших" для релизов, поле номера издания будет использоваться только для отметки точка-релизов, которые делаются по причинам, достаточно значительным, чтобы выпустить отдельный релиз. Это означает, что следующим релизом будет 3.1, а не 3.0.1, и новой веткой будет являться 4.0-current, а не 3.1-current. Является ли это маркетинговым ходом? Вовсе нет, хотя маркетинговые причины часто приводили к неудачам при нашей существующей схеме нумерации.
Мы зачастую делали слишком большие изменения между нашими "точка-релизами", прыжки типа 2.2.5->2.2.6 и 2.2.6->2.2.7 были гораздо больше, чем большинство предполагало, имея в виду, что при этом менялся только лишь номер издания. Одно эта простое свойство человеческой натуры уменьшало эффективность этих релизов и обесценивало работу, сделанную нашими разработчиками в процессе постоянного усовершенствования каждого релиза, который мы выпускаем, независимо от того, в какой ветке он делается.
Эта политика меняться не будет, поэтому я чувствую себя достаточно уверенно, говоря, что 3.1 будет "полным релизом", замещающим 3.0, а не просто "3.0.1", как может показаться. Также очень важно отметить, что, так как наши ветки на данный момент теряются обычно в течение 12-18 месяцев, то не важно, что ранее мы пытались убить ветку, увеличение старшего номера версии (4.0) полностью предназначено исключительно для ветки, которая не обретет статус полного релиза до 2000 года. Это позволит людям, занимающимся маркетингом, чувствовать себя счастливыми, потому что им не придется разбираться с номерами и также это добавит счастья пользователям, потому что они получат более ясную картину того, что изменилось, скажем, в 3.2 по сравнению с 3.1 и в 3.1.1 по сравнению с 3.1 (а это может быть важным дополнением, касающимся безопасности системы). Это также осчастливит одного конкретного разработчика, потому что у меня снова будет пространство для нумерации и создания точка-релизов. Это явный плюс и мы это сделаем. 3.0.1 умерла, да здравствует 3.1! :)
Технологии:
В прошедшем году мы также наблюдали успешный переход на формат ELF с формата a.out и появление новой схемы работы загружаемых модулей ядра, которая позволяет использовать модули вне зависимости от /usr/bin/ld на этапе выполнения. Также мы получили новый загрузчик (с интерпретатором языка Форт!) для сборки "ядра" во время загрузки. Эти два мощных механизма, вместе с новыми возможностями, которые появятся в 1999, должны дать нам более динамично развивающуюся и расширяющуюся систему, чем мы имели ранее.
Нельзя не упомянуть также о новой подсистеме SCSI CAM, которая дает нам более надежную работу с большими дисковыми массивами и работает с большинством высокотехнологичных контроллеров SCSI, или поддержку многопроцессорных систем в архитектуре x86. Мы сделали большой шаг вперед, выпустив релиз 3.0, наконец достигнув такой точки в работе с архитектурой Alpha, когда разработчики стали больше заботиться о наборе приложений, чем работой ядра или построением /usr/src. Это представляет собой значительный прогресс вперед по направлению к "по-настоящему используемому" релизу, и я надеюсь, что в 1999 году выйдет полноценный релиз FreeBSD/axp для использования в качестве рабочего места (не говоря уж о серверах), различные трудности с технологией X Window позволяют считать рабочую машину Alpha значительной вехой развития, особенно если это машина ARC или AlphaBIOS. В 1999 году может также увидеть свет предварительный релиз для архитектуры SPARC, хотя сейчас еще слишком рано говорить что-то более определенное. Присоединяйтесь к нашему списку рассылки [email protected], если вы хотите быть в курсе работ по этому направлению.
Технологии IPv6 и IPSec были также широко обсуждаемыми темами в 1998 году, отказ от поддержки FreeBSD какой-то конкретной реализации многими был воспринят как сверхконсерватизм основной группы разработчиков. К счастью для всех, наша политика "ждать и смотреть" оправдала себя и на этот раз, когда две основных "конкурирующих" группы, KAME и INRIA, в конце концов решили объединить свои реализации. В итоге мы собираемся использовать объединенную реализацию и несколько человек из групп KAME/INRIA влились в команду разработчиков FreeBSD для включения и поддержки кода по мере его появления.
Также продвигается вперед работы над VM-подсистемой и кодом файловой системы, основной код которых тестировался достаточно хорошо либо в маленьких группах (Dillon/Dyson/Greenman), либо ожидает появления ветки 4.0, пока только запланированного на 15 января 1999. Что касается других разработок, то у нас припасено так давно и с нетерпением ожидаемое изменение дизайна драйвера консоли, которое выполнил Kazu и которое включено в -current вместе с поддержкой USB благодаря Нику Химбе (Nick Hibma) и другим. Я назвал всего лишь несколько продвигающихся проектов и я не хочу кого-то принижать, не отмечая здесь по имени, это только 3 активно развивающихся проекта, пришедших мне в голову сейчас. Похоже, мы достигаем технического совершенства, и это великолепно, пока мы можем хранить выдержку в то время, когда не все в полном согласии относительно выбора направления технического развития.
Техническая поддержка:
Вопрос, который также должен быть очевидным для каждого, но который к тому же требует, чтобы его регулярно затрагивали, заключается в том, что нам нужно воспринимать участие в этом проекте как некое занятие, приятное для разработчика/участника, иначе они быстро уйдут и перестанут приносить пользу всем и каждому от своего добровольного труда (на который не могут повлиять даже деньги). Это то, что должен иметь в ввиду каждый из наших пользователей и держать это где-то в глубине своего сознания, на тот случай, если он попытаются думать о FreeBSD как просто еще об одной программе от компании Software, Inc., а об участниках проекта как о собственных работниках. Те, кто хочет по-настоящему нанять людей, работающих с FreeBSD, должен написать письмо на адрес [email protected] с указанием суммы, которую он может заплатить, иначе просто не делайте этого.
Я не имею в виду, что мы должны вести себя так грубо, что люди даже не будут пытаться просить нас о помощи, я просто хочу сказать, что те пользователи, которые пользуются различными службами технической поддержки FreeBSD, функционирующими на добровольных началах (почта, телеконференции, каналы irc и тд.), должны всегда осознавать, что просить совершенно незнакомого человека о помощи не так уж сильно отличается от выклянчивания денег у прохожих. Если вы хотите получить бесплатный совет, вам нужно сначала по крайней мере научиться просить вежливо, даже когда вам отказывают! :-) Я много чего повидал в различных добровольных форумах технической поддержки за последний год, и это был полный отстой. Люди должны действовать более разумно и перестать считать бесплатную техническую поддержку правом, данным свыше, а не весьма избирательно данной привилегией. Если вы хотите получать помощь по первому требованию, посетите сайт www.freebsdmall.com и заключите контракт на техническую поддержку. Вы получите то, за что заплатите! :)
Взгляд в будущее:
Что я ожидаю от 1999 года? Ну, полагаю, что все мы не погибнем во всемирном катаклизме за несколько лет до начала нового тысячелетия, и ожидаю появление новых интересных возможностей, усиление маркетинга, больший коммерческий интерес, больше статей в журналах и внимания прессы, в основном больше того же самого, что и было, если мы сможем просто попытаться и в дальнейшем концентрироваться на том, что нужно сделать, не отвлекаться на ужасные мечты о десктоп-приложениях, не становиться неожиданно чересчур минималистичными или наоборот, загромождать самоделками /usr/src, и продолжать следовать умеренному курсу, который для нас характерен. Основной команде разработчиков FreeBSD, ставшей на один год старше и, надеюсь, немного мудрее, должна продолжать давать свет, в то же время прилежно оберегая росток, опираясь на наших разработчиков, давая им все больше реальных причин вкладывать силы во FreeBSD.
Нужно также больше привлекать наших пользователей, и я надеюсь, что 1999 станет годом значительного роста количества локальных групп пользователей и других типов организаций для взаимопомощи. Руководство и FAQ становятся лучше, надеюсь, эта тенденции продолжится в 1999, когда у руля будет стоять Ник Клэйтон (Nik Clayton), наш бесстрашный руководитель Проекта Документирования. Однако не нужно забывать, что для многих пользователей Руководства и FAQ просто не достаточно.
Linux имел большой успех по причине повсеместного существования сети для его поддержки и продвижения, что позволяет ему достучаться до таких людей и общаться с ними. Если пользователи FreeBSD хотят видеть ее выглядящей лучше, чем ее предполагаемый соперник, а 1998 был годом, когда я слышал много голосов, недовольных этим, то они просто должны собраться, чтобы вместе совместными усилиями положить этому конец. Когда последний раз группы пользователей FreeBSD объединялись для раздачи литературы о FreeBSD на встречах Microsoft, например, или проводили демонстрации на местной компьютерной выставке?
Пользователи Linux делают подобные вещи, похоже, постоянно, когда как всего лишь несколько убежденных фанатиков FreeBSD делают это сейчас, так почему бы не помочь им? Присоединяйтесь к списку рассылки [email protected] и обсудите там ваши планы, так, чтобы другие, с большим энтузиазмом, чем просто идеи, могли также узнать их и может, помочь вам. Напишите краткие статьи для новых сайтов, защищающих FreeBSD, типа www.daemonnews.org или www.freebsdrocks.com и помогите в успешном продвижении публикаций евангелистов BSD.
Фразы типа "это ваша FreeBSD" и "все зависит от вас" могут выглядеть стандартными и избитыми, но они также, к сожалению, остаются правдой, когда так мало нас и так много вас. Если FreeBSD действительно продолжит успех в 1999, это будет только с постоянной поддержкой ее пользователей и это означает именно вас, пользователей! Организуйте местную группу пользователей, подарите ваши компакт-диски со старыми релизами местной библиотеке, попробуйте убедить местного мелкого бизнесмена или ISP в преимуществах использования FreeBSD, и это всего лишь несколько из того, что может быть сделано, если вы действительно заинтересованы в приложении некоторой энергии во FreeBSD, и меньше всего вам нужно беспокоиться об идеях, если вам по настоящему это нужно.
Заключение: 1999, ра-ра-ра, давайте это сделаем! :)