В начале была командная строка... (In The Beginning Was The Command Line) — страница 17 из 23

я система и основные служебные программы слишком важны для работы, поэтому серьезных «багов» не содержат. Пользуясь Linux ежедневно с 1995 года, я немало чего повидал — на моих глазах не запускались, сбоили или летели ко всем чертям множество приложений, но я ни разу не видел, чтобы рухнула операционная система. Не было такого. Ни единого раза. Некоторые Linux–системы пашут без устали и перезагрузки месяцы и годы.


У разработчиков коммерческих ОС отношение к системным ошибкам такое же, как у коммунистов к нищете. И те, и другие делают вид, что некоего явления не существует. Ведь если одна из главнейших коммунистических целей — безоговорочное и беспощадное истребление нищеты, то коммунисты нипочем не признаются, что нищету в их стране так пока и не удалось искоренить. Apple и Microsoft берут с коммунистов пример и прикидываются, что знать не знают и ведать не ведают об ошибках в программном обеспечении и постоянных крахах системы. Не хватало еще, чтобы корпорация Disney во всеуслышание заявила, что Микки Маус — не настоящий, и вместо него публику развлекает переодетый актер.


Вот тут‑то собака и порылась. Ибо ошибки, как ни крутите, наличествуют, и сбои в работе программ, что ни говорите, происходят. Два–три раза в год Билл Гейтс созывает огромное количество народу и демонстрирует новинки от Microsoft. Новинки чаще всего на подобных показах ведут себя отвратительно и ломаются прямо в руках создателя. Продавцы коммерческих ОС, торгаши, одним словом, вынуждены ломать комедию (довольно‑таки грубую, ибо актеры они никудышные) и убеждать всех и каждого, что системные «баги» — «ерунда, дело житейское», всего лишь человеческий фактор (ошибка какого‑то тупицы–программера), не стоит волноваться. Пользователи слова продавцов ни в грош не ставят – и младенцу понятно, что вранье это всё несусветное. Однако пресс–релизы и рекламные объявление подобным враньем прямо‑таки кишат. По ним выходит так, что работники корпораций ночами не спят, лишь бы создать великолепный продукт и порадовать любимых пользователей. Да если бы дело обстояло именно так, документация была бы написана четко и достоверно, каждая страница содержала бы описание всех ошибок, погрешностей и системных сбоев, а интерактивная система помощи, действительно заботящаяся о пользователях, давала бы полезные советы, как восстановить систему после краха.


Но этого и в помине нет. Акционерные общества, предоставляющие великое множество чудесных товаров и услуг – великолепное изобретение. Они отлично справляются со множеством задач. Но одна задача им не по зубам – признание собственных ошибок. Куда там! Они ведь настолько идеальны, что даже мелких недостатков за ними не водится.


Для человека подобное поведение – отклонение от нормы, ну, а для корпораций всё не так страшно. Тем более все прекрасно понимают, что корпоративные пресс–релизы выпускаются не для обычных людей, а для акционеров. Конечно, огульное корпоративное вранье иной раз приносит ужасающие плоды, вспомним хотя бы, к чему привела огульная ложь табачных компаний или химических предприятий. Производители ОС не идут с ними ни в какое сравнение, они просто раздражают.


Возможно, мне возразят, что недовольство потребителей может перерасти в стойкое отвращение, и тогда акции компании неизбежно поползут вниз, так что, в перспективе, честность и открытость – наилучший выход из положения. Однако производители ОС придерживаются иного мнения. Их бизнес настолько стремительно идёт в гору, что они предпочтут миллиарды вечно негодующих потребителей миллиону спокойных и счастливых.


Большинство системных администраторов, работающих с Windows NT, знают, если система зависает, ее следуют перегрузить, а если она перестает загружаться вообще, единственный способ привести ее в чувство – переустановить заново с нуля. По крайней мере, это единственный известный им способ, который срабатывает. Многие, правда, полагают, что инженеры из Microsoft владеют тайным знанием по усмирению вышедшей из повиновения Windows, однако делиться им ни с кем не собираются, даже с моими знакомыми потрясающими сисадминами.


Так как Linux продукт не коммерческий, а свободный и бесплатный, так как его сложно установить и еще сложнее с ним работать, то ему совсем не обязательно прикидываться надежным и безотказным. Он такой и есть. Едва в ОС Linux обнаруживается ошибка, ее сразу же начинают обсуждать на каждом углу. А затем любой, готовый отвечать за свои действия технически подкованный хакер открывает исходный код, находит «баг» и его исправляет.


Насколько я знаю, Debian – единственный дистрибутив Linux, имеющий собственный Устав (http://www.debian.org/devel/constitution). Но что меня действительно в нём восхищает, так это потрясающая система отслеживания ошибок (http://www.debian.org/Bugs) – интерактивная Книга жалоб и предложений, где публикуются описания промахов и ляпов и способы их устранения. Схема проста до гениальности. Когда в начале января 1997 года у меня возникли проблемы с Debian, я отправил письмо с описанием своих затруднений на почтовый адрес submit@bugs.debian.org. Моему вопросу сразу же присвоили порядковый номер (# 6518), уровень важности (уровни могут быть следующие: ошибка, критичная для всей системы (critical), ошибка, критичная для одного пакета (grave), серьезная ошибка (important), просто ошибка (normal), ошибка, уже исправленная в следующей версии (fixed), пожелания (wishlist)) и разместили в списке рассылки, где за нее принялись шарящие в Debian программисты. В течение следующих двадцати четырех часов по электронной почте я получил пять сообщений — два из Северной Америки, два из Европы и одно из Австралии, предлагавших мне одно и то же решение проблемы. Оно оказалось верным, всё заработало. Копию нашей переписки разместили на сайте Debian, чтобы пользователи, столкнувшиеся с подобными трудностями, не набивали лишний отчет об ошибке, а, порыскав по сайту, нашли способ избавления от напасти.


В том же 1997 году, десять месяцев спустя после описанных выше событий, я поставил на ту же машину Windows NT 4.0. Программа установки дошла до середины и зависла, зависла, не сказав ни слова, не сообщив ни о единой ошибке. Пытаясь понять, кто виноват и что делать, я зашел на сайт техподдержки Microsoft. Поисковая система не работала, то есть абсолютно. Абсолютно ничего не искала и ничего не сообщала. Она молчала даже о том, что не работает.


Проблема наверняка в материнской плате, догадался я, она была не совсем обычной сборки и модели, и я подумал, что раз NT не Linux, то и подобное разнообразие «материнок» она не поддерживает. А так как меня хлебом не корми, дай приобрести что‑нибудь новенькое из технического оборудования, я купил новую плату с логотипом Windows NT на коробке, гарантирующим её совместимость с данной операционной системой. Засунув её в системный блок, я запустил Linux. Linux запустился влет. Я снова попытался установить Windows NT. И снова процесс установки без объяснений остановился на полпути. С момента первого зависания прошло две недели, и я понадеялся, что, возможно, поисковик на сайте техподдержки Microsoft уже заработал. Надеялся я напрасно.


Я заново зарегистрировался на сайте техподдержки Microsoft. У меня спросили идентификационный номер Windows, я его ввёл и стал пошагово следовать инструкции, появившейся на экране. Короче говоря, я создавал такой же отчет об ошибке, как и на сайте Debian. Только здесь интерфейс был намного круче (настоящий графический пользовательский!) — я печатал сообщение в специально написанном под web–браузер текстовом окошке, а не просто, как в случае с Debian, отсылал «телеграмму» на «мыло». Я прекрасно осознавал, что когда закончу отчет, он автоматически превратится в собственность Microsoft, и обычные пользователи его никогда не увидят и не прочтут. Большинство линуксоидов отказалось бы участвовать в подобном безобразии по этическим причинам, я же решил поэкспериментировать и дать Microsoft шанс. Не получилось. Я так и не смог отправить сообщение, ибо поочередно сменявшие друг друга web–странички, которые я кропотливо заполнял, внезапно привели меня к совершенно пустому и девственно чистому листу — всё, тупик.


Я возвратился к начальной странице, кликнул мышкой по кнопке «phone support» (техпомощь по телефону) и раздобыл номер Microsoft. Я позвонил. После нескольких раздирающих уши пронзительных гудков записанный на пленку голос любезно сообщил мне: «Набранный вами номер не существует».


Ещё раз я попытался вдохнуть жизнь в поисковик на сайте. Безрезультатно, он не дышал. Тогда я решился воспользоваться одноразовой платной поддержкой Pay Per Incident (Заплати и получи помощь). Продравшись сквозь очередной частокол web–страниц, я уперся лбом в пустую стену и прочел: «Удовлетворяющая вашему запросу страница не найдена».


Но я не сдался, я долбал этот сайт до тех пор, пока на экране не возникло предупреждение: «Лимит запросов исчерпан. Вашей учетной записи техподдержка более не предоставляется. Если вы до сих пор нуждаетесь в помощи, нажмите клавишу «ОК». Внимание — поддержка платная…». Цена вопроса равнялась 95 долларам.


Дело принимало нешуточный в финансовом плане оборот, я отказался продолжать эксперименты с платным сервисом и обратился к FAQ. Похоже, с моей проблемой никто доселе не сталкивался. Только один пользователь оставил запись «Не могу установить NT», да и тот оказался рекламным агентом, а не инженером.


Тогда я послал всё к черту и Windows NT на тот компьютер так и не установил. Я пошел по пути наименьшего сопротивления и удовольствовался Debian Linux.


Доступные всем и каждому отчеты об ошибках играют первостепенную роль в мире программного обеспечения с открытым кодом. Благодаря им пользователи находят решение проблем, а операционные системы улучшаются от версии к версии. Это настолько важно, что технические специалисты высочайшего класса добровольно и совершенно безвозмездно тратят своё время и деньги на то, чтобы отслеживать и постоянно обновлять базу ошибок и глюков. В сообществе коммерческих ОС все шиворот навыворот, и сообщение об ошибке — роскошь, за которую приходится выкладывать немалые деньги. При этом ваш отчет держится в строжайшем секрете, чтобы ни дай Бог никто из пользователей ничего не узнал и не воспользовался (бесплатно!) помощью, оказанной только вам за ваши 95 долларов. Хотя, с другой стороны, а что мешает пользователям NT самим организовать бесплатную и общедоступную систему отслеживания ошибок и предоставления помощи?