February 27, 2010

Masinter and Web Standards, Oh My

,,,,,,,,,

There's been so much hooey flung around that it's hard to know where to start. This is a little haphazard, so I might reorganize some of the topics later.

Not me

Just in case you weren't watching, there was an enormous flap, started by a completely astounding blog post that somehow "Adobe is blocking HTML5!" and reference to some mystery, when nothing had ever been blocked. If you want to read about this and the nonsense around it, it's easy to find. Not sure how much of the muck-racking I need to repeat here. If you don't know what I'm talking about, let me know and I can point you to it.

Secret mailing lists

In the great tradition of conspiracy theories, it was claimed that there was a secret mailing list on which objections were being discussed? What secret mailing list was everyone talking about? Who subscribes to it? What is its charter? What topics are discussed on it? Who is the chair? How do decisions get made in it? (Post answers in blog comment! T-shirt to first to send correct answers.)

Transparency in Standards

Is it OK with everyone that the working group charter says one thing and the truth is something else? What I was asking for was transparency. I said they were not in scope for the current charter. And now we have an updated charter, at least. The W3C HTML WG charter still needs "annotation" to make it truthful clearer about communication (how many mailing lists and bugzilla databases do you need to watch to know what's going on?), participation (how many invited experts or members from a single company are there, in "good standing", even though they never actually participate?), and decision policy (there's a separate HTML WG only Decision Policy, with its own bugzilla database, in a Nomic twist.)

Updating the charter to say these things were in scope was always a way of bringing them into scope. That W3C wanted to save face and call it an "annotation" and skip the normal W3C rechartering process -- well, so many exceptions were made for HTML in the first place, that's fine.

What makes a "standard" process "open" isn't just "everyone can read the mailing list". Trying to follow the HTML standard requires withstanding a "denial of service" attack; thousands of emails, messages, posts, edits to track every single month. No one person can really follow what's going on..

Organizational scope and modularity

Well, this is a longer topic, and there are a lot of others who are blogging or discussing this, and I've blogged about it too. Short answer is: big committee, big spec, big mess. Splitting things up to minimize interactions between pieces is what distinguishes "architecture" from "hack". Anyone with serious experience building large systems should know this.

Masinter as Adobe's representative

I do work for Adobe. I get paid by them. And I do work on Standards now as my job. So you might think that, well, if I say something, Adobe is saying it?  I suppose I need to start putting more disclaimers on my email.

My work at Adobe has been mainly in the Advanced Technology Group working on a pretty wide variety of topics (content management, archiving, layout) and then in the Creative Solutions Business Unit (focus on workflow and metadata for video and timed media.) I kept up my standards affiliations because I thought it was important and I had some history, but really only started doing standards full-time in late 2008.

Other people and their affiliations

The idea that I am Adobe's Larry Masinter, but Hixie is Hixie and diveintomark (or just 'Mark' on some blogs) aren't somehow representing Google... or that Maciej isn't representing Apple? I guess I'm just jealous. Why do they get a free pass? I'm going back to using LMM@acm.org as my posting address, not to hide my affiliation but to make it clearer when I'm speaking for myself. Which leads me to try to explain why you should believe that.

My history in standards

I've worked on web standards but also the processes around developing them for long before I joined Adobe; I chaired the URI working group, and the HTTP working group for many years, and also participated significantly in the original development of HTML. Back in '93, I convinced everyone to use MIME in HTTP to allow extensibility (HTML wasn't the only document format then, and isn't now) and interoperability between the web and other Internet applications. I spent many years trying to bring stability, extensibility, architecture, internationalization, and security into the web platform. I not only worked on the web technically, but also worked on the standards processes. Chairing the URI working group and the HTTP working group while the browser vendors were trying to kill each other in the marketplace was a great career success for me: to (usually) get people to leave their partisan bickering outside the process. I was on the W3C Advisory Board and quite active in developing the W3C process document (including the little-known provision that the W3C Director does *not* have final authority; almost all Director decisions can be appealed, at least if people know about them.)

I had brought to IETF and W3C previous experience in standards work in ANSI X3J13. I had spent a lot of time in that standards effort developing the essentials of an "issue" as a resolution process (documented in a 1988 paper), and drove HTTP using it; as a process, it spread through much of IETF and W3C. Then, as now, the separation of understanding of the 'problem' from the proposed 'solution' is crucial.

I've worked on scores (more than 20 and probably more than 40) different working group charters. I think I really understand why working groups have charters, how the words in a charter are chosen carefully, and why it's important to keep things in scope.  Is that being nit-picky? Yes, but that's what I do. And, I claim, it's what makes good standards: follow process, pay attention to details.

My perspective is that what makes a good standard is very different than what makes a good implementation guide. Many otherwise good software engineers (even those with a great deal of experience) really don't see it, since their experience and intuitions have served them well in building complex software systems, or leading open source projects.

In the late 90s, I was on the tutorial circuit focusing on Web Standards, and put together several tutorials about the web, the web standards process, how to get involved, and what was and wasn't important about standards. These are linked from my home page, but I'll drag some of them out and blog about what I think is still true and what's changed in the intervening decade.

Tweets and Blogs Oh My

OK, so, there's still a lot of trash talk around the Internet. One poster said:

"Adobe's Larry Masinter should get out of the game. He did some great things in his career, but now he is just a well-paid Stanford-PhD-bearing obstructionist. Please retire and let the world move on. HTML5 is an amazing step forward as an open platform for the web, barring M$ and Adobe FUD-slinging."

Thanks for the "great things"! I try to be modest about my accomplishments, really! And I don't think credentials are worth much, although I do value knowledge and understanding, and I think there really is a "science" to "computer science" and not just a bunch of hacks. If I retired, though, I'd miss all this fun! Frankly, though, I don't think I was the one slinging any FUD at all, you know? Look at it.

More?

This is pretty haphazard, but it will do for now. I'll expand on things if you ask, honest. Comment here or by email; LMM@acm.org.

6 comments:

  1. Larry,

    Developing standards (and chairing such groups, I suspect) is a lot like being an umpire at a game - at the best of times you tend to be ignored, at the worst of times you get yelled at regardless of the decision you make.

    I've long felt that a great deal of the trouble concerning the HTML 5 standard came from the decision to bypass the early process stages. Now that's coming back to haunt that group.

    ReplyDelete
  2. I remember how the original driving force behind the creation of the W3O was Tim's frustration at some of the brokenness in the then current IETF process. What's sad is that the way the W3C process has evolved to absorb some of the worst aspects of OSI.

    This post by connolly@hal.com remains a classic though.

    At least we've gotten the acronyms sorted out, and we're not going get stuck talking about renaming things from Internet Resource Locators to Universal to Uniform and back. IRL and IRI's are things of the past.

    ReplyDelete
  3. You're joking, Simon, right?

    The HTML5 document redefined "URL". The HTML5 spec redefines the term "URL" with its own completely independent definition, as a "willful violation" of the IETF standards.

    This was raised as an Issue 56 and also tracked in the HTML "bug" database as Bug 8207.

    After literally months of working on this, attending two IETF meetings (Stockholm and Hiroshima), hosting a dinner at the W3C TPAC, and meeting with the Unicode Technical Committee, a working group has been formed to complete the documents. There are hundreds of email messages about this topic, where Hixie argues why the IETF usage doesn't match popular usage, nd scrambling about whether it matters that URLs in HTML are different than URLs every one else. Based on this work, I just submitted (using the unpublished HTML-WG-only process) an updated Change Proposal to fix this.

    Now what was incredible was that the chairs of the HTML working group were about to close the issue -- decline to ask the working group to consider the issue any more -- because my original proposal to fix this mess contained only pointer to the rationale for why this needed to be fix, rather than some/all of the rational. That is, the previous "change proposal" was considered "improper".

    In a normal standards group, the group would have a discussion, and come to some conclusion, and the editor would follow along with the group consensus. In HTML WG, the editor doesn't attend meetings, and even the tiniest consession is fought vociferously, WHATWGers closing ranks not only on implementation details, but even on simple niceties like "the term used in spec A should be the same as the term used in spec B".

    ReplyDelete
  4. A lot of the W3 process seems to be falling over badly; there seems to be a pattern of process experts redefining the meaning of meanings after the domain experts have left the table (no names, no pack drill).

    Things in HTML5 seem to be even sloppier. timbl needs to sit down and be nice at some people.

    p.s.
    Yesterday I wrote my first extended syntax LOOP for years. Ugly happens, but it can happen without things getting ugly. :-P

    ReplyDelete
  5. I kept on thinking I would gain some perspective where what happened wasn't despicable, but I still can't see it. "hooey", "manipulative", "dishonest" are really understatements. The situation, process, and posturing have quieted down a little bit, but the total amount of "hooey" is so great, it's hardly significant.

    Among other things, I don't see evidence of people being held accountable for their actions.

    ReplyDelete