На днях главное законодательное собрание штата Вирджиния официально приняло Единый акт о компьютерных информационных транзакциях (Uniform Computer Information Transactions Act, UCITA), лимитирующий ответственность производителей, предоставляющих лицензии на готовое программное обеспечение.

Фрэнк Хэйес, штатный автор InfoWorld, пишет об информационных технологиях уже более 20 лет. Ему можно написать по адресу frank_hayes@ computerworld.com

UCITA был принят спустя несколько дней после того, как в СМИ попала внутренняя служебная записка Microsoft, в которой говорилось, что поставляемая сейчас новая версия Windows содержит около 63 тыс. «известных потенциальных дефектов» — ошибок, архитектурных недочетов и т. п.

Чтобы понять, почему Microsoft и другие производители ПО столь усердно ратовали за принятие UCITA, перечитайте предыдущее предложение.

63 тыс. известных дефектов. И это после того, как в течение двух лет программисты непрерывно искали и устраняли ошибки, перекомпилировали ПО, вновь тестировали его и вновь устраняли ошибки.

63 тыс. известных производителю дефектов плюс более 65 тыс. других «потенциальных проблем», обнаруженных системой тестирования Microsoft Prefix. Правда, как утверждают представители Microsoft, к реальным сбоям могут привести лишь 28 тыс. «проблем», выявленных Prefix.

Итого 63 тыс. «дефектов» и 28 тыс. «проблем».

Фактически руководитель группы разработчиков Windows 2000 Марк Люковски признался в следующем: Microsoft поставляет программный продукт с десятками тысяч дефектов, способных нанести пользователям ущерб, причем компания о них знает, но исправить не спешит.

Летом 1998 года, после первого сообщения о задержке выхода Windows 2000 (тогда еще носившей название Windows NT 5.0), я опубликовал статью, в которой были следующие слова: «Windows NT 5.0 безнадежно вышла из-под контроля. Это классический случай безразмерного проекта, с которым нет никакой возможности совладать. Реально он никогда не будет закончен — он лишь будет объявлен завершенным, когда Биллу Гейтсу надоест ждать превращения крупной расходной статьи в источник доходов».

Теперь мы видим, что именно это и произошло. Незаконченная Windows 2000 поставляется с 63 тыс. «известных дефектов», и поделать с этим ничего нельзя.

Может ли программный продукт вообще не содержать ошибок? Компьютерщики хорошо знают ответ на этот вопрос. Даже в самом лучшем случае все ошибки найти и устранить невозможно.

Но речь ведь идет не об ошибках, которые Microsoft не может найти или устранить. В служебной записке Люковски прямо говорится, что работа над последующими версиями Windows не возобновится до тех пор, пока все существующие известные ошибки Windows 2000 не будут устранены.

Если в поступившей в продажу новой модели автомобиля обнаруживают хотя бы один дефект, угрожающий безопасности пассажиров, все проданные автомобили отправляются в починку. Любой производитель, поставляющий заведомо дефектные продукты, немедленно становится объектом коллективного судебного иска.

Но вернемся к разговору о UCITA.

Назначение UCITA — защищать производителей ПО от юридической ответственности за дефекты программных продуктов. То есть если вы приобрели программу, которая содержит хоть один, хоть два, хоть 63 тыс. дефектов, это значит, что вам не повезло: у вас нет юридической защиты. Если из-за дефекта в программе, о котором производитель знал, но вам не сказал, корабль вашего бизнеса пойдет ко дну, вы не сможете обратиться за помощью в суд. Об этом прямо говорится в тексте гарантийных обязательств.

Сразу становится ясно, почему Microsoft не особенно обеспокоилась утечкой информации о наличии огромного количества ошибок в Windows 2000.

Чтобы UCITA действовал на всей территории США, его достаточно принять лишь в одном из 50 штатов. Так что если увидите в тексте лицензии на Windows 2000 «соответствует законам штата Вирджиния», вы будете знать, что это означает.