Однако неожиданности бывают не только приятными, и возможности, заложенные в технологию, созданную в одном окружении, могут стать фатальными, когда это окружение изменится – а исправить ситуацию будет уже очень трудно. Во времена написания 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. Я хочу работать не так, как вы привыкли, а так, как я привык. Мейлер, который я использую сейчас, не открытый, но конфигурируемый".
Завершая беседу, я спросил Эрика, как меняется мир открытого ПО в последнее время. Подумав минуту, он ответил, что сейчас идут два параллельных процесса: количество стандартов сокращается, а количество их реализаций растет. На заре Интернета было множество несовместимых друг с другом почтовых систем и протоколов. "Ныне же есть SMTP – это ограничивает нас в выборе, но не создает особых проблем. С другой стороны, когда-то, выбирая MTA, вы могли поставить sendmail, sendmail или sendmail; сейчас же sendmail – один из многих", – говорит Эрик. И добавляет: "Мне кажется, что это хорошо".
DKIM: Откуда дровишки?
Идея технологии DomanKeys Identified Mail (DKIM) состоит в том, что компания, владеющая некоторым доменом (например, brandname.com), криптографически подписывает всю легитимную почту, исходящую с SMTP-серверов, действительно принадлежащих этой компании. Проверка подписи осуществляется через DNS-сервер, обслуживающий данный домен. Если же кто-то захочет отправить письмо с обратным адресом в @brandname.com через сторонний SMTP-сервер (или, скажем, с помощью компьютера, зараженного троянской программой), не имея доступа к DNS-серверу brandname.com, подделать подпись он не сможет – письмо будет отправлено, но без подписи (или с неверной подписью). Если известно, что данный домен всегда подписывает свою исходящую почту (например, речь идет о банке, который таким образом борется с фишинг-атаками), неподписанное письмо покажется очень подозрительным и скорее всего будет отвергнуто либо исследовано получателем «под микроскопом». Первыми станут подписывать свои сообщения те компании, для которых это критично (те же банки), но со временем количество внедрений будет возрастать, и неподписанные сообщения станут редкостью и будут вызывать подозрения. С другой стороны, аутентификация сообщений происходит на уровне сервисов и компаний, а не на уровне отдельных пользователей, и не входит в противоречие с анонимностью почтового обмена.