Противостояние W3C и WHATWG: Apple, Google, Microsoft, Mozilla возражают против DOM 4.1
Как всем известно, существует две спецификации HTML: W3C (консорциум World Wide Web) и WHATWG (компании Apple, Google, Microsoft и Mozilla, де-факто авторы стандарта HTML5). На этой неделе между создателями спецификаций состоялся открытый конфликт.
Ситуация развивалась следующим образом. Началось всё с того, что W3C сделала форк спецификации живого стандарта WHATWG DOM и назвала его DOM 4.1. Затем W3C внесла в неё несовместимые изменения и объявила форк официальной спецификацией, хотя по факту вся важная работа производилась в версии WHATWG.
Прошло некоторое время, и месяц назад стартовало публичное обсуждение предложения W3C сделать спецификацию Кандидатом в рекомендации (после неё существенные изменения по сути уже не вносятся, только уточняются детали дизайна в PR, рекомендация принимается официально). Прочитать это познавательное обсуждение можно на Github по адресу: https://github.com/w3c/dom/issues/175.
Логично предположить, что у некоторых членов 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.