Just before beginning to write this post, I had an entirely different post in mind. I was going to write about the W3C (The World Wide Web Consortium) and how they build and maintain the web standards that make the internet work essentially. This I was convinced about going into it. It is the one consistent acronym that I have heard throughout the years when it comes to web development and standardization. Who the W3C is wasn't exactly clear, but it was assumed that it was a collaborative effort between the many big internet companies, such as Amazon, Google, Microsoft and such that came together at some point to help standardize browser development. Who exactly at these companies, I didn't really know just yet.
This is where my search began, and it ended somewhere completely different than where I had in mind. So if you are interested in learning how the HTML standards that we use everyday get made, then read on and enjoy the somewhat shaky ride.
As it turns out, in total there are over 400 companies[1] on the list of official members to the W3C. Membership is open year round to organizations of various sizes. Everything from non-profits to companies with billions of dollars in revenue can join essentially, after the membership process and yearly fees are taken care of and after the board has reviewed the application.
The W3C is still run and directed by Tim Berners-Lee[2], the man who invented the internet in 1989. No, it was not Al Gore. The consortium's mission? To lead the web to its full potential by developing protocols and guidelines that ensure the long-term growth of the web.
The W3C's overall goal is to achieve the concept of One Web. When researching, One Web came up during a 2006 keynote[3] on mobile web development.
And it can more clearly be defined as follows:
... where Web technologies provide the means of accessing and interacting with content via and between all devices (computing, communications, PIM, entertainment, embedded, transportation, industrial, health care, etc.)
... worldwide.
It sounds like we are there already.
In 2012, 5 organizations (including the W3C) came together to jointly agree on a set of 5 core principles for coming up with web standards, dubbed Open Stand. Open Stand does not have a relation to One Web, as far as I know. The other members include the IEEE, the Internet Society, IETF and the IAB.
Open Stand, as defined by them, is a movement dedicated to promoting a proven set of principles that establish The Modern Paradigm for Standards.
At this point, I sort of started to make up a picture in my mind of the many connected nodes and how they work. The W3C, a member of OpenStand, a 5-group joint agreement to promote the creation useful standards, and a follower of the One Web notion, whose job is to help keep standards organized, but they don't actually come up with the standards, at least, not anymore.
So no, the W3C does not come up with the HTML standards that browsers should follow.
Enter the WHATWG.
The actual HTML specification is currently maintained by another group titled WHATWG[4]. The Web Hypertext Application Technology Working Group (WHATWG) is a community of people interested in evolving the web through standards and tests, or so their website says.
The WHATWG was founded by individuals of Apple, the Mozilla Foundation, and Opera Software in
2004, after a W3C workshop, due to the slow development of standards from the W3C[5]. In 2017, Apple, Google, Microsoft, and Mozilla helped develop an IPR (Intellectual Property Rights) policy and governance structure for the WHATWG, together forming a Steering Group to oversee relevant policies.
What is the Steering Group? Good question. The Steering Groups job is to govern and guide the WHATWG to an open and efficient platform for the development of the HTML Living Standard. What is the HTML Living Standard? I'll get to that in a minute, as soon as I'm done with the Steering Group and WHATWG.
The following is a copy and pasted description of what the WHATWG does, and I feel it is the most concise definition so far and I could do no better in an explanation.
Living Standards are informed by input from contributors, driven by workstream participants, articulated by editors, and coordinated by the Steering Group. If necessary, controversies are resolved by the Steering Group with members appointed from the organizations that develop browser engines, as a backstop to ensure the editor's judgment aligns with what they will implement. Substantive technical objections are considered and resolved by the Steering Group, consistent with the principles of the WHATWG
Okay, back to the Living Standard. In 2007 the Steering Group proposed that the W3C HTML group adopt the WHATWG "HTML5" standard as a place to begin with their work. You can find the email proposing the adoption on this public archive. HTML5 eventually came to be known as the "HTML Living Standard" as the agreement was that it would be continuously updated indefinitely.
So just to recap. Living Standards are brought up by contributors (which can be anyone on the WHATWG mailing list), which are "driven" by workstream participants, which can be any entity that has agreed to the workstream agreement, but they are further articulated by "editors". Editors are designated by the Steering Group and have authority to modify a Living Standard. Any issues, conflicts, or final decisions are left lastly to the Steering Group, if need be.
There is a small "invitation-only" group, however, referred to as "Members" which has the power to impeach the editor of a specification if they deem it necessary.
Just to jump back a little. Anybody can be a contributor to the standard, including yourselves. All you have to do is to join the mailing list, follow the code of conduct, and contribute to the standard itself, which is maintained through this Github repo.
And that's how the HTML Living Standard is currently maintained and why we get to write HTML and make websites. If that was confusing to you, then you are not alone. If anything, it definitely brings to light just how young and still fragile the internet is.
I hope you enjoyed this slightly less-confusing (I hope) version of the process of current web standardization. Now that you know how it works, maybe you can help to contribute on the standard and to be a part of this constantly shifting "thing" that we call the internet.
Happy web development.
- Walt