Почтовых дел мастер

Автор: Илья Щуров Voyager
Опубликовано в журнале "Компьютерра" №29 от 16 августа 2007 года

Мы не знаем, кем станут наши дети, когда вырастут, как сложится их судьба, какие открытия они совершат, какого прогресса достигнут. Многие проекты, в том числе и софтверные, для их создателей тоже являются "детьми" - такими же непредсказуемыми и дорогими сердцу. Когда в конце 70-х годов прошлого века Эрик Оллмен (Eric Allman) писал в стенах Университета Беркли программу, названную delivermail (позже переименованную в sendmail), он понимал, что пишет первую в мире систему доставки электронной почты (MTA), но как сложится ее судьба, тогда не мог сказать никто.

Sendmail в большом городе

Cтатистика

В 2001 году примерно 42% всех публично-доступных SMTP-серверов работали под управлением sendmail. К настоящему моменту эта цифра упала до 29,4%, но детище Оллмена все-таки остается наиболее популярным MTA.

"Вы не можете считать, что ваш проект добился успеха, до тех пор, пока его применение кем-то вас не удивило" - написал Оллмен в чьем-то блокноте в качестве автографа. По этому критерию sendmail более чем успешная программа, во многом определившая само понятие "электронной почты", до сих пор остающейся самым популярным сервисом Интернета. Когда все только начиналось, представить масштабы влияния sendmail и протокола SMTP, в разработке которого участвовал Эрик, на будущее информационных технологий было невозможно.

Характерный пример. В интервью для журнала Salon в 1998 году Эрик рассказывал, как помогал одному человеку настраивать sendmail. Проблема была достаточно сложной, и ее пришлось обсуждать несколько раз по e-mail и телефону, но в конце концов решение было найдено. Затем Эрик узнал, что он и его программа помогли совершить первый обмен электронной почтой между школьниками из двух школ Чикаго и Москвы. Дело было еще до развала Советского Союза, и важность этого события нам сейчас оценить трудно - ведь мы привыкли вести переписку со всем миром (кроме, быть может, Северной Кореи). Но тогда это было больше чем технический успех. "Это один из величайший моментов в моей жизни", - признается Эрик.

Однако неожиданности бывают не только приятными, и возможности, заложенные в технологию, созданную в одном окружении, могут стать фатальными, когда это окружение изменится - а исправить ситуацию будет уже очень трудно. Во времена написания sendmail Интернет был другим не только в техническом, но и в социальном плане. "Сеть превратилась из тесно взаимодействующего сообщества, похожего на маленький городок, где все знают друг друга и где нет необходимости запирать свои дома, в мегаполис, в котором горожанам нужны замки на дверях и нужно думать о том, что рядом есть плохие люди. Вам приходится защищать себя сейчас", - говорит Эрик, обсуждая больные темы современного Интернета: вирусы, спам, фишинг… Они тесно связаны с особенностями протоколов электронной почты - например, вы можете отправить письмо, написав произвольный обратный адрес, чем с успехом пользуются фишеры. Тем не менее возможность анонимной переписки Эрик считает очень важной, и радикальные решения в стиле "поголовной паспортизации" его не привлекают - более того, он говорит, что степень нынешней анонимности e-mail порой недостаточна: "Протокол SMTP никогда не был столь анонимным, как многие считают. Вы всегда можете отследить IP-адрес отправителя, а IP-адрес далеко не анонимен". Впрочем, в отличие от Лоуренса Лессига, Эрик не согласен с тем, что со временем Интернет становится менее анонимным и более регулируемым. "Сеть сейчас гораздо более анонимна, чем была тогда, когда я начинал с нею работать, - вспоминает он. - В то время была пара сотен компьютеров в Сети и была книга - обычная печатная книга, в которой перечислялись имена, фамилии, адреса, номера телефонов всех людей, имеющих интернет-аккаунты".

Предлагаемые Оллменом решения тоже носят двойственный характер. С одной стороны, он говорит о необходимости создания анонимизирующих сервисов, позволяющих отправлять сообщения, полностью скрывая свою личность, - но не позволяющие осуществлять массовые рассылки. С другой - он работает над технологией аутентификации DomainKeys Identified Mail (DKIM), находящейся на рассмотрении IETF как "предложенный стандарт" (proposed standard), но уже использующейся Yahoo, Google и некоторыми другими компаниями (см. врезку). Не будучи панацеей от всех бед, она должна сделать e-mail более цивилизованной и создать определенную систему репутаций отправителей, что по крайней мере затруднит деятельность спамеров и фишеров.

Удастся ли одному из "отцов" электронной почты искоренить ее врожденные недостатки? Никто не знает: ведь дети такие непредсказуемые...

Открытый код, Inc.

Ветераны Интернета часто говорят, что открытость технологий, на которых он основан, была ключевым фактором в его быстром развитии и нынешнем успехе. В то время, когда Эрик Оллмен начинал программировать, практически все исходники были доступны для изучения и модификации, и когда ему захотелось разобраться во внутреннем устройстве операционной системы, он мог это сделать. "Я подумал: здорово, я могу изменить вот здесь и вот здесь - и я это делал".

Эрик любит подчеркивать, что в Университете Беркли свободный софт создавался и распространялся еще в 70-х годах, задолго до того, как было сформулировано его определение, основан Free Sofware Foundation и написана GPL. Оллмен участвовал в создании одной из первых реляционных СУБД (Ingres): "Мы делали ее приниципиально open source, хотя уже тогда существовали проприетарные базы данных. Это был исследовательский проект, мы хотели продвинуть нашу новую концепцию реляционной базы данных, а проще всего достичь этого - сделать базу как можно более доступной".

Впрочем, надо заметить, что между хакерским сообществом Университета Беркли, к которому принадлежит Эрик, и Ричардом Столлменом всегда существовали идеологические разногласия. "Я понимаю соображения Ричарда, - говорит Эрик, - но мне кажется, что он заходит слишком далеко. Я не большой фанат GPL отчасти из-за того, как она написана - наполовину юридическая лицензия, наполовину политический манифест. Это не очень хорошая смесь". Лицензию, принятую в Беркли (BSD License), помимо краткости существенно отличает от GPL то, что она некопилефтная - программу, основанную на BSD-лицензированном коде, можно перелицензировать на других условиях, в том числе сделать проприетарной. Споры на тему копилефта между двумя сообществами продолжаются не один десяток лет и носят "религиозный" характер.

"Политически я предпочитаю BSD-лицензии", - говорит Эрик. Первоначально sendmail распространялась именно под BSDL. Однако сейчас условия изменились, и в Sendmail license имеются требования, аналогичные копилефту. Удивительно, но это было вызвано соображениями, очень далекими от риторики Столлмена. "Бизнес, только бизнес", - объясняет Эрик. В 1998 году он основал компанию Sendmail, Inc., дабы зарабатывать на своих разработках. Тогда же стало ясно, что BSDL не очень подходит для выбранной бизнес-модели, и лицензия сменилась: "Откровенно говоря, это было сделано, чтобы конкуренты не могли просто взять наш код и использовать его против нас. Если вы - коммерческая компания и хотите открыть свой код, выпустите его под GPL. Например, Microsoft в свое время заимствовала TCP/IP-стек из BSD. Этого не могло бы произойти под GPL - точнее, MS пришлось бы открыть код".

Часть бизнес-модели Sendmail, Inc. - создание проприетарных решений. Сам по себе базовый код sendmail остается открытым, но компания создает некоторые продукты на его основе, зачастую включающие проприетарные решения - в том числе лицензированные у сторонних производителей (антивирусы, антиспам-системы). Однако другая существенная часть деятельности Sendmail, Inc. построена вокруг сервисов. Фронт работы здесь очень широкий: речь идет не только и не столько об установке готового ПО, сколько о создании системы хождения корреспонденции, которая удовлетворяла бы некоторым требованиям. Сейчас эти требования могут диктоваться, например, законами о сохранности личной информации, - компания, работающая с такой информацией, обязана их соблюдать, а нарушение (скажем, утечка из-за сбоя в работе почтовой системы) может повлечь за собой серьезную ответственность. Эта проблема естественным образом ложится на плечи вендора системы обмена корреспонденцией (или системного интегратора) - ему приходится заниматься такими вопросами, как управление рисками.

Грани свободы

Сам зарабатывая деньги на программном обеспечении, Эрик Оллмен далек от того, чтобы считать "плохими" все софтверные компании - в том числе и работающие в проприетарных бизнес-моделях. Для него важнее другое. "Всегда существовали "злые" компании и хорошие и честные компании. Нельзя судить обо всех компаниях, смотря на деятельность только некоторых. Например, некоторые компании не заботятся об окружающей среде, стремясь заработать как можно больше денег в наикратчайшие сроки. Однако есть множество фирм, которые собираются существовать сотни лет, и они понимают, что если будут пытаться получить максимум прибыли сейчас, то уничтожат свой бизнес завтра".

Если говорить о программах, то свобода широкого конфигурирования и настройки под пользователя, присущая многим классическим open source-разработкам (включающим и саму sendmail, и Apache), для Эрика значит гораздо больше, чем формальная открытость кода: "Разработчики одного из open source-мейлеров, которым я когда-то пользовался, решили, что не нужно давать возможность пользователю его настраивать. Они считают, что знают лучше, как пользоваться e-mail. Я хочу работать не так, как вы привыкли, а так, как я привык. Мейлер, который я использую сейчас, не открытый, но конфигурируемый".

БраЙен Белендорф (Apache), Эрик ОллМен  (sendMail) и ЛуИс Саурес-Поттс (openoffice.org) обсуждают перспективы open source в России

Завершая беседу, я спросил Эрика, как меняется мир открытого ПО в последнее время. Подумав минуту, он ответил, что сейчас идут два параллельных процесса: количество стандартов сокращается, а количество их реализаций растет. На заре Интернета было множество несовместимых друг с другом почтовых систем и протоколов. "Ныне же есть SMTP - это ограничивает нас в выборе, но не создает особых проблем. С другой стороны, когда-то, выбирая MTA, вы могли поставить sendmail, sendmail или sendmail; сейчас же sendmail - один из многих", - говорит Эрик. И добавляет: "Мне кажется, что это хорошо".

DKIM: Откуда дровишки?

Идея технологии DomanKeys Identified Mail (DKIM) состоит в том, что компания, владеющая некоторым доменом (например, brandname.com), криптографически подписывает всю легитимную почту, исходящую с SMTP-серверов, действительно принадлежащих этой компании. Проверка подписи осуществляется через DNS-сервер, обслуживающий данный домен. Если же кто-то захочет отправить письмо с обратным адресом в @brandname.com через сторонний SMTP-сервер (или, скажем, с помощью компьютера, зараженного троянской программой), не имея доступа к DNS-серверу brandname.com, подделать подпись он не сможет - письмо будет отправлено, но без подписи (или с неверной подписью). Если известно, что данный домен всегда подписывает свою исходящую почту (например, речь идет о банке, который таким образом борется с фишинг-атаками), неподписанное письмо покажется очень подозрительным и скорее всего будет отвергнуто либо исследовано получателем "под микроскопом". Первыми станут подписывать свои сообщения те компании, для которых это критично (те же банки), но со временем количество внедрений будет возрастать, и неподписанные сообщения станут редкостью и будут вызывать подозрения. С другой стороны, аутентификация сообщений происходит на уровне сервисов и компаний, а не на уровне отдельных пользователей, и не входит в противоречие с анонимностью почтового обмена.

 

Фото предоставлены организаторами Interop Moscow 2007.


<<Круговорот толпы
Все материалы номера
Сухое "Сциллохарибдянское" №2 >>