Об Эрике Аллмане, создавшем эту программу, говорят: «Лично вы с ним можете быть и не знакомы, но ваша электронная почта знает его наверняка». Это утверждение абсолютно точно, поскольку в Unix по части электронной почты sendmail занимает практически монопольное положение.
О том, насколько популярна эта программа, свидетельствуют следующие цифры:
- ею оснащено от 60 до 80% всех почтовых серверов;
- sendmail используют 9 компаний из списка Fortune 10 и 84 — из списка Fortune 100;
- из 36 крупнейших мировых Internet-провайдеров этой программой пользуются 29.
Спустя двадцать лет после создания первой версии sendmail, Аллман по-прежнему верен своему творению. И сегодня его деятельность непосредственно связана с sendmail. Раньше, работая в Беркли, он был еще и шеф-программистом в проекте, связанном с СУБД Ingres, написал несколько утилит для Unix (tset, trek, syslog, vacation). Затем Эрик на некоторое время покинул университет и работал в International Computer Science Institute по проекту распознавания речи с использованием нейронных сетей. Некоторое время вел колонку C Advisor в журнале Unix Review.
Аллман — фигура заметная, число публикаций в профессиональной американской прессе, связанных с ним и его главным детищем, исчисляется сотнями, если не тысячами. Чтобы убедиться в его популярности, достаточно воспользоваться любой поисковой машиной. А вот российская пресса своим внимание программу и ее автора не жалуют, что находится в явном противоречии с популярностью sendmail в нашей стране. Список литературы, приведенный в конце статьи, по сути, исчерпывает публикации на эту тему. Поэтому, желание заполнить этот пробел было вполне естественным, и, как только появилась такая возможность, я постарался встретиться с Эриком Аллманом. В ответ на просьбу дать интервью он пригласил меня к себе домой, где мы вместе провели примерно полдня.
Аллман является одной из заметных личностей в среде создателей open source software, он вошел в один ряд с такими культовыми фигурами, как Линус Торвальдс и Ричард Столлман, Эрик Рэймонд, Рик Стивенс. Вместе с тем, он начинал карьеру вместе и людьми, принадлежащими к другому срезу информационного сообщества и тоже весьма популярными в ИТ-индустрии и не нуждающимися в представлении; среди них пионеры Sun Microsystems Эрик Шмидт, Билл Джой и Энди Бехтолшейм. Эрик сохраняет дружеские отношения с ними, хотя сейчас его прежние коллеги владеют миллиардными состояниями и занимают руководящие посты в крупных корпорациях, т. е. с обывательской точки зрения их отделяет от Аллмана колоссальная дистанция.
В результате Эрик приобрел уникальное общественное положение, он не порывает связей с хакерством (в изначальном, университетском понимании этого слова) и в то же время на короткой ноге с капитанами ИТ. Благодаря этому Эрик и выступает в двух ипостасях, возглавляя общественную организацию sendmai.org и одновременно с этим осуществляя техническое руководство компанией SendMail, которая производит коммерческие продукты.
Обе стороны деятельности Эрика интересны, хотя вторая по-человечески более понятна. Авторы распространяемых в открытых кодах программ были и остаются для меня загадками; их мотивация, их образ жизни трудно доступны для понимания человека, выросшего в СССР. Как анекдот я припоминаю встречу, если не ошибаюсь, с Ричардом Столлманом в Международном центре научно-технической информации в начале 90-х. Тогда зал, наполненный серьезными людьми в добротных костюмах, с нетерпением ждал «видного американского ученого», запаздывающего из аэропорта. Воображение рисовало нечто внешне значительное. Но вдруг на подиум выскочил худенький мальчик с бородой и, скинув на глазах у изумленной публики рюкзак, начал говорить о вещах, непонятных для большей части аудитории. Ситуация напомнила немую сцену из «Ревизора».
Поэтому, идя на встречу, я хотел поговорить с Аллманом не только на техническом уровне, как с автором популярного почтового агента, но и как с типичным представителем легендарного хакерского поколения Беркли, начавшего программировать в 70-е годы. Сложившийся в те годы дух Калифорнийского университета в Беркли остается странным, непонятным и неповторимым. Пару десятилетий назад это был странный островок коммунизма в Америке. Чего стоит одна только сохранившаяся карта полушарий, где можно обнаружить на общем сером фоне три красные области: Куба, Северная Корея и ... Беркли. Только в этой левацкой, революционной обстановке, существующей в действительности благодаря благосостоянию всего общества, могли возникнуть либерторианские идеи в программировании.
Но жизнь меняется повсюду, и с уходом в историю легендарных бунтарских 60-х и 70-х исчезают многие признаки прошлых увлечений. Впрочем, и теперь Беркли все же несколько отличается особым обликом, возможно уходящим в прошлое, но по-прежнему очень непохожим на другие университеты.
Находясь в Беркли, трудно представить себе, что чопорный, прожженный солнцем Стэнфорд, где непристойностью считается появление с сигаретой на территории кампуса, находится всего в часе езды от прохладной и тенистой Телеграфной улицы. Здесь на каждом углу встречаются объявления о запрете употребления наркотиков в публичных местах, однако, множество магазинов торгует разнообразными инструментами для их употребления, а в воздухе висит запашок марихуаны. Здесь все еще можно встретить митингующих и поющих политические песни — так, как это было пару десятилетий назад. Впрочем, сегодня это, скорее, игра, чем-то напоминающая могучих пятидесятилетних рокеров, разъезжающих с такими же пышнотелыми подругами на своих супербайках.
От Телеграфной улицы минут за десять-пятнадцать можно дойти до скромного деревянного дома на University Avenue, где уже почти двадцать лет Эрик Аллман живет вместе со своим другом (здесь это называют domestic partner) Кирком Маккьюсиком, и это тоже вполне по-берклийски. Кирк, один из разработчиков Berkeley UNIX, работает в университете и отвечает сейчас за релизы 4.3BSD и 4.4BSD.
Дом представляет собой типичное жилище интеллектуалов: небольшое запустение, под навесом спортивный английский автомобиль 50-х годов, в гостиной коллекции звукозаписей, в подвале коллекция вин, обе насчитывают несколько тысяч «единиц хранения». Машина — хобби Эрика, а коллекции являют совместные увлечения обоих. К сожалению, Кирка не было дома, и беседу на тему Berkeley UNIX пришлось отложить.
Наша беседа происходила во дворе под фруктовыми деревьями.
Эрик, несколько слов о себе, где, когда и как вы начали программировать?
Где? Конечно же, в Беркли. В детстве я жил в Эль Серрито, это всего в нескольких милях отсюда, что и определило мое будущее. Уже в восемь лет мне стало ясно: буду заниматься компьютерами. Чем конкретно, я тогда еще не понимал, но для мальчишки того времени, жившего рядом с Беркли, это было вполне естественно. Еще в школе у нас был мэйнфрейм IBM 1401 (ах, какие у него были огромные ленты!), а, кроме того, я постоянно торчал в вычислительном центре, урывая, как тогда говорили, машинное время везде, где только можно.
Мне невероятно повезло, я поступил в университет в 1973 году, т. е. в тот самый момент, когда начиналась эпоха Unix, собравшая в Беркли ярчайшие таланты. Это было замечательное и очень благоприятное для меня совпадение.
Стоить напомнить, что вместе с лицензией на Unix от AT&T мы получили еще и право модифицировать код. Один из главных постулатов, которыми руководствовались в Bell Labs, где родилась эта операционная система, и где работали Кен Томпсон и Дэвид Ритчи, звучит так: «Если что-то сломалось, не скули, а исправь». Мы моментально восприняли эту инженерную и научную традицию, своего рода философию самообслуживания (fix-it-yourself), она стала для нас совершенно естественной и именно она, в конечном счете, стала первым стимулом для создания программ с открытым кодом.
Мы очень быстро поняли, что процессы обнаружения ошибок, тестирования и эволюционного развития кода могут быть более эффективны, если в них принимает участие большое число программистов, обладающих свободой и возможностью подвергать код испытаниям. Поэтому, учась в университете, мы вместе с Биллом Джоем, Эриком Шмидтом и многими другими с увлечением «долбали» Unix, и в итоге получилась наша собственная версия Berkeley Software Distribution, это была лучшая школа. Так собственно и родилось движение open source, но мы еще не знали, что это open source.
Когда и как появилась программа sendmail, задумали ли вы ее для широкого распространения?
Вовсе нет, все началось в период между 1977 и 1980 годами. Тогда моей служебной обязанностью стало системное администрирование университетской сети BerkNet, спроектированной Шмидтом и подключенной к ARPANET. Как это обычно бывает, лень оказалась двигателем прогресса. Дело в том, что пользование электронной почтой стало весьма популярным делом, но программный механизм, поддерживающий ее, был несовершенным. Для приема или передачи почты каждый пользователь должен был подключаться к нашей PDP 11/70, и в конце концов мне надоело контролировать этот процесс. Я пришел к выводу, что проще написать небольшую программу для нашей почтовой системы, чем суетиться самому. Эта программа позволяла пользователю передавать и получать почту, оставаясь на собственной машине, не выполняя log-on/log-off на нашу «семидесятку». Так появилась первая версия почтовой программы, которая назвалась delivermail, а в 1981 году в новой версии она была переименована в sendmail.
Я старался написать sendmail так, чтобы она передавала все, что можно передать. Если сообщение как-то испорчено, то программа пытается его исправить, вставляет необходимые заголовки и прочее. Я считаю, что, на первом месте сам факт коммуникации, а если при этом какая-то запятая окажется в неверном месте, то это не столь уж важно. Sendmail вошла в состав BSD.
Дальнейшее происходило, в общем-то, помимо моей воли. Когда ARPANET трансформировалась в Internet, дистрибутив BSD стал свободно и широко распространяться, а вместе с ним sendmail. Программа выполняла то, что от нее требовалось, она обеспечивала передачу почты между отдельными сетями, входящими в состав Сети. Нужно учесть, что sendmail создавалась тогда, когда Internet был в большей степени полигоном для программистов, поэтому она достаточно требовательна к уровню администрирования. Сейчас, когда Internet вошел в массы, программу подвергают справедливой критике за известные слабости, недостатки и дыры в защите, которые, в частности, способствуют распространению спама. Но надо учесть, что она не задумывалась с прицелом на столь широкое распространение, да и к тому же жалобы на несовершенство некоммерческой программы с открытым кодом противоречат идее fix-it-yourself. Это уже потом sendmail стала распространяться вместе с коммерческими версиями Unix.
Простите за бестактность, но нельзя не задать этот вопрос. Те, кто занялся созданием программного обеспечения на несколько лет позже вас, кто создал современную индустрию программного обеспечения, шли исключительно коммерческим путем. Они стали миллиардерами. Не огорчает ли вас то это обстоятельство, что популярность вашей программы не соответствует тем доходам, которые она вам приносит?
Видимо, мы опередили время и поэтому не реализовали свои возможности. Несколько лет назад мы беседовали на эту тему с Денисом Ритчи. Я посетовал на то, что сотворенное мной не приносит мне заметного благополучия. Я сказал ему: «Если бы мог получить хотя бы по 10 центов с каждого из миллионов сайтов, где работает моя программа. Я ведь не много прошу?» Денис мне ответил, что вполне разделяет мои чувства, ведь и они с Кеном точно так же не могли предположить, как будут растиражированы их программы. В ту пору, выпуская их в свободное плавание, мы рассчитывали на то, что они будут распространяться в близком и знакомом нам академическом сообществе. Мы мыслили масштабами десятков компьютеров, не более. Денис сказал: «Бог мой, если бы я только мог предположить, что произойдет!»
Ну, если не материальное, то, может быть, вы получали какое-то моральное удовлетворение?
Да, безусловно. Одно из самых ярких ощущений в жизни состоит в осознании того, как моя программа положительно повлияла на реальную жизнь людей. Приведу, возможно, близкий вам пример. Много лет назад меня стал одолевать вопросами некто из Чикаго. Он задавал их так много, что однажды я спросил его, какого черта он там делает? И он мне ответил, что работает учителем в школе и пытается через Сеть установить связь с одной из школ в Москве. Сделайте поправку на время, это было задолго до крушения СССР, еще в период холодной войны. Представьте, ему удалось, в том числе, и с помощью моей программы, установить контакт с Москвой, в итоге дети стали обмениваться письмами. Тогда я сказал себе: «Боже, мир стал меньше, не правда ли?»
И все же вы не бросили свою работу. Но одиночество не могло продолжаться вечно, для поддержки sendmail нужны были какие-то организационные меры?
Действительно, до появления восьмой версии sendmail я делал практически все своими собственными силами, и разработку, и поддержку, но вскоре программа приобрела такую популярность, что моих возможностей стало недостаточно. На меня обрушился шквал вопросов, ответы на большинство них можно было бы без труда найти в документации, но, к сожалению, многие пользователи не хотели или не могли читать ее. Причина в том, что Сеть изменилась, она перестала быть заповедником для интеллектуалов, и это нужно было принять как данность. Следовательно, нужно было искать какой-то выход из положения.
Прежде всего, я создал существующий до сих пор консорциум sendmail.org, который объединил моих добровольных помощников; в последующем некоторые из них стали моими сподвижниками на долгие годы. Сейчас некоторые из них работают в компании SendMail. Затем я обнаружил, что из добровольцев выделились люди, продемонстрировавшие глубокое знание и понимание кода, способные не только обнаруживать ошибки и ставить заплатки, но и переписывать требуемые места с настолько высоким качеством, что я открыл им вход на свою машину и предоставил возможность работы с исходным кодом. В итоге у меня появилось два входных потока информации, первый — внутренний, его формировали доверенные программисты, признанные внутри консорциума, а второй — внешний поток добровольно присланных мне заплаток.
Но вскоре и наших совместных с волонтерами возможностей оказалось недостаточно, в чистом виде идея распространения программ в открытых кодах переставала работать. Замечу, важно проводить различие между различными типами свободно распространяемого программного обеспечения. Программы могут отличаться отношением необходимого числа разработчиков к числу пользователей с учетом их квалификационного уровня. Если между двумя этими сторонами сохраняется определенный баланс, как, например, в случае FreeBSD, то виртуальный коллектив может существовать как свободное сообщество, без какой-либо поддержки, но, если количество пользователей на порядки превышает число разработчиков, то нужна организационная структура и какое-то спонсорство. Не секрет, что, например, Apache Software Foundation поддерживается корпорацией IBM.
Я тоже пытался найти какое-то подобное решение, всячески старался найти спонсоров. Я обращался в крупные компании, использующие мою программу, с тем, чтобы получить какую-то материальную поддержку для содержания нескольких сервисных инженеров, но, увы, вскоре убедился, схема, опирающаяся на добровольные пожертвования, не работает.
Т. е., идя естественным путем от идей open sourcе, я столкнулся с неразрешимой на первый взгляд проблемой противоречия между «собором» и «базаром». Не всем моя позиция показалась верной. (Заметим, перевод «bazar» с русским словом «базар» не вполне адекватен. В данном случае имеется в виду не базар с оттенком рыночной толкучки, а «благотворительный базар». Весьма интересную дискуссию на тему «собора» и «базара», где поклонники чистоты жанра Ричард Столлман и Эрик Рэймонд спорят с Аллманом, можно найти по адресу www.feedmag.com/dialog/ossdialog_master1.html — Л.Ч.). Но что делать, если для того чтобы удовлетворить потребности тысяч пользователей, оставаясь на уровне благотворительности, не хватало ни сил, ни средств. В то же время специфика продукта и мои личные взгляды не позволяли построить новую компанию как собор.
Но все же вы создали компанию, т. е. разрешили эту дилемму. Как это произошло?
Мы создали гибридную компанию. В 1997 году я буквально на улице столкнулся с моим старинным другом Грегом Олсоном. Тогда он работал консультантом, помогая начинающим компаниям встать на ноги, а сейчас стал вице-президентом SendMail. Я рассказал ему о своих сложностях, и он увидел мои обстоятельства со своей точки зрения в более оптимистическом свете, нежели я. Он обнаружил потенциал для создания новой компании. Вместе нам удалось выстроить оригинальную гибридную стратегию компании, в которой сочетаются принципы и «базара», и «собора». Сейчас очень многие софтверные компании пришли примерно к тому же, но можно с уверенностью сказать, что мы были первыми.
Итак, мы решили, что, во-первых, сохраним в открытом доступе все те продукты, которые существовали на момент образования компании. Они по-прежнему распространяются через sendmail.org. Сегодня доступны версии sendmail 8.11.0 и 8.11.5, а также бета-версия sendmail 8.12.0.Beta16, в которой улучшены производительность и безопасность. Во-вторых, начнем делать коммерческие продукты и, в-третьих, оказывать услуги на коммерческих началах. Эти соображения были положены в основу нашего бизнес-плана.
Как человеку, весьма далекому от бизнеса, мне было крайне интересно наблюдать за процессом образования пула инвесторов. Сперва мы постоянно получали постоянные отказы, к кому бы ни обращались. Убедить собеседников было очень сложно, но мне опять повезло. Мне пошел навстречу Энди Бехтолшейм, человек, сделавший первую рабочую станцию Sun. Он стал первым инвестором, и этого оказалось вполне достаточно, чтобы собрать необходимые средства.
Сегодня в компании почти 200 сотрудников, она еще не дает прибыли, но уже достигла нулевого баланса и имеет неплохие перспективы на будущее.
Несколько слов о производственной программе SendMail.
Прежде всего, мы выпускаем два продукта Single Switch 2.2 и Multi Switch 2.2 для платформ Red Hat Linux 6.2 и 7.1, а также для SuSE Linux 7.0; вскоре появится поддержка для других платформ. Это очень близкие по функциональности продукты, различающиеся тем, что первый устанавливается на один сервер, а второй допускает установку на 15 серверах. Sendmail Switch содержит среду управления Mail Transfer Agent, которая повышает масштабирование и безопасность версии sendmail, распространяемой свободно. К тому же Sendmail Switch включает средства для фильтрации вирусов и спама, мониторинг в оперативном режиме, проактивную диагностику и более удобный графический интерфейс.
Буквально в конце июня мы объявили о выпуске Sendmail для NT и Windows 2000. Не Unix-ом единым, раз есть спрос, должно быть и предложение. Таким образом мы попытались войти в новую рыночную нишу.
Последний вопрос. Как вы переживаете драматические события последнего года, связанные с общим спадом активности в ИТ?
Неоднозначно, конечно же, очень плохо то, что теперь люди весьма осторожно относятся к инвестированию в ИТ. Это мы испытываем на себе. Изменилось представление о масштабах расходов, если год назад о вложении сотни тысяч долларов говорили как о каком-то пустяке, то сегодня те же сто тысяч представляются большими деньгами. Но есть и обратная сторона, которая дает нам определенные конкурентные преимущества. Они состоят в том, что мы предлагаем дешевые решения, а это весьма актуально теперь, когда деньги считают внимательно. Мы можем составить серьезную конкуренцию тем компаниям, которые поставляют программное обеспечение для групповой работы. Если посмотреть внимательно, то groupware в основном используется для электронной почты и календарного планирования и некоторых других задач, которые полноценно решаются средствами sendmail в сочетании с продуктами третьих фирм.
Я рассказал Эрику, что не только sendmail, но и FreeBSD пользуется популярностью в России. Он был искренно удивлен, и пообещал обрадовать этим сообщением Кирка Маккьюсика. Прощаясь, Эрик Аллман сказал, что в их общие планы входит путешествие по России, и, может быть, у российских пользователей sendmail и FreeBSD появится возможность встретиться с их авторами.
Литература
[1] Сергей Добрецов, Sendmail. «Открытые системы», 1995, № 1
[2] Вадим Колонцов, ОС BSD жила, живет и будет жить. «Открытые системы», 1997, № 3