Оригинал статьи: gemini://ploum.net/winmail-dat-syndrome/index.gmi
Уже более десяти лет Microsoft Outlook ведет себя странным образом, иногда отправляя содержимое электронной почты или вложения в файле с именем «winmail.dat». Большинство почтовых клиентов не могли открыть этот странный файл.
Логика такого поведения неясна, но в итоге Microsoft отправляла почту в нестандартном формате. Они были виновны в нарушении стандарта электронных писем, и единственным разумным решением было, очевидно, исправить MS Outlook.
Но этого не произошло. И люди, не использующие MS Outlook, получали файлы winmail.dat, в то время как пользователи Outlook могли без проблем обмениваться информацией.
Даже если это была всего лишь ошибочная реализация в MS Outlook, некоторые веб-почты начали незаметно конвертировать winmail.dat в обычный почтовый формат: Hotmail, Yahoo и даже GMail. Это не часть спецификации протокола, это ошибка отправителя, но жалобы исходят от получателей. Таким образом, проблема решается на стороне получателя. Плохой и отвратительный костыль.
В результате многие люди теперь могут получать неверно сформированные отправленные электронные письма MS Outlook. Если один из ваших контактов отправит такое электронное письмо множеству друзей, лишь незначительное меньшинство будет жаловаться.
А поскольку они составляют меньшинство, будет считаться, что это их вина. «Ну, ты используешь этого странного почтового провайдера/свой собственный сервер. Ты гик, делаешь странные вещи, исправь проблему на своей стороне».
Даже хуже: если вы ведете бизнес и предлагаете платные почтовые услуги клиентам, они будут жаловаться и злиться на вас. Они не могут прочитать электронное письмо от потенциального клиента! Из-за вас они теряют возможности для бизнеса! И нет, это не вина Microsoft: по словам отправителя, они первые, кто жалуется. И даже если это вина Microsoft, им все равно, они просто хотят читать свои электронные письма. Это вполне понятная реакция.
Я называю это «синдромом Winmail.dat». В сообществе свободного программного обеспечения мы стремимся поддерживать стандартизацию. Ругаем людей, которые не следуют прописанным стандартам.
Но иногда мы слепы к реальным стандартам де-факто. Стандарт, который может оказаться куском дерьма, чистой случайностью. Стандарт, который никто не выбирал. Мы пытаемся донести до людей тот факт, что их стандарт нехороший, не «настоящий». Но на самом деле это никого не волнует. Они просто хотят использовать что угодно, лишь бы работало, даже если оно реализовано неоптимально.
Придирчиво относясь к использованию истинного стандарта, написанного экспертами, мы иногда только исключаем себя из комьюнити. Мы делаем именно то, в чем обвиняем других людей: не действуем, как все, и соблюдаем свою собственную версию протокола, которую никто больше не поддерживает. Тот факт, что наш протокол открыт и может быть реализован кем угодно, не имеет значения для конечных пользователей. Никто этого не понимает, а проблемы создаем мы.
Означает ли это, что мы должны поддерживать что угодно и забыть о стандартизации? Конечно, нет! Но не должны ли мы иногда признавать, что мы проиграли битву и что сохранение «чистоты» на самом деле вредит нашим конечным пользователям, а не помогает им?
Я склонен думать, что когда проект вредит своим пользователям вместо того, чтобы помочь им, даже с благими намерениями, с этим проектом что-то не так.