Как всем известно, существует две спецификации HTML: W3C (консорциум World Wide Web) и WHATWG (компании Apple, Google, Microsoft и Mozilla, де-факто авторы стандарта HTML5). На этой неделе между создателями спецификаций состоялся открытый конфликт.

Ситуация развивалась следующим образом. Началось всё с того, что W3C сделала форк спецификации живого стандарта WHATWG DOM и назвала его DOM 4.1. Затем W3C внесла в неё несовместимые изменения и объявила форк официальной спецификацией, хотя по факту вся важная работа производилась в версии WHATWG.

Прошло некоторое время, и месяц назад стартовало публичное обсуждение предложения W3C сделать спецификацию Кандидатом в рекомендации (после неё существенные изменения по сути уже не вносятся, только уточняются детали дизайна в PR, рекомендация принимается официально). Прочитать это познавательное обсуждение можно на Github по адресу.

Логично предположить, что у некоторых членов W3C возникли вполне обоснованные возражения по поводу несовместимости двух версий DOM. Здесь в вопрос вмешался CEO W3C, который вступил с ними в спор и отклонил все их возражения, продвинув спецификацию до статуса Кандидата в рекомендации (Candidate Recommendation, CR) и объявив призыв к консенсусу.

Разумеется, членам WHATWG такой поворот событий не понравился. После того, как директор W3C отказался изменять спецификации, эти компании несколько дней назад выступили с официальным возражением (Formal Objection) против DOM 4.1, пообещав W3C, что в текущем виде данную спецификацию ни один из движков браузеров реализовывать не собирается — поскольку две несовместимые версии DOM не нужны ни разработчикам, ни пользователям.

В своём возражении Google указала на конкретные технические проблемы несовместимости с новой спецификацией W3C:
Использование некорректного Web IDL (языка определения веб-интерфейса), несовместимости Event Dispatch, интеграции Shadow DOM, интеграции отдельных элементов, Ranges и обхода дерева DOM
.В итоге W3C была вынуждена взять тайм-аут и пообещала сначала рассмотреть технические проблемы, после чего вернуться к принятию DOM 4.1.

Возникает вопрос — зачем всё это нужно W3C? Как утверждается, дело в том, что помимо членов WHATWG, в организации W3C состоит ещё 450 компаний, которые не имеют особого влияния на мир браузеров, но регулярно приносят W3C доход в виде взносов. В прошлом году W3C провернула похожий трюк с DRM (Encrypted Media Extensions), который, со слов инженера Google Яна Хиксона, «невозможно реализовать практически» — ради того, чтобы привлечь в консорциум несколько компаний, у которых до этого момента не было причин спонсировать W3C.

Многострадальный черновик W3C DOM 4.1 можно скачать по ссылке. Самая первая версия спецификации DOM была подготовлена W3C почти двадцать лет назад — 1 октября 1998 года. Ссылки на возражения: возражение Mozilla, возражение Apple, возражение Microsoft, возражение Google.

Комментарии (14)


  1. Goodkat
    14.04.2018 15:43
    +13

    А зачем вообще нужен W3C, если все разработчики браузеров дружно состоят в конкурирующей организации? Я бы понял, если бы часть разработчиков была в W3C, а часть в WHATWG или ни в одной из этих организаций, то кому-то нужно было выступать посредником, стандартизировать всё это и разрешать конфликты.


    1. Gizmich
      14.04.2018 15:53
      +2

      Я так понимаю разработчикам браузеров только волю дай, интернет превратится в 1 корпоративный сайт. А так вроде какой-то противовес этим монстрам индустрии


      1. Vitalley
        14.04.2018 16:03

        Так если не успели w3c подготовить свою спецификацию вовремя, то уже поезд ушел, тем более более 90% браузеров под гуглом, куда денуться?


      1. Zenitchik
        14.04.2018 16:55
        +6

        Противовес почему-то действует по схеме «на зло маме уши отморожу».


      1. Tsimur_S
        14.04.2018 20:18
        +4

        а какой тут противовес? какие рычаги давления есть у w3c?


      1. TheShock
        15.04.2018 03:38
        +10

        Я так понимаю разработчикам браузеров только волю дай

        Пока не появился WhatWG — интернет стоял на месте — W3C погряз в бюрократии и занимался никому не нужной фигней. Это абсолютно бессмысленная компания, которой уже лет 10 пора на свалку. Еще в статье 2011-ого года я говорил, что им пора на свалку — они только тормозят веб. За 7 лет ничего не изменилось. WhatWG — двигают веб, W3C — занимаются фигней за спонсорские деньги


        1. firk
          16.04.2018 00:21
          -1

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


          1. TheShock
            16.04.2018 00:30

            Веб двигался вперед, стоял на месте только В3Ц. В итоге — что-то (вроде видео) делалось флешем. Вместо прекрасных флексов мы верстали таблицами/дивами-абсолютно/дивами-плавающе, в ИЕ6 применяли фильтры и остальной мусор.

            постоянная обратная несовместимость сайтов со старыми версиями браузеров

            И в чем проблема, если новые версии браузеров — доступные? А старые, обычно, применяются с graceful degradation?

            а авторы браузеров вместо того чтобы хоть раз реализовать стабильную спецификацию и до конца её отладить, гонятся за добавлением ненужных фич с багами

            А можно примеры? Потому что примеры ненужных фич w3c с багами я могу назвать. Те же xhtml1.1 и drm, которые уже тут вспомнены


            1. firk
              16.04.2018 14:34

              Проблема в том, что нормальный софт должен работать, будучи разово установленным, и в крайнем случае — получать обновления с фиксами критических багов (но само их наличие уже означает, что софт, скорее всего, недоделаная бета). Текущая же ситуация, созданная участниками WHATWG, всячески препятствует осуществлению вышенаписанного. Тот же Debian, до, кажется, 6 версии пытался поддерживать стабильную, по их понятиям, версию firefox на протяжении всего мажорного релиза системы, что с их стороны было совершенно правильно, но на 7 версии сдались, потому как срок работы одной версии, даже при поддержке её security патчами из следующих версий, сократился до неадекватно коротких периодов времени.


              А можно примеры?

              Примеры чего? Багов — посмотрите в багтрекерах. Ненужных фич — в changelog'ах.


    1. Drag13
      14.04.2018 17:31
      +16

      По идее для независимости. Но после того как они одобили DRM в стандарт я не понимаю зачем они нужны.


      1. Opaspap
        15.04.2018 07:28

        До этого ещё был push api.


  1. tsafin
    14.04.2018 22:58
    -1

    А chaals продолжает взаимодействовать с Яндексом?


  1. lostpassword
    15.04.2018 08:10
    +2

    Спасибо за ссылку на обсуждение, очень интересно.


  1. capslocky
    16.04.2018 14:07

    Интересно, что Тим-Бернерс Ли — директор W3C, а CEO — Jeffrey Jaffe.