Главная страница Visual 2000 · Общий список статей

Y2K — это только вершина айсберга проблем
Поговорим о правах компьютерных пользователей

Андрей Колесов

© 1999, Андрей Колесов
Авторский вариант. Статья была опубликована c незначительной литературной правкой в газете "Модус" № 11/99, с. 14-15.

Обсуждение компьютерной проблемы 2000 года...
Ошибка ошибке рознь
Что нам гарантируют производители
Microsoft заявляет, но... не гарантирует


Обсуждение компьютерной проблемы 2000 года...

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

Трудность проблемы Y2K заключается в ее сугубо вероятностном характере проявления. С одной стороны, никто не может точно оценить потери от возможных сбоев компьютерных систем (непонятна также сама вероятность сбоев). С другой, — сколько бы усилий (денег) ни затратить на подготовку к 2000 году, никто не сможет дать стопроцентную гарантию работоспособности сложных комплексов. Как известно, тестирование может показать наличие ошибки, но ни один тест не может доказать ее отсутствие.

Для пользователей (особенно корпоративных заказчиков) вопрос состоит еще и в том, как отделить реальные проблемы от совершенно естественного желания поставщиков ИТ-решений подзаработать деньги на обновлении вычислительных систем? (В этой связи хотелось бы привести цитату руководителя московского отделения известной международной корпорации: "Проблема 2000 является мощным подспорьем в продвижении наших продуктов".) И не менее важный вопрос: в случае обнаружения ошибок кто должен платить за их исправление?

Сейчас идет мощное давление на рынок под лозунгом: "новые версии наших продуктов решат проблему Y2K". Но при этом все уходят от вопроса — кто же мешал вам решить эту проблему в продуктах, выпущенных всего два-три года назад? Вместе с тем более пристальный анализ показывает, что многие продукты, на которые уже повешен ярлык "не соответствует Y2K", на самом деле могут без особых проблем работать и в 21-м веке.

В начало статьи

Ошибка ошибке рознь

Говоря о проблеме работоспособности продуктов применительно к датам, нужно разделять два аспекта вопроса:

Отметим, что многие программы вообще никак не связаны с датами и в принципе должны работать, пока функционирует соответствующая операционная среда. К таким продуктам можно отнести, например, написанные под MS-DOS программы с математическими расчетами. В то же время некоторые DOS-овские прикладные программы будут сами по себе работать в 2000 году, но смогут ли обрабатывать данные 21-го века — уже не факт (например, если программы рассчитаны только для хранения двузначных значений года).

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

В качестве первого примера можно привести операционные системы Microsoft. Уже в первых вариантах MS-DOS был заложен стандарт для поддержки текущей системной даты в диапазоне от 01.01.1980 до 31.12.2099. Этот же диапазон сохранен и для Windows. В его рамках пользователь может сам устанавливать любую дату. Несколько иной случай представляет MS Word, пользователь которого не работает напрямую с датами, но сам Word использует текущую системную дату ОС при формировании служебного заголовка документа для фиксации различных операций: создание, редактирование и пр.

Другой пример — средства разработки приложения. В частности Visual Basic, который позволяет создавать прикладные программы с обработкой дат от 1 января 100 года до 31 декабря 9999 года.

Что касается вопроса "кто виноват в ошибке", то тут следует выделить две ситуации:

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

На мой взгляд, следующий пример относится именно ко второму варианту. Microsoft официально объявила об ошибке в MS Word 5.0 для DOS: в разделе информации о документе не может храниться дата после 2000 года и поэтому рекомендует обновить Word 5 на Word 6.0/DOS или Word 97. Но возникает вопрос: кто должен платить за такое обновление, в том числе и за приобретение новой техники для Word 97?

В начало статьи

Что нам гарантируют производители

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

Ведь фундаментом распространения ИТ-продуктов (и программ, и техники) является принцип "As Is" — "Как есть". Стандартная фраза из практически любого лицензионного соглашения за последние 10 лет гласит: "производитель не несет ответственности за нанесенный ущерб, возникающий при использовании или невозможности использования данного программного продукта". А гарантии сводятся к "надежной работе программы в соответствии с руководством к ней в течение 90 (или 180) дней после покупки". Призрачность такой гарантии определяется хотя бы тем, что в документации описывается далеко не вся функциональность продукта.

Не менее любопытно, что гарантийный срок на ПО (обычно 3-6 месяцев) почему-то меньше, чем на технику (1-3 года). Но столь же характерно, что в документах на продаваемый ПК, как правило, вообще даже не упоминается, что подразумевается под его работоспособностью и каким характеристикам он должен соответствовать.

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

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

Получается, что на практике вопрос каких-бы то ни было гарантий на ИТ-рынке фактически сводится не к зафиксированной законом ответственности производителя перед пользователем (доказать через суд, что продукт "глючит", очень сложно), а чисто рыночными принципами, когда поставщик обеспокоен за свою репутацию на рынке вообще или перед конкретным пользователем (например, если пользователь — ЦБ РФ). В этой связи полезно вспомнить о знаменитой массовой замене Pentium'ов в 1994 году: Intel пошел на эту акцию стоимостью около 500 млн. долл. не под воздействием юридических угроз, а в результате такого неформального фактора как "потеря доверия со стороны рынка".

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

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

В начало статьи

Microsoft заявляет, но... не гарантирует

Итак, возвращаясь в проблеме 2000 года, весьма характерной является позиция Microsoft, продукты которой применяют в той или иной мере почти 100% пользователей компьютерной техники.

В середине прошлого года корпорация открыла специальный сайт, посвященный этому вопросу (www.microsoft.com/technet/year2k/), а российское отделение осенью создало русскоязычную страницу (www.microsoft.com/rus/year2000/). Там приведено довольно много интересной информации, которая действительно может помочь в понимании сути вопроса и путях его решения, причем для продуктов не только самой Microsoft, но и ПО в целом. Однако в результате внимательного изучения этих сведений обнаруживается, что многие аспекты проблемы Y2K не до конца раскрыты, а порой могут даже ввести в заблуждение. Сейчас хотелось бы привести только один пример, связанный с интерпретацией двухзначного представления года.

Практически все продукты Microsoft (впрочем, как и других производителей ПО широкого назначения) уже давным-давно используют полноформатное представление даты (с четырехзначным обозначением года). Однако для удобства пользователя многие программы позволяют применять двузначное представление года.

Например, при выводе списка файлов (самый старый Norton Commander или современный Windows Explorer) дата последней коррекции файла выдается в виде ДД.ММ.ГГ. Но сортировка списка выполняется по полному значению года, а не его последних цифр! Это действительно не создает проблем для пользователя в плане понимания информации, так как дату создания файла 01.01.20 никак нельзя применять в 20-му веку — в 1920 году не было не только персональных, но и каких бы то ни было компьютеров.

Некоторые проблемы начнутся при работе в 2080 году, но было бы очень любопытно увидеть хоть какой-нибудь файл, сохраненный без изменений с 1980 года.

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

Примерно до 1995 года общепринятым правилом в продуктах Microsoft было автоматическое прибавление "19" к двум цифрам года. Потом решили, что прибавлять "19" или "20" нужно в зависимости от значения текущего века. То есть введенная дата 17.03.99 в нынешнем году будет означать 17.03.1999, а введенная через год — 17.03.2099. С 1996 года правило опять поменялось — для интерпретации двух цифр года стало использоваться столетнее окно 1930-2029 (30 будет означать 1930, а 29 —2029). И наконец, с выпуском Windows 98 был реализован принцип плавающего окна — пользователь может сам устанавливает его диапазон в окне Панели Управления.

В общем, вся эта история не очень интересна, так как проблема не стоит выеденного яйца: вводите дату в четырехзначном формате или проверьте, как работает правило преобразования на вашем компьютере. Правда тут есть нюанс — при обновлении какого-то приложения правило может незаметным для пользователя образом поменяться для всех программ, использующих данные системные функции. Именно поэтому создатели прикладных программ просто не используют при обращении к системным функциям DOS/Windows двузначное представление года, выполняя преобразование самостоятельно (чтобы не зависеть от прихоти Microsoft). И пример этот был приведен совсем для других целей.

В классификации Microsoft целый ряд продуктов (например, Access 2.0) отнесен к категории "не соответствует Y2K" на том основании, что они используют самое первое правило преобразования двухзначного года (00 -> 1900). Но что любопытно, другие продукты (Access 95), работающие точно так же, считаются "соответствующими". Кроме как нелюбовью к 16-разрядным приложениям (о которых с точки зрения Microsoft уже давно пора забыть) такую разницу в оценках трудно объяснить. Вот и верь им после этого.

И здесь нужно сказать о самом главном. Дело в том, что в документах корпорации идет речь о "Заявлении Microsoft о соответствии своих продуктов требованиям 2000 года", в котором подчеркивается, что "Заявление не является гарантией". Фактически это означает, что информация Microsoft является лишь частным мнением корпорации, и пользователь сам несет ответственность за решение о соответствии или несоответствии приобретаемого продукта его персональным требованиям.

Так что решение (и ответственность) об использовании тех или иных продуктов в 21-м веке должен принимать сам пользователь. Но для этого ему все же полезно познакомиться с информацией Microsoft по данному вопросу, хотя их мнения о реальной пригодности продукта могут и разойтись.

В начало статьи