Re: W3C vs WHATWG specs

On Mon, 28 Apr 2014, Chris Wilson wrote:
> >
> > Take this page:
> >
> >    http://www.w3.org/html/wg/drafts/html/master/
> >
> > It lists seven editors. What percentage of the spec do you think was 
> > written by each of those seven editors? What percentage of the spec do 
> > you think was _read_ by each of those seven editors?
> 
> I'm not sure how to respond to this.  Other than simply removing any 
> reference to the HTML WG, listing only yourself as editor, how do you 
> think this could/should be improved?

I think the W3C fork should be deleted.


> In reviewing the headers of the DOM LCWD, I didn't feel like there was 
> any doubt at all about where the content was developed, nor who was 
> responsible for producing the semantic contents of the document.  I 
> believe the "produced by a group operating under PP" comment is more 
> about getting the contents covered by the PP, which I've stated many 
> times before I believe is important in the broader business sense.

I think you're approaching this from the point of view of someone who's 
been around the block a few times, i.e., from your point of view.

Most people who look at these specs have never heard of the WHATWG, have a 
very limited idea of what a patent policy is, and think the W3C is similar 
to an oracle from which Web technologies are handed down on unchanging 
stone tablets. If you start reading these specs with that perspective, you 
would never guess that the W3C is just forking work done under a different 
umbrella by people who don't want these W3C-stamped documents to exist.


> > The WHATWG patent policy is the W3C Community Group policy, which is 
> > more coherent than the IETF policy.
> 
> I don't see how you can say that.

Well, it's the truth. :-)


> AFAICT, there is no mention of patent policy in the WHATWG FAQ

It's not a frequently asked question.


> and no policy that I sign up to in order to contribute ideas to 
> whatwg@whatwg.org

Such a policy would be meaningless.

The W3C is the same. You can file bugs on a spec, or post to the group's 
public mailing list or comments list, without signing any policy. Same 
with the IETF, or ECMA TC39, or pretty much any Web-related standards 
group.


> indeed, no particular tracking at all aside from email address.

There's no particular tracking at all.


> If I sign up to the W3C WHATWG CG, I *DO* have to agree to the W3C 
> Community CLA, but that does not mean that all work in the WHATWG 
> happens under the umbrella of the CG.

You signing the CLA would be meaningless unless you edited a spec, anyway. 
It's the FSA that matters.


> This is a critical distinction in terms of patent policy.  I deeply 
> understand no patent policy will prevent all problems (e.g. EOLAS), but 
> the WHATWG's work mode means there can be no agreement in place with a 
> substantial set of contributors.

This is the same as every other working group, in practice. We just don't 
pretend otherwise.

I agree that we should publish FSA-covered drafts more often. It's hard to 
do that while the W3C publishes a fork under the WG PP and thus provides 
the pretense of having taken care of the patent issues, because some 
companies' lawyers don't seem to want to advance any faster than the WG 
process. I don't know what to do about that. (We don't want to publish 
FSAs without major vendors on board from the start, since otherwise the 
vendors who do sign on are put at a disadvantage.)


> > I guarantee a response to every substantial piece of feedback sent to 
> > the WHATWG list regarding a spec that I maintain. You might not like 
> > the final decision, but you cannot say that I won't listen. I go out 
> > of my way to listen to, and even seek out, objections.
> 
> But that's the distinction.  *YOU* are essentially the final arbiter.

Well, the implementors are. But modulo that, for HTML, yes. And for DOM 
and URL and other specs it's Anne. And for MIME Sniff it's Gordon. Etc.

This is a feature, not a bug. It means that:

 - there is a clear person to blame when something is wrong

 - there is a clear vision that can be consistently applied to the whole 
   group of related features

 - there need not be any delay when an urgent decision is needed

 - there is no need for complicated bureaucratic processes

 - the person with the final say is the person who is most likely to have 
   all the relevant information at their fingertips


> There are many checks and balances in WG decisions before one gets to 
> the point of "we have to get TBL fired"

Not really. First, the processes just don't work: the HTMLWG, for example, 
has literally made decisions that are internally inconsistent. Second, all 
that happens is that anyone who disagrees at each level merely escalates 
to the next level, until they get tired. This means that the people who 
win the decision when it isn't escalated to Tim are the people who have 
the most time to waste, not the people with the best ideas.

The real process at the W3C is that Tim decides, except in the cases where 
people lose the ability or desire to keep fighting for what they think is 
best. That's not better. It is in fact substantially worse, if your goal 
is quality.


> but getting you fired as WHATWG editor (ha!) appears to be the only 
> course of action for even low-level disputes, and you've publicly stated 
> you do not consider consensus opinion to be a determinant factor.

Let's rephrase this to refer to Anne so that it's not personal for me:

| getting Anne fired as WHATWG editor appears to be the only course of 
| action for even low-level disputes

Yes. This is a good thing. Why would it be a bad thing?


> I think the point here is that the "final decision" is made by you - not 
> by a consensus-driven group with multiple layers of checks and balances.

Yes. That is the point. The final decision is made by a single person, 
without a consensus-driven group with multiple layers of checks and 
balances, i.e. without bureaucracy.

Seriously, the "consensus-driven group with multiple layers of checks and 
balances" idea is _terrible_! It leads to all the opposite effects of what 
I described earlier:

 - blame gets shared, so nobody feels compelled to make the end product a 
   high-quality product

 - all decisions take longer to make, sometimes to the point of being 
   delayed by months, even when there's a need for an urgent decision

 - no decisions are final, because if you want to make a change you just 
   need to stuff the committee with more people who agree with you and 
   then reraise the issue

 - even then no decision are final because all it takes is one Formal 
   Objection at any time before you reach REC, and Tim gets to make a 
   call, months or years afterwards, with barely any context, which could 
   reverse the decision

 - there's no clear vision, and so the technology ends up feeling like a 
   hodge-podge of different designs with different goals

 - at the end of the day, it's a war of attrition: the winner is whoever 
   is willing to keep fighting (this, as a side-effect, leads to pretty 
   hostile communities)

 - sometimes it's not even a matter of whoever is willing to keep 
   fighting, sometime's it's just a matter of who turns up! If all ten 
   people who turn up to a working group meeting have one particular 
   opinion, and one person posts to the mailing list pointing out why that 
   opinion is somehow a bad idea (e.g. has a security flaw, or is 
   impossible to implement, etc), then the working group will pick the one 
   that has the most voices! I've seen this happen often.

It's a horrible way to design a technology.


Also, I disagree with the characterisation of the W3C process as "checks 
and balances". "Checks" implies that there's some sort of verification 
process going on. There is no more verification going on in the W3C WGs 
than in the WHATWG; there's possibly less (I and other WHATWG editors have 
gone out of my way to make it easy for people to file bugs and report 
feedback). "Balances" implies that there's some mechanism to make sure all 
voices are heard, but in practice the consensus model leads to "who yells 
loudest wins", which isn't balanced at all.

On the other hand, my work process of taking all feedback, deduping it, 
and responding to all substantial points made leads to a higher-quality 
"check" -- all the various arguments are considered in context and 
together -- and to much more "balance" -- it doesn't matter if someone 
posts the same thing 20 times or if 20 people post the same thing and one 
person posts a counterproof quietly at the bottom of another e-mail: both 
arguments are given the same weight in the end.

I'm not at all saying that the one-editor process is ideal. It has serious 
flaws, as mentioned before -- for example, you have to find good editors. 
But, for the purpose of developing technology, it is _substantially_ 
better than anything based on consensus.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Tuesday, 29 April 2014 00:09:53 UTC