Культ добра и программное обеспечение
 
27.05.2003
Максим Отставнов


 
стр. 1
стр. 2 >>

Культ добра

Во Вторую мировую американцы развернули на одном из тихоокеанских островов базу. Туземцы с интересом наблюдали, как на построенный гостями аэродром приземлялись самолеты, из которых выгружали ящики и тюки с продовольствием, одеждой и прочим добром, из которого кое-что перепадало и им — как плата за гостеприимство или просто по доброте душевной, которой славится американская армия.

По окончании войны гости отправились домой, авиарейсы и поток добра прекратились, но облегчение от первого никак не компенсировало хозяевам острова неудобства второго. Точнее, третьего. А особенно вождю. Аборигены под его мудрым руководством построили точную (в меру своего разумения) копию аэродрома и стали ждать приносящих добро железных птиц, но тщетно. Ритуал возжжения огней на ВПП, однако, сохранился и после вождя и был позднее описан антропологами как «культ добра»: костры привлекают птиц, птицы несут добро.

Можно гадать, были ли туземцы мирными или воинственными, можно пофантазировать, чем бы закончилась попытка получить добро добром от железной птицы, если бы она, сбившись с пути или испытывая технические неполадки, все же села на «аэродром», приняв его за настоящий.

Впрочем, мораль пересказанной истории (очень любимой теоретиками и практиками системного проектирования) не в этом, а в том, что в ней выражена суть «провинциализма». «Провинциал» вовсе не обязательно туп, ленив и нелюбопытен. Напротив, очень часто он сообразителен, трудолюбив, и глаза его широко и искренне распахнуты навстречу новому. Он даже не обязательно беден.

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

Манчжурские охотники, покупавшие у русского купца граммофонные трубы, вовсе не были глупы. Просто они не воспринимали полноту технической системы, в рамках которой труба только и способна выполнять свою функцию: издавать звуки. Североамериканские индейцы, продававшие за горсть бижутерии земли и стада, тоже не были детьми, но им была неизвестна система, в рамках которой вещи получают свою цену и которая в основном и отличает литую стекляшку от так похожего на нее ограненного алмаза.

Мне кажется, это дает ключ к теме «провинциализма» бытования ИТ в госорганах, поднятой Павлом Протасовым (см. статью «Снизу», сс. 24–26). Рубеж «провинции» проходит не по кольцевой дороге и не по государственной границе, а по пониманию того, как устроена ИТ-цивилизация.

Программное обеспечение

Типичным примером провинциализма является сведение чрезвычайно сложного процесса программного обеспечения к совокупности используемых в данный момент программ (отсюда ходячие выражения типа «диск с программным обеспечением»). Возникают псевдосущности типа «платные программы», «бесплатные программы» и тому подобные призраки провинциального сознания. Понять здесь ничего нельзя, не выходя за границы провинциализма, обозначенные выше.

Вместе с тем конкретная программа, взятая в конкретный момент времени (то есть в определенной своей версии), да еще зачастую в превращенной форме (в виде исполняемого кода, пригодного к запуску, но не пригодного для исправления ошибок и дополнений), — лишь тень программного обеспечения. И очень часто — тень призрачная, неверная; например, трудно сказать, что в ПО попадает программа, реально не применяемая, либо не отдокументированная, либо не описанная в литературе, либо с утраченными исходниками (посмотрите, как меняется цена на лицензионные экземпляры программ в магазине после банкротства их разработчика. Это рациональная немедленная реакция рынка на повышение неопределенности в судьбе разработки, относящейся к ее будущим версиям).

Качество исполняемого кода вполне поддается измерению — если не научными, то эмпирическими методами. Однако качество ПО не сводится к качеству программ в их текущем состоянии; например, программа с пятью ошибками, не поддающимися исправлению, вполне может оказаться хуже, чем программа с десятью ошибками, которые могут быть исправлены. Переносимая (не зависящая от особенности конкретной ОС или конкретной аппаратной архитектуры) программа, даже с меньшей функциональностью или слабой эргономикой, может быть лучше, чем более функциональная и эргономичная, но тянущая за собой устаревающее окружение с соответствующими издержками. И т. п.

Свобода ПО дает ключ к измерению качества ПО как такового, не всегда предлагая «здесь и теперь» более качественные (безошибочные, функциональные, эргономичные) программы. Релизы популярных дистрибутивов предлагают единовременный «срез» процесса, который, конечно, к своему моментальному состоянию не сводится. Свобода ПО — это не просто свобода изучения, модификации и применения отдельных программ, но и свобода понимания того, как та или иная база кода реально развивается (кто принимает участие в разработке, с какой степенью вовлеченности, как осуществляется управление процессом, быстро ли исправляются найденные ошибки, во что обходятся функциональные или эргономические новшества и т. п.). Так что и относиться к дистрибутиву нужно соответствующим образом: как к окну в программное обеспечение, а не как к «программному обеспечению».

К сожалению, Протасов, видимо, в процессе написания статьи так идентифицировался со своим лирическим героем-«чайником», что получить какие-либо конкретные пояснения к его претензиям к свободному софту я так и не смог. Например, узнать, вид и качество кернинга каких именно свободных шрифтов его не устраивает. Или понять, в чем смысл сравнения двух весьма разных классов программ — текстовых редакторов и словарных процессоров, и какое отношение это имеет к модели лицензирования и разработки (вроде бы, понятно, что текстовый редактор написать проще, поэтому их и больше на порядок, чем словарных процессоров, как свободных, так и несвободных, так и тех и других вместе взятых). Или, если уж анализ опускается до столь малоаппетитных подробностей, как унаследованные приложения «Клиппер», — почему нельзя пользоваться для их поддержки тем же свободным «Клипом» (www.itk. ru/clip/clipchangelog.shtml).

АРМы и «ПК»

Поднятый вопрос о соотношении идеологий автоматизированных рабочих мест (АРМ, по-английски workstation, кстати) и идеологии персональных компьютеров решается, как мне кажется просто. За очень редкими исключениями, если нужно, чтобы на том или ином месте действительно выполнялись работы, его нужно автоматизировать, а не ставить на стол ПК. Цена вопроса — это цена содержания технолога-программиста. Технолог-программист не обязан вести масштабные проекты на «хардкорных» языках и даже владеть всеми тонкостями техники по Кнуту. Он может быть квалифицированным администратором, умеющим сценировать (скриптовать) рутинно выполняемые бизнес-процедуры на языке запросов к БД и языке оболочки ОС. Но он обязан понимать специфику предметной прикладной области (допустим, если автоматизируется работа секретарей и бухгалтеров, он должен понимать, что такое документооборот) и, более того, специфику конкретной организации.


 
стр. 1
стр. 2 >>

<<Возвращение блудного сына
Все материалы номера
Снизу >>