Comment s’élabore un standard du W3C (2016)

English

Les principales technologies du Web obéissent à des “standards” établis par le W3C. Que ce soit HTML, CSS, ou SVG, chacune de leurs implémentations doit suivre les règles d’un document normatif appelé W3C Recommendation. L’objectif est d’avoir un comportement identique dans tout navigateur, sur toute plateforme. Si vous vous demandez comment sont produits ces standards du web, cet article est pour vous.

Le consortium

Fondé en 1994 par Tim Berners-Lee, l’inventeur du web, avec le soutien du MIT, le World Wide Web Consortium (W3C) a pour mission de “mener le web à son plein potentiel” grâce à des directives et protocoles ouverts et interopérables. Exprimé plus simplement, il a pour but d’éviter l’anarchie technologique sur le web.

Le W3C est un consortium d'organisations membres, au nombre de 420 à ce jour. Ces organisations peuvent être des universités, des agences gouvernementales, des fondations, des associations, ou des entreprises de toutes tailles (de IBM avec 378 000 employés à Disruptive Innovations, une entreprise unipersonnelle). Tous les membres du W3C sont traités à égalité, chacun ayant les mêmes droits. Chaque membre cotise, à la mesure de sa taille et de son pays d’origine (ceux des pays riches payent plus cher) pour financer le fonctionnement du consortium. Au Canada, une petite entreprise ou un organisme à but non lucratif de moins de 10 employés doit payer 2 250 USD annuellement, et pour une très grosse entreprise (plus d’un milliard de chiffre d’affaires), c’est 77 000 USD. Si Spiria voulait devenir membre, nous devrions payer 7 900 USD. Bien sûr, l’investissement est bien plus élevé que la seule cotisation, puisque vous devez en tant que membre déléguer des représentants aux groupes de travail qui vous intéressent. Vous payez en quelque sorte pour le privilège de travailler gracieusement pour le W3C, ce qui se conçoit pour la défense du web ouvert ou celle de votre vision de l’avenir d’une technologie.

Les entreprises membres sont d’horizons très divers, mais elles ont toutes un intérêt dans le développement de technologies liées au web. On y trouve par exemple, pour ne citer que parmi les plus connues : Adobe, Akamai, American Express, Apple, Baidu, BlackBerry, Bloomberg, Boeing, BBC, Canon, Cisco, Comcast, Dell, Deutsche Telekom, Dolby Laboratories, Dropbox, eBay, Facebook, Fujitsu, Google, Hachette Livre, Hewlett Packard, Hitachi, HBO, IBM, Intel, Intuit, Jaguar Land Rover, Konica Minolta, LG, Microsoft, NEC, Netflix, NHK, Nielsen, Orange, Panasonic, PayPal, Samsung Electronics, Siemens, SoftBank, Sony, Target, Telefónica, Toshiba, Twitter, Verisign, Verizon, Viacom, Visa, The Walt Disney Company, Worldpay, Yahoo, Yandex, etc.

Le Consortium est conjointement administré par quatre institutions : le Laboratoire d’informatique et d’intelligence artificielle de l’Institut de technologie du Massachusetts (Cambridge, MA, USA), le Consortium européen de recherches en informatique et mathématiques (Sophia Antipolis, France), l’université Keiō (Tokyo, Japon) et l'université Beihang (Pékin, Chine). Ses employés, au nombre d’environ 75, sont répartis dans le monde entier, principalement sur trois sites : Cambridge (MA, USA), Sophia-Antipolis (France) et Tokyo (Japon).

Les groupes de travail

L’élaboration des standards du W3C est effectuée au sein de différents groupes thématiques, plus ou moins actifs, qui sont aujourd’hui au nombre de 38. Dans la liste, on trouve bien sûr le Web Platform Working Group qui s’occupe du développement du langage HTML, le Cascading Style Sheets WG, le SVG WG, mais aussi de nombreux autres moins connus qui traitent de sujets aussi divers que la cryptographie pour les applications web, les protocoles du web social, le paiement en ligne, l’internationalisation, les APIs audio, etc.

Un groupe de travail est encadré par une “charte” qui définit sa mission, le périmètre de ses activités, la ou les spécifications sur lesquelles il travaille, ainsi que des règles de fonctionnement. Il est animé par un ou deux présidents (chairman) venant d’organisations membres du W3C et par un “team contact” salarié par le W3C. Un groupe peut comprendre d’une dizaine à plusieurs centaines de participants, tous membres du W3C, mais pas tous nécessairement actifs dans les débats et délibérations. Il est possible d’adjoindre aux membres des experts invités. À titre d’exemple, le groupe SVG est aujourd’hui composé de 41 participants et de 4 experts invités. Dans un groupe, on observe généralement un noyau dur de dix à vingt participants qui font l’essentiel des débats et de l’écriture, les autres étant là plus à titre d’observateurs silencieux, ou intervenant que de manière très ponctuelle.

Un groupe de travail peut disparaître, par manque d’intérêt des participants, parce que le sujet traité est devenu obsolète, parce que le groupe pense qu’il n’y a plus rien d’important à ajouter pour le moment à son œuvre, et en dernier lieu parce que la spécification est un échec auprès de ses utilisateurs potentiels (on pense au désastre de XHTML 2.0). Un groupe peut aussi renaître si le besoin d’une nouvelle version de la spécification se fait sentir et qu’il y assez de membres à vouloir travailler sur le sujet. Ce fut le cas par exemple du Math Working Group qui s’occupait de définir le langage Mathematical Markup Language (MathML). Le groupe a disparu en 2004 et est redevenu actif en 2006 pour élaborer la version 3 du langage, avant de disparaître à nouveau cette année après que sa nouvelle recommandation soit devenue un standard ISO.

Le principal outil de travail du groupe est une liste de diffusion par courriel, souvent complétée de réunions hebdomadaires par téléphone ou vidéoconférence, et de plus rares réunions physiques, quelques-unes par an, car elles sont difficiles à organiser quand les participants sont aux quatre coins du monde. La plupart des groupes travaillent en public ; les messages des listes, documents de travail, comptes-rendus de réunions sont accessibles à tout le monde. Ce qui permet à la communauté web de suivre les travaux, de réagir aux orientations prises et de faire connaître son point de vue au groupe de travail.

Le processus vers un standard du web

L’objectif ultime d’un groupe de travail est de publier la spécification d’un standard du web, appelée officiellement une Recommandation W3C. Le principe fondamental qui préside à l’élaboration d’une recommandation est la recherche de consensus. En cas d’absence de consensus, les présidents de groupes peuvent appeler à un vote. En tout dernier ressort, c’est le directeur du W3C, Sir Tim Berners Lee, qui a le pouvoir d’arbitrage et de décision. Les présidents ont le devoir de s’assurer que tous les points de vue et objections légitimes, qu’ils viennent de membres du groupe, d’autres groupes et même du public, aient bien été pris en considération. Le consensus est considéré comme atteint quand aucun membre ne s’oppose formellement et de façon argumentée à une décision. Qui ne dit rien est censé consentir et le quorum n’existe que s’il est explicitement défini dans la charte du groupe. Cela dit, le W3C recommande de mettre en moyen des outils pour éviter les décisions prises avec peu de soutiens explicites dans une ambiance d’“apathie généralisée” (“widespread apathy”).

Lorsque la première recommandation a suffisamment pris forme, le groupe publie le document en |'état. C’est un Working Draft (brouillon de travail). Il constitue un appel à la communauté (membres du W3C, autres organisations, public) à examiner le projet et à faire part de ses commentaires et suggestions. Certaines parties du document peuvent ne pas avoir fait consensus au sein du groupe. Il est recommandé qu’un nouveau Working Draft soit publié quand il y a eu des changements significatifs depuis le précédent, changements qui pourraient bénéficier de l’examen du public.

Après plusieurs Working Drafts successifs, lorsque le groupe de travail pense que le document est achevé, faisant entièrement consensus, la spécification est publiée comme Candidate Recommendation, puis comme Proposed Recommendation. À ces stades, sa qualité doit être approuvée par le directeur et le comité consultatif du W3C. La spécification doit aussi faire preuve de l’implémentabilité de tous ses points et qu’elle a bien été examinée par toutes les parties concernées de la communauté web. Si des changements substantiels sont demandés, la CR est rétrogradée au stade de Working Draft. Dans le cas contraire, elle deviendra un standard du web : une W3C Recommendation. Gaudeamus igitur !

Un processus lent et difficile

Sur le papier, comme décrit ci-dessus, le processus peut sembler un long fleuve tranquille atteignant sans grand coup férir le delta de la félicité qu’est la W3C Recommendation. Il n’en est rien.

Des spécifications comme HTML et CSS concernent un très grand nombre d’acteurs et les débats, parfois passionnés, peuvent sortir des “murs” du W3C. De plus, au sein d’un Working Group, il peut y avoir des luttes d’influence entre des membres qui n’ont pas nécessairement les mêmes intérêts stratégiques, qui sont en compétition économique frontale et qui veulent pousser des fonctionnalités plus que d’autres. Aussi, les membres qui sont de grosses entreprises technologiques (pensez Google, Microsoft, Facebook, Apple, IBM, etc.) peuvent avoir tendance à pousser vers la rapidité (time to market) plus que la qualité. Sans oublier les impondérables humains, comme les inutiles batailles d’ego… Les affrontements peuvent ainsi parfois être brutaux. Daniel Glazman, qui présida le groupe CSS de 2008 à 2016, dit souvent que la standardisation au W3C, “c’est de l’hémoglobine sur les murs dans une ambiance feutrée”.

Ensuite, les nécessaires processus de démonstration de l’implémentabilité et l’interopérabilité prennent énormément de temps. Et certains groupes peuvent ne pas avoir toujours les moyens de leurs ambitions, n’ayant pas assez de gens compétents et suffisamment disponibles pour faire avancer le travail comme il serait souhaité.

Le résultat est qu’aboutir à une Recommandation W3C est un long chemin (souvent plusieurs années), parfois cahoteux. Mais lorsqu’on y arrive, force est de constater que les recommandations du W3C sont de véritables œuvres d’art, l’emploi du moindre mot a été mille fois jaugé, sous-pesé, examiné et contre-examiné. Les recommandations obéissent aussi à un certain formalisme stylistique qui en font un modèle de précision et clarté. Tout est fait pour qu’il n’y ait pas place à l’interprétation ou à la mauvaise compréhension. Les recommandations du W3C sont la garantie indispensable d'un web ouvert, accessible et intéropérable.


How to develop a W3C standard

Nowadays, all the main technologies used on the Web follow World Wide Web Consortium (W3C) standards. Be it HTML, CSS, or SVG, its implementation must follow the rules set out in a standards document called a W3C Recommendation. The goal of these rules is to ensure identical behaviour across all navigators and platforms. If you’ve ever wondered how Web standards are defined, read on.

The Consortium

Founded in 1994 at MIT’s instigation by Tim Berners-Lee, inventor of the Web, the W3C’s mission is to bring the Web to its full potential through guidelines and open and interoperable protocols. Simply put, it aims to avoid technological anarchy on the Web.

The W3C is a consortium of organizations which, at last count, totalled 420 members, including universities, government organizations, foundations, associations, and companies of all sizes, ranging from IBM, with its 378,000 employees, to Disruptive Innovations, a single-person company. All members of the W3C enjoy the same weight and rights, while paying variable membership fees, depending on their size and country of origin (companies from richer countries pay higher fees). In Canada, smaller and not-for-profit companies with fewer than 10 employees pay yearly dues of US$2,250, while very large companies (over one billion dollars in revenue) pay US$77,000. If Spiria were to become a member, our dues would be US$7,900. But members’ actual investment goes beyond just membership fees, since they send representatives to the consortium’s various working groups. In other words, members pay for the right to work for the W3C. But in fact, members are investing in the openness of the Web and their vision of the future of technology.

Member companies are extremely diverse, their one point in common being an interest in the development of Web technologies. Among the most familiar names are Adobe, Akamai, American Express, Apple, Baidu, BlackBerry, Bloomberg, Boeing, BBC, Canon, Cisco, Comcast, Dell, Deutsche Telekom, Dolby Laboratories, Dropbox, eBay, Facebook, Fujitsu, Google, Hachette Livre, Hewlett Packard, Hitachi, HBO, IBM, Intel, Intuit, Jaguar Land Rover, Konica Minolta, LG, Microsoft, NEC, Netflix, NHK, Nielsen, Orange, Panasonic, PayPal, Samsung Electronics, Siemens, SoftBank, Sony, Target, Telefónica, Toshiba, Twitter, Verisign, Verizon, Viacom, Visa, The Walt Disney Company, Worldpay, Yahoo, and Yandex.

The Consortium is jointly administered by four institutions: the Massachusetts Institute of Technology’s Computer Science and Artifical Intelligence Laboratory (Cambridge, MA, USA), the European Research Consortium for Informatics and Mathematics (Sophia Antipolis, France), Keiō University (Tokyo, Japan) and Beihang University (Beijing, China). WC3’s 75 employees are spread out over three main sites: Cambridge (MA, USA), Sophia-Antipolis (France) and Tokyo (Japan).

The Working Groups

W3C standards are defined by now 38 specialized working groups, some of which are more active than others. Some are well-known: Web Platform Working Group (for HTML language development), Cascading Style Sheets Working Group, SVG Working Group). Lesser-known working groups work on such diverse issues as cryptography for Web applications, protocols for social networks or on-line payments, internationalization, audio APIs, etc.

Working groups are guided by a “charter” defining their mission, scope of activities, specifications to be worked on, and operating procedures. Working groups are presided over by one or two chairpersons employed by member organizations, and by a “team contact” employed by W3C. Working groups can have dozens or hundreds of participants, all representing W3C members, though not all of them take an active part in the discussions and work. Members can also invite experts to help them in their work. For example, the SVG group is made up of 41 participants and 4 invited experts. Groups usually have a “hard core” of ten to twenty participants who do most of the work, with other participants acting as silent observers or intervening only occasionally.

Working groups can be abandoned if they lack participants, if the issue under study has become obsolete, if the group thinks it can’t do any more about the issue for the foreseeable future, or if the proposed specification has had no take-up by users (think of the XHTML 2.0 fiasco). Groups can be reconstituted when there is a need for a new version of a specification and enough members show an interest in the work. This was the case, for example, of the Math Working Group, responsible for defining the Mathematical Markup Language (MathML). The group was eliminated in 2004, reassembled in 2006 to develop version 3 of the language, then disbanded this year after its recommendation was adopted as an ISO standard.

The main work tool of the working groups is a mailing list, complemented by weekly telephone or video conferences, and sometimes by in-person meetings, though these are rare, due to the difficulty of gathering participants from the four corners of the world. Most of the work of working groups is public, and their email messages, working documents, meeting minutes and other documents are available to the general public. This means that the entire Web community can follow their work, react to decisions made and express views to the working groups.

The Web Standardization Process

The ultimate goal of any working group is to publish a Web standard specification, officially referred to as a W3C Recommendation. The guiding principle of working groups is to seek to achieve recommendations on a consensual basis. When no consensus can be reached, chairpersons can call a vote and, as a last resort, the Director of W3C, Sir Tim Berners Lee, has the final decision-making power. In this case, the role of the chairpersons is to ensure that all viewpoints and legitimate objections coming from members of the group, from other groups and from the general public are all taken into consideration. Consensus is considered to have been reached when no member of the group actively opposes a decision or presents factual arguments against it. Silence means consent, and quorum is only required if specifically stated in the group’s charter. This said, the W3C recommends that steps be taken to avoid any decisions based on “widespread apathy” rather than on explicit support.

When a working group’s first recommendation is roughed-out, it is released as a Working Draft, at which point members of the W3C, other organizations, and the general public can review the draft recommendation and make comments and suggestions. Parts of the document can have failed to achieve consensus within the working group. An updated Working Draft is released every time significant changes that could benefit from a public examination are brought to a recommendation.

After several versions of the Working Draft, when the working group believes that the recommendation is final and consensual, the specification is published as a Candidate Recommendation, then as a Proposed Recommendation. At these stages, the quality of the specification must be approved by the Director and the W3C Advisory Committee. It must also be shown that the specification is fully implementable and that it has been examined by all Web community stakeholders. Candidate Recommendations that are subject to requests for substantive change are demoted to Working Draft status; Proposed Recommendations that are generally accepted become a new Web standard as a full-fledged W3C Recommendation. Mazel Tov!

A Slow, Cumbersome Process

On paper, the process can look like a slow, steady process placidly flowing to that sea of felicity called the W3C Recommendation. In fact, the process is much more toilsome.

Specifications like HTML and CSS, which involve a huge number of stakeholders, can lead to passionate debates which often spill outside of the W3C. And even within Working Groups, power struggles arise between members who are direct competitors on the marketplace and who vie for certain features to serve their diverging strategic interests. Also, large technology companies (such as Google, Microsoft, Facebook, Apple, IBM, etc.) can push for speed (“time to market”) over quality. And then there is the human factor, such as ego trips… Some of the arguments can reach epic proportions. Daniel Glazman, who chaired the CSS Working Group from 2008 to 2016, has likened the W3C standardization process to “bloodshed in plush surroundings”.

Further, the process of demonstrating implementability and interoperability always takes a huge amount of time. Not to mention that some groups are hampered by a lack of people with the expertise and availability to further their work.

The upshot is that W3C Recommendations are the result of a years-long, wearisome process. But when they do emerge, they are works of art, their every word having been assessed, weighed, examined and cross-examined. Recommendations follow a precise form and style that make them models of precision and clarity, with no room for either interpretation or misinterpretation. W3C recommendations are a guarantee of an open, accessible and interoperable Web.