September 18, 2016

HTML, EME and Open Standards


Open Standards are standards (specifications of formats or protocols) that follow five simple rules.

They have to be:

  1. subject to full public assessment and use without constraints in a manner equally available to all parties;
  2. without any components or extensions that have dependencies on formats or protocols that do not meet the definition of an Open Standard themselves;
  3. free from legal or technical clauses that limit its utilisation by any party or in any business model;
  4. managed and further developed independently of any single vendor in a process open to the equal participation of competitors and third parties;
  5. available in multiple complete implementations by competing vendors, or as a complete implementation equally available to all parties.


The importance of Open Standards is somewhat highlighted by its definition itself: an Open Standard can simply be used by anyone, without restrictions. This allows any developer to implement such a standard, and avoids user exclusion - anyone is free to use an Open Standard. This importance has been recognized though the years, and lately that recognition has reached into higher policy levels, with countries like Portugal mandating that the Public Administration must exclusively use Open Standards, as a way to ensure citizens unrestricted access to public data and services.

One good example of an Open Standard is HTML. Even if you're not very aquainted with technical issues, you probably already heard about HTML -- or at least seen a "Web address" (called URL) like "http://somesite.org/this.html". This happens because HTML is the "language of the web": each webpage is written in a format, called HTML, and since all the web pages are written in that same format, and because that format is an open standard, anyone can create a computer program (in this case, a web browser) that reliably receives the web page in that format and knows how to correctly display it on your computer screen. This is what makes it possible for you to see the same web page on your phone, your computer, your tablet, even if you are using different programs to see it. It doesn't matter weather you're using Android's web browser on your phone or Firefox on your computer, while your friend is using iOS's web browser and Safari on his Mac laptop. Everyone can see correctly a web page: that's one of the beauties of the Web, and that happens because HTML is an Open Standard.

So, what's this EME thing? And why are people fussing about "DRM in HTML"?

EME is a proposed specification that aims to "extend HTMLMediaElement" (which is a part of the HTML specification). What this means is that, if EME is approved, a part of HTML's current specification is going to be updated. The "new version" includes two kinds of changes: some mandatory and some optional. In its own words, "Implementation of Digital Rights Management is not required for compliance with this specification: only the Clear Key system is required to be implemented as a common baseline." W3C argues that this constitutes no problem, and that they are not adding DRM into HTML, because implementing DRM is not required. However, the fact that implementing DRM is possible (even if not mandatory) means that, if a website uses such an implementation, either your web browser also uses it, or you won't be able to see that part of the website (remember what I said before about the web being seen by everyone? That wouldn't happen anymore.) Of course, this wouldn't need to be an issue at all: if the specification allows for that implementation, its just a matter of all browsers implementing it, right? Wrong. The problem here is that the "specification does not define a content protection or Digital Rights Management system".

In other words: EME introduces the possibility to use things (DRM systems) that are not part of the specification, so the complete specification (a way for an independent party to implement all the specification) isn't available -- EME is not an Open Standard. And since EME aims to be inserted into HTML (by updating part of its specification), then HTML will have an extension (EME) that has "dependencies on formats or protocols that do not meet the definition of an Open Standard themselves". Yes, EME approval would make HTML stop being an Open Standard.

Summing up

HTML is an Open Standard, and that is good for everyone. So good, in fact, that some countries, like Portugal, mandate that public administrations can only use Open Standards. However, there is a proposal (EME) that, if approved, will make HTML stop being an Open Standard. That will have an high negative impact in Public Administrations, citizens and the overall web community -- which nowadays means the citizens of the world.

This approval would have an high social, political and cultural impact everywhere. From the current era of shared knowledge, easy access to information, and overall making the world more accessible, we might be heading towards the dark ages of the web. There is, of course, a solution: let's make W3C know that we oppose EME, and ask them not to approve it.