两大阵营剑拔弩张 HTML5前景令人忧
历经多年来的停滞不前,如今全球信息网联盟(World Wide Web Consortium,W3C)重拾HTML标准化,使得W3C与非正式的WHATWG(网络超文本应用程序技术工作小组)关系开始紧张起来。这些年来,一直是WHATWG肩负起HTML的重责大任。
本月以来,在W3C的HTML工作小组电子邮件论坛上频频冒出这样的情绪化批判字眼:“幼稚”、“令人无法忍受”、“荒谬”、“使诈”等。
WHATWG版和W3C版的HTML5规范虽然根源相同,在一些领域却已经产生分歧。有些差异相对轻微,有充分的理由将这两种HTML5规范草案合并为一,让浏览器制造商与网络开发者不必面对不兼容的窘境。但就在新标准备受瞩目之际,两大网络监督机构却起冲突。
Mozilla工程部副总裁Mike Shaver说:“这不是理想状况。我们必须尽可能把精力放在改善这项规范,把耗费在派系相争的精力降到最低。”但他也直言说,这就像写软件时,在添加改善的新功能时,难免遭遇稳定性的问题,必须先把问题清除干净,才能推出新产品。
HTML成为首要任务
HTML全称是超文本标示语言(Hypertext Markup Language),是用来描述网页的一种规范。W3C在1999年公布目前为止最新的版本,4.01版。后来,W3C拒绝修订HTML,转而推动一种不兼容的的规范,但这个称为XHTML 2的规范没有成气候,于是浏览器制造商Opera Software、Mozilla和苹果公司组成WHATWG,独自推进HTML的改善,而WHATWG的努力成果演变成今日的HTML5。终于,W3C觉得有必要再度介入。
HTML5具备许多出色的功能--例如,直接视频与音频嵌入网页、无须倚赖Adobe Systems的Flash Player插件。其他新的HTML功能,包括支持2D图形的Canvas,以及可得知网站用户所在位置的地理定位(geolocation)功能,正在进行标准化,但尚未纳入W3C的HTML5草案中。
HTML5另包含一些较不华丽、但也很重要的功能,包括规定浏览器应该如何执行网页。因此,HTML5的成败将取决于兼容性:开发者可以只写一种网页版本,而不必为不同的浏览器分别制作不同的版本。
但问题是,开发者将遵循谁订的标准?是获公认的标准化组织、参与者包括微软、W3C? 还是许多技术细节与新的开发已大致敲定的WHATWG? 参与编辑两种版本的Ian "Hixie" Hickson声称,WHATWG版的HTML规范较“明智”?
别指望Hickson会牺牲原则,只求两种版本调和。他在上周五的一场辩论中说:“我对技术优点的重视,高于于对兼容性的重视。”
W3C版和WHATWG版规范草案的差别,与其说是核心的差异,不如说是外围的差异,Hickson称这些差异“实际观点来看,是琐碎的”。例如,其中一项差异涉及一项“ping”功能,此功能可协助网站出版者直接追踪链接上的点击(clicks on links),而不必迂回绕路,先把访客带往一个中介网站以便追踪。另一项差异与“microdata”有关,这是一种把计算机可读取卷标加入网页以描述地址(address)等数据的技术;此技术与称为RDFa的另一种技术互相竞争。
两种版本的差异,在某些情况下,会导致规范被分成个别模块(modules)来发布的问题,而不是像Hickson偏好的WHATWG版那样,采取较为单独、统一的形式。但这些差异还是存在的,而且随着HTML持续演进,其监督者必定得解决更大的问题,不只是包装(packaging)方面的问题而已。
W3C与WHATWG规范分歧,已引起忧虑。为W3C着手编写Scalable Vector Graphics (SVG)等规范的Doug Schepers上周五在WHATWG电邮论坛上发文说:“开放的技术标准最重要的就是要促进各种操作 (implementations)之间的互操作性(interoperability),但彼此冲突或模棱两可的规范,是不会达到那个目标的。”他建议WHATWG指派一个“具有中立声望”的联络人,与W3C进一步沟通。
唇枪舌剑
Hickson参与制定WHATWG版规范,他从2003年起就领导HTML5的编纂。虽然他是Google员工,但他独立行动,对W3C HTML工作小组决定移除多项HTML5元素的作法很有意见,这引发了两者之间的争执。
Hickson在一封电子邮件中写道:“这些是我担任规范编纂人员以来,所见过最空洞、最含糊、最令人无法理解、也最狭隘的争论。”
W3C HTML工作小组共同主席、也是IBM员工的Sam Ruby则不以为然,他反驳说:“出现在WHATWG规范的项目是依据该作者(Hickson)个人的判断,通常欠缺理论基础。”
Hickson显然不服,并指出W3C的版本“基于政治理由”省略了某一段落,而他已更改WHATWG版的HTML5草案,把该段落纳入。Hickson在电子邮件中写道:“从技术观点来看,你们的决定全是独断独行。”
Ruby随后反击:“只要WHATWG草案被用来当作破坏W3C公信力的工具,那么我们会坚持,所有提及WHATWG规范的部分,都从W3C规范移除。”
后来,尽管Hickson对所谓“政治理由”的批判字眼态度软化,但双方的紧张关系并未消除,Hickson也未改变他对W3C决定的看法。
Hickson说:“我们不该让短线的政治考虑影响全球信息网长期的技术质量。让两个版本草案再度聚合的唯一方法,是W3C应改变姑息的行为模式,这种作法顺应大多数高声抗议者的要求。相反地,W3C应该改采纯粹基于技术优点考虑的模式。”
尽管有些人呼吁W3C干脆切断与WHATWG的关系,或至少切除W3C版规范引用WHATWG版规范的部分,但实际上两派阵营的参与者有很大重迭。而且,对许多参与者来说,“政治考虑”并不是很龌龊的字眼,而是为了达成任务的务实做法,毕竟制定规范需考虑到时机、产品周期等因素,协调、妥协是无可避免的。
Mozilla的说:“我认为,所有的决定都是考虑过政治因素而做的。Mozilla有其考虑,IBM有其考虑,微软有其考虑,Ian [Hickson]也有其考虑,Google也一样。”不过,他补充说,他倾向支持以更大的透明性来解决问题。
各家浏览器扮演的角色
而在这其中,微软扮演关键的角色。微软正改变作法,包括积极参与W3C的HTML开发工作。软件巨人的参与很重要,毕竟微软的Internet Explorer浏览器虽然近年来市占率下滑,但仍具市场支配地位。
但微软表示,对WHATWG没有兴趣。微软声明:“微软多年来参与W3C,并一直深信协同标准过程,是达到互操作性的最佳方式。而这是一个正式的过程,对所有参与者开放,而且遵循一套透明的、明文订定的规则。”
苹果未发表评论。Google则表示,标准化是为了化解歧见,“Google致力于让网络平台更强大,方法是与各标准组织合作,共同推出新的功能,并改善对现有功能的定义。而开放的辩论是标准化过程的重要一环,能确定我们达成的规范都获得所有参与者的同意。”
依Hickson之见,他认为拥有最后发言权的,是浏览器制造商,也就是标准的“执行者”(implementors)。
他说:“在实务上,我没有任何权力,即使在WHATWG也一样,这全部受制于执行者的决定。”他指出,W3C的HTML标准也面临同样的情况,因为“如果执行者不同意这样的规范,他们会各行其是,那么标准就形同虚设。 ”
W3C的目标远大
HTML争议发生的时机,适逢W3C在首席执行官Jeff Jaffe领导下,力图重新夺回主导权,而这威胁到Ian Hickson的领导地位。
Jaffe上周表示:“有许多创新正在推进,而如果社区把他们的努力成果引进W3C,将使全球信息网受益,变得更灵活、开放。”
专家认为,未来恐怕还会有进一步的斗争。W3C已把一些规范排除在HTML5之外,等到以后再纳入考虑,而那些技术将在标准化过程中再度浮出水面。随着全球信息网的重要性和复杂性持续增加,想要影响全球信息网发展方向的人士只会增加,不会减少。
未来的一种可能的发展是,两派标准制定阵营之间的分歧可能日益扩大。但由于参与者都表示愿意合作,更可能的发展也许是:未来Web的监督权不会分崩离析,只是进行权利的重新平衡。



