20 декабря 2009 г.

Как OOXML становился стандартом ISO. Часть III

Окончание сериала - начало здесь, продолжение здесь.

После сентябрьского (2007 г.) голосования по проекту DIS 29500, в ходе которого проект был «забаллотирован», процесс перешел в фазу подготовки согласительной встречи по результатам голосования (BRM – Ballot Resolution Meeting).
Главная цель BRM вытекает из ее названия – решение проблем, выявленных в ходе первого голосования по проекту стандарта. В ходе BRM также проводится голосование, но это не новое голосование за проект стандарта, а голосование за внесение в этот проект изменений, разработанных на основе анализа комментариев и замечаний, поступивших от национальных комитетов. После того, как изменения будут внесены в проект стандарта, каждый национальный комитет может решить для себя – оставлять ли в cиле результат своего первого голосования по DIS 29500 или изменить его.

Ecma – «Disposition of Comments»
Как я уже не раз писал, в ходе первой волны голосований по проекту DIS 29500 от национальных комитетов поступило в общей сложности 3522 замечания и комментария к тексту стандарта. Эта цифра (3522) до сих пор фигурирует во многих публикациях, рассматривающих процесс стандартизации OOXML в исторической ретроспективе, и несет определенную спекулятивную окраску в интересах противников OOXML. Однако, нужно понимать, что это было именно ОБЩЕЕ количество комментариев, поступивших от ВСЕХ национальных комитетов. Естественно, среди этих комментариев были и полностью идентичные, и очень близкие по смыслу. Это несколько уменьшало реальный масштаб бедствия, но не спасало от необходимости выполения огромной по объему работы.

Эту работу надлежало проделать Ecma, как организации-разработчику стандарта (ну, и Microsoft, конечно). В течение 4,5 месяцев – с начала сентября 2007 по середину января 2008 Ecma готовила документ, ставший известным под названием «Disposition of Comments» (название можно перевести как «Снятие возражений»), в котором рассматривались комментарии, поступившие от национальных комитетов и предлагались проекты резолюций по этим комментариям.
Работа над комментариями в Ecma (хотя, в реальности, конечно, в Microsoft) строилась следующим образом:
  • Все комментарии были рассортированы на группы в соответствии с их содержанием. Таких групп набралось 1027. Это число, конечно, меньше, чем 3522, однако, большой радости оно тоже не внушает.
  • По каждой группе комментариев готовился ответ Ecma (Ecma Response), представлявший фактически проект резолюции, которая должна была быть вынесена на рассмотрение BRM.
  • Начиная с декабря 2007 года, резолюции – по мере готовности - выкладывались на специальном закрытом сайте Ecma, доступ к которому имели представители национальных комитетов. Однако, каждая страна имела доступ только к проектам резолюций, которые были подготовлены с учетом ее комментариев и замечаний – всей картины не было ни у кого, кроме Ecma и Microsoft.
Итоговый документ «Disposition of Comments», превысивший в объеме 2300 страниц (по другим данным – 1600, но и это немало), был опубликован только 14 января 2008 года.
Конечно, со стороны Ecma не обошлось без «вздохов сожалений» о нехватке времени… Но не будем забывать, что у стран-участниц было всего 6 недель (!) на то, чтобы проработать этот документ и определиться со своей позицией на предстоящей встрече.

BRM (25-29 февраля 2008 года)
BRM проходила в Женеве, в Международном Конференц-Центре. На встречу прибыли 32 делегации национальных комитетов, 33-ей (с совещательным голосом) была делегация Ecma.
По правилам ISO, участвовать в BRM должны были все делегации, подавшие комментарии к проекту стандарта.
Главная задача BRM – рассмотрение резолюций, предложенных Ecma, и принятие решений о внесении изменений в проект DIS 29500. Как уже было сказано выше, рассмотреть предстояло 1027 резолюций, включенных в «Disposition of Comments». От того, каким должен был стать проект стандарта, измененный в соответствии с принятыми в ходе BRM резолюциями, зависело, как пойдет финальное голосование стран-участниц после BRM.

Очень подробный «разбор полетов», происходивших на BRM, содержится на сайте ConsortiumInfo.org, в блоге Эндрю Апдегроува (Andrew Updegrove) «The Standards Blog». Эндрю завел специальный пост-страничку, на которой по горячим следам (он сам был участником BRM от США) рассказал об основных событиях в ходе BRM и подобрал большое количество полезных ссылок (некоторыми из них я воспользовался при подготовке своего поста).
Многие участники BRM, у которых имелись собственные блоги, также делали записи в них по ходу встречи и сразу после ее завершения. Я не стану давать здесь отдельные ссылки на эти блоги – наиболее интересные из них упомянуты у Эндрю Апдегроува.

Регламент согласительной встречи предусматривал работу в течение 5-ти дней, с 9 до 17 часов ежедневно. За вычетом времени на кофе-брейки и ланчи, собственно для интенсивной работы оставалось по 6,5 часов в день. Простейший арифметический подсчет показывает, что на обсуждение каждого проекта резолюции из 1027-ми, вошедших в «Disposition of Comments», у участников BRM было менее 2-х минут!

Председателем BRM был Алекс Браун (Alex Brown) – «хороший парень, поставленный в плохие обстоятельства», как отзывались о нем практически все участники BRM.
А.Браун – совладелец небольшой британской компании Griffin Brown Digital Publishing Ltd. На сайте компании сказано: « Мы предоставляем услуги и лицензируем продукты для коммерческих издателей, корпораций, финансовых, правительственных, юридических и исследовательских организаций… фактически для всех, кто имеет – или хочет иметь – пригодный для публикации контент в цифровой форме».
Главной задачей Брауна было соблюдение регламента встречи и обеспечение выполнения всех процедурных вопросов, предусмотренных регламентами ISO. Нужно отметить, что несмотря на многочисленные претензии, высказанные по поводу BRM непосредственными ее участниками и сторонними наблюдателями, практически никто не упрекал самого А.Брауна. Вот мнение Роба Вейра, одного из самых жестких критиков OOXML и BRM: «Я думаю, что Алекс проделал великолепную работу, пытаясь исполнять свои обязанности и быть честным в этой невыигрышной ситуации. Перед ним стояла невыполнимая задача, и ему нужно было найти способ проиграть наименее обидным способом. Это было искусство аварийной посадки самолета, и мы должны признать это.»

Работа BRM строилось следующим образом:
  • Выступления делегаций были организованы по кругу. Каждая делегация (в алфавитном порядке названий стран) имела право выступить с представлением одной из «своих» резолюций (т.е. тех, в которых были учтены представленные страной комментарии к проекту DIS 29500) – той, которая на данный момент представлялась ей наиболее важной.
  • После короткого обсуждения представленной резолюции принималось решение – голосовать ли за резолюцию или передать ее для «оффлайновой» доработки в кулуарах BRM.
  • Поскольку некоторые резолюции, подготовленные по комментариям разных стран, могли быть достаточно близкими по тем изменениям, которые они предлагали внести в проект стандарта, они могли объединяться в пакеты для совместного рассмотрения.
  • Если резолюция уходила в «оффлайн», она имела шанс вернуться и быть проголосованной в один из последующих дней встречи (отнимая тем самым возможность выдвижения на рассмотрение новых резолюций). Однако не все резолюции удостоились такой «более-менее счастливой» судьбы – на рассмотрение абсолютного большинства банально не хватило 5-ти дней, отведенных для проведения BRM.
  • После того, как все делегации выступили по одному разу, начался второй круг выступлений, который так и не был завершен – последней делегацией, получившей слово во второй раз, была делегация Новой Зеландии; это произошло в завершение 4-го дня встречи.
Поскольку с самого начала было ясно, что на рассмотрение всех 1027 резолюций не хватит времени, на третий день BRM делегатам были предложены 4 варианта – как поступить с теми резолюциями, которые не будут рассмотрены в индивидуальном порядке:
  1. Автоматически утверждаются все нерассмотренные резолюции в том виде, как их подготовила Ecma.
  2. Все, что не было обсуждено, не должно утверждаться.
  3. Нейтральная третья сторона (ITTFISO Technical Task Force) решает, какие варианты резолюций Ecma могут быть утверждены.
  4. Голосование по каждой резолюции признается, если было не менее 9-ти решающих («За» + «Против», без учета воздержавшихся) голосов.
В результате обсуждения была принят модифицированный вариант 4 – из него убрали минимальный порог решающих голосов (что теоретически означало, что если бы «За» резолюцию проголосовала одна делегация, а остальные воздержались – резолюция была бы принята).

Процедура, получившая название «Бумажное голосование», строилась следующим образом:
  • По всем оставшимся нерассмотренными в индивидуальном порядке резолюциям каждая делегация подавала свой протокол голосования.
  • В протоколе был предусмотрен вариант по умолчанию («За», «Против» или «Воздержался»), который делегация могла выбрать для всех резолюций «пакетом», если не хотела голосовать за каждую по отдельности.
  • По резолюциям, которые представляли для делегации интерес, можно было выбрать индивидуальный вариант голосования.
Поскольку у каждой делегации было определенное количество резолюций (от 10 до 80), в которых были учтены их комментарии, ожидалось, что именно по этим резолюциям каждая делегация будет давать индивидуальные варианты голосования, а для остальных выберет вариант по умолчанию – предполагалось, что это будет либо «За», либо «Воздержался».
«Бумажное голосование» состоялось в последний день работы BRM.

Статистика BRM:
63 существенных резолюции из 1027, предложенных Ecma, были индивидуально обсуждены и поставлены на голосование.
Еще 126 резолюций, касающихся незначительных редакторских правок, также были одобрены.
Остальные 838 резолюций были пропущены через процедуру «бумажного голосования», описанную выше.
Результаты «бумажного голосования»:
5 стран проголосовали «За» по всем резолюциям – Чили, Кот-дИвуар, Чехия, Финляндия, Норвегия
4 страны проголосовали «Против» по всем необсужденным резолюциям – Индия, Малайзия, ЮАР, США
Многие из резолюций были приняты 6-ю голосами «За» при 5-ти «Против» или 7-ю «За» при 6-ти «Против», без всякого обсуждения.
В целом было одобрено более 1000 резолюций, подготовленных Ecma – 98,4%.

После BRM было высказано много критических замечаний, заключавшихся в том, что более 80% резолюций, подготовленных Ecma, были пропущены через «бумажное голосование» - без обсуждения, без принятия во внимание различных мнений, без согласования аргументов противостоящих сторон. Можно ли в этих условиях говорить о консенсусе – ключевом принципе принятия стандартов?

Сторонники OOXML и Microsoft поспешили назвать итоги BRM большим успехом – хотя окончательная судьба проекта DIS 29500 должна была решиться только через месяц.

Финальное голосование
После завершения BRM у стран-участниц JTC1 был ровно месяц на то, чтобы принять окончательное решение об отношении к проекту DIS 29500. Каждая страна, принимавшая участие в сентябрьском голосовании, могла оставить свой вариант голосования без изменения либо поменять решение на любое другое.

Последние дни марта 2008 года ознаменовались на интернет-форумах и в блогах, освещавших процесс прохождения OOXML через ISO, небывалым ажиотажем. Поскольку официальные данные на сайте ISO не публиковались до истечения времени, отведенного на голосование, энтузиасты обменивались инсайдерской информацией, поступавшей из национальных комитетов. Практически до последнего дня не было ясно – будет ли принят стандарт 29500 или будет отклонен.

Результаты финального голосования, зафиксированные на начало апреля 2008 года, приведены на карте.


Источник: NoOOXML.org

Первое, что бросается в глаза на этой карте (по сравнению с сентябрьской) – серый цвет, в который выкрашена территория России. Это означает, что при финальном голосовании Россия изменила свое первоначальное решение и воздержалась. Видимо, за полгода, прошедшие после сентябрьского голосования, в Ростехрегулировании все-таки пришли к выводу, что «воздержание» не станет тормозом на пути прогресса…
При внимательном взгляде можно также заметить, что увеличилось число «веселых Роджеров» - в сентябре 2007-го их было 11, к апрелю 2008-го стало 15.

Статистика голосования:
Всего по проекту DIS 29500 голосовало 87 стран, 16 из которых воздержались, и их голоса не учитывались при расчете критериев «проходимости».
Из 71 страны, определявшей судьбу проекта, 32 страны являлись У-членами, 39 – Н-членами.
Из 32 У-членов «За» проголосовали 24 страны, что дало 75% при необходимых по «критерию 1» 66,67%. В сентябре 2007 «За» были только 17 У-членов из 32 голосовавших – 53%.
Из 71 страны, принявшей участие в голосовании, «Против» были 10 стран, что дало 14,08% при предельных по «критерию 2» 25%. В сентябре 2007 «Против» были 18 стран из 69 голосовавших – 26%.

Подробная таблица финального голосования, отражающая также изменение позиций стран по сравнению с первым голосованием в сентябре 2007 года, приведена в блоге «Open Malaysia» - в посте «The Last Lap».
Посмотрим, изменение позиций каких стран привело к тому, что DIS 29500 преодолел необходимые барьеры голосования по обоим критериям «проходимости» (более 2/3 голосов «За» от проголосовавших У-членов, более ¾ голосов «За» всех проголосовавших членов JTC1, голоса «Воздержался» не учитывались). Страны, чье изменение голоса повлияло на укрепление позиции DIS 29500, обозначены черным цветом; страны, оказавшие влияние на ослабление позиции DIS 29500, обозначены красным цветом (никаких идеологических мотивов за выбором таких цветов не стоит :) ).
 
У-члены:
Великобритания («Против» -> «За»)
Венесуэла («За» -> «Против»)
Дания («Против» -> «За»)
Ирландия («Против» -> «За»)
Кения («За» -> «Воздержался»)
Норвегия («Против» -> «За»)
Словения («Воздержался» -> «За»)
Тринидад и Тобаго («Воздержался» -> «За»)
Турция («За» -> «Воздержался»)
Финляндия («Воздержался» -> «За»)
Франция («Против» -> «Воздержался»)
Чехия («Против» -> «За»)
Ю.Корея («Против» -> «За»)
Япония («Против» -> «За»)

Н-члены:
Израиль («Воздержался» -> «За»)
Куба («За» -> «Против»)
Маврикий («Воздержался» -> «За»)
Мексика («Воздержался» -> «За»)
Перу («Воздержался» -> «За»)
Россия («За» -> «Воздержался»)
Таиланд («Против» -> «За»)
Филиппины («Против» -> «За»)
Шри Ланка («За» -> «Воздержался»)

Видно, что решающее значение для судьбы DIS 29500 имело изменение позиций ряда У-членов в пользу проекта стандарта. В принципе, позиции Н-членов практически ничего не решали – из 18 стран (и У-, и Н-членов), голосовавших против DIS 29500 в сентябре 2007, в марте 2008 года 8 стран У-членов заняли благоприятную для DIS 29500 позицию (7 – За, 1 – Воздержался).

Разобраться по открытым источникам, что привело к изменению позиций У-стран, практически невозможно – доступной информации очень мало. Вот только немногие факты, ставшие известными:
 Великобритания. Голосование в Британском Институте Стандартов (BSI) принесло результат 5:1 в пользу OOXML. «Против» голосовал представитель IBM. Комментируя на форумах эту новость, многие специалисты высказывали недоумение общим числом голосовавших (6), т.к. в сентябре 2007 года было объявлено, что в специально созданную техническую группу вошло 30 экспертов. В начале мая 2008 года Британская Группа Пользователей UNIX (UK UUG) обратилась в Верховный Суд с просьбой расследовать обстоятельства финального голосования в BSI по проекту DIS 29500; в начале июня Верховный Суд отказался начинать расследование, сославшись на то, что BSI не нарушал процедур при голосовании по DIS 29500.
 Норвегия. В финальном голосовании Норвегия отличилась фантастическим результатом: при том, что «Против» DIS 29500 на заседании профильного комитета проголосовал 21 человек, а «За» - только двое (Microsoft и ее бизнес-партнер, нефтяная компания Statoil Hydro), окончательный вариант, ушедший в ISO был «За». Как такое могло произойти? Ответ простой – борьба за достижение «консенсуса» в том виде, в каком его понимал председательствующий на заседании вице-президент Standard Norge (SN). После того, как первое голосование (21:2) завершилось, председательствующий объявил, что, т.к. консенсус не достигнут, в следующем голосовании будут участвовать только 3 сотрудника SN и 4 эксперта (MS, Statoil и 2 члена профильного комитета К185). При повторном голосовании голоса разделились поровну (председательствующий не голосовал). До третьего голосования были допущены только 3 сотрудника SN (сам вице-президент, секретарь и представитель SN в ISO), но и здесь не было консенсуса. Тогда председательствующий объявил, что сам примет решение по позиции Норвегии в голосовании – и это решение было «За» (!)В сентябре 2008 года 13 членов профильного комитета K185, включая председателя комитета, имевшего 13-летний стаж работы в SN, в знак протеста против нарушений, имевших место при голосовании по DIS 29500 подали в отставку.
 Чехия. Через несколько дней после финального голосования по DIS 29500 правительство Чехии объявило, что заключило с Microsoft крупную сделку по поставке ПО Microsoft, получив от корпорации существенную скидку – экономия составила 700 млн чешских крон (около 44 млн долларов). Конечно, совпадение по времени голосования и сделки со скидкой могло быть случайным…
 
По иронии судьбы, официальная внутренняя рассылка ISO по результатам голосования, произошла 1 апреля! Под предлогом уточнения технических деталей, внешняя публикация была отложена до 2 апреля.
После финального голосования, в соответствии с процедурой ISO, был установлен двухмесячный период для подачи апелляций. Однако, технически подготовка и подача апелляций были затрудены тем обстоятельством, что даже после финального голосования в распоряжении национальных комитетов НЕ СУЩЕСТВОВАЛО финального текста проекта стандарта (т.н. FDIS – Final Draft International Standard). Между тем, в соответствии с правилами ISO, FDIS должен был быть опубликован не позднее месяца после завершения BRM.

В апреле 2008 года Европейская Комиссия по антимонопольному мерам  инициировала расследование возможных нарушений, имевших место при голосовании по проекту DIS 29500. В интересах расследования, чиновники Европейской Комиссии обратились к ряду национальных комитетов с просьбой предоставить информацию о возможных нарушениях при голосовании на уровне стран-участниц ISO.

Апелляции
В конце мая, когда уже истекал двухмесячный период, отведенный для подачи апелляций, 4 страны (ЮАР, Бразилия, Венесуэла и Индия) подали апелляции в отношении процедуры рассмотрения и утверждения проекта DIS 29500:

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

Для того, чтобы рассмотрению апелляций был дан ход, по ним должно было состояться синхронно два положительных решения двух управляющих комитетов – TMB (Technical Management Board) в ISO и SMB (Standartization Management Board) в IEC. Из-за двусмысленно сформулированных текстов бюллетеней для принятия решения по апелляциям, ни в одном из комитетов решение о рассмотрении апелляций не было принято.

В августе 2008 года было объявлено, что все препятствия на пути к публикации DIS 29500 в качестве стандарта ISO/IEC сняты (FDIS к этому моменту так и не появился).

Стандарт ISO/IEC 29500:2008 был опубликован в ноябре 2008 года.

Завершающие штрихи
Понравились две фразы, встретившиеся в блогах. Я даже не буду их переводить :)
OOXML – The Best Open Standard Money Can Buy
All Standards are Created Equal (but some are more equal than others) 

В настоящее время в JTC1 состоит 86 стран, из них 35 имеют статус У-членов, а 51 – Н-членов.
Из стран, являвшихся У-членами в момент рассмотрения DIS 29500, в настоящее время понизили свой статус (в скобках – позиция в процессе DIS 29500): Азербайджан (За), Венесуэла (Против), Иран (Против), Казахстан (За), Кипр (За), Саудовская Аравия (За), Словения (За), Тринидад и Тобаго (За), Турция (Воздержалась), Уругвай (За), Эквадор (Против).
Помните, у нас перед сентябрьским голосованием появилось 12 «новобранцев» среди У-членов? После утверждения OOXML в качестве стандарта ISO, 7 из этих «новобранцев» решили снова стать Н-членами. 4 из этих 7-ми голосовали «За», 2 – «Против», 1 – «Воздержалась». Я ничего не утверждаю, просто привожу статистические данные…

Комментариев нет:

Отправить комментарий