译者前言:这是一篇让人震惊的文章。作者的分析深刻,文笔犀利。作者担心微软会控制整个世界的观点也许偏激,但不得不引起我们的警惕和思考。该文发表后引起了激烈的争论甚至漫骂,感兴趣的建议去原文看看。从中我们能了解web标准在国外推广的真实情况,进而思考我们应该怎样做?
译文
重要提示:下面的文章是我个人的观点,不是为了表现自己或者为我的老板而写。
虽然现在我认为web标准值得关注,但在我了解有关web标准的主题之前,对于web标准我毫不关心,也没有意识到我下面要讨论的这些问题的存在。而这些问题恰恰是每个人都应该关心web标准、以及他们在高科技产品和服务中扮演的角色的真正原因。
一.W3C的集会
2004年6月1日和2日,我在(美国)圣何塞市中心的Adobe团体总部参加了W3C的一个集会。(坐在我边上的是Donna,一位新加入adobe团体的朋友,她觉得很惊奇,为什么参加W3C集会的多是女士。好问题,她仅仅从表面上看屋子里的都是女士。)如果你有时间花几分钟时间阅读一下集会说明,你会发现Tantek Celik和Hakon Lie都在这里,同样,有来自Sun、Microsoft、IBM、Adobe、Nokia、Sony、OpenWave大公司的代表,还有许多独立顾问和其他公司参加。
伴随许多有趣的演示,在会议期间讨论更多的是web标准的现状以及如何发展。讨论的焦点更多是如何在下一代的web应用软件上使用web标准。我非常渴望站起来陈述我的两个观点,但是我克制了自己。在会议休息间隙,我和Dean Jackson以及Jon Ferraiolo说了我的观点,他们非常赞同并建议替我去把麦克风抢过来,我阻止了他们。也许我害怕人们从我的RTFM rant认识我,天知道?这个时候,我想我应该做的只是坐着和聆听。
二.一些背景情况
在我们开始正文之前,允许我先回忆一下。
上个月,我曾写信给一个团体,问:是否值得努力设立一个"web标准推广日"。这一天尽可能多的blog的站点同时关闭以加强效果,同时在首页上放置相同的一页来解释web标准真正的目标。并说明一些事情:微软不愿意修改它的IE以建立统一的基准平台,那样的话开发者可以建立轻量的代码就工作在IE、Safari, Mozilla, Firefox 以及 Opera等多个浏览器之间。---这样做至少引起人们对首页内容的关注。
这个建议仍未确定,可能发生可能不发生,我们需要看看有多少人有兴趣这样做。抛开这件事不说。其实已经有许多关于web标准益处的好的文章和相关的讨论。如果你没有看过,下面是一些快速链接列表:
The Business Benefits of Web Standards 本站已经翻译
About Web Standards
Web Standards ROI
Web Standards for Business
An Interview With Mike Davidson of ESPN
Eric Meyer Interview on Web Standards
The Way Forward with Web Standards
Developing With Web Standards
Embracing Best Practice
当然,Zeldman的《Designing with Web Standards》是关于这个主题最好的书籍,非常易懂地说明了web标准应用和技术要点。
所有的文章都讨论web标准的益处:简化代码、加速开发、压缩文件尺寸、提高下载速度、更好的易用性、获得更多用户、更易于维护、多平台兼容。而这些益处仅仅停留在技术层面,也有一些ROI的讨论。
以上都是关于web标准正确的、非常重要的观点,我假设你之前已经都听说和了解。
三.摘要
出于本文讨论的缘故,我希望你暂时忘记上面文章提到的所有技术益处;忘记你的内容可以在不同浏览器、操作系统或者电脑、和移动设备之间的兼容和轻便协同的梦想;忘记高科技巨头100%支持标准(而不是90%支持)后,开发者采用标准可以节省多少的时间和金钱。那些都是通过标准可以达到的最完美的目标,但它们并不是为什么web标准对世界真的重要的真正原因。
一般而言,标准化意味着对企业的应用压力。他们要改变行为习惯,不仅仅要使股东得益,也要使所有人得益。
而最终,标准最重要的目的很少能通过代码、ROI或者日复一日的争论而实现。当你开始认真考虑,你发现那些在商业中不断创新和互相竞争的公司,例如:Microsoft、Sun、Adobe和IBM,本质上它们需要在自由的市场中生存。如果这些公司认为他们遵循标准并不重要,尤其是这个标准只是一个在他们势力范围内的非官方组织制定发展的,他们会遵循吗?期望这些公司改变他们的本质,就如同期望肉食动物在饥饿时不要捕食一样不现实。
事实上,你也可以很容易地找到一些拒绝采用标准而且也非常成功的公司例子,特别是当你站在公司放慢创新速度的角度来考虑时(许多时候暗指来自微软的观点)。没有一个生活和工作在自由经济体系的人会不这么想。
标准对我们所有人都是重要的真正理由是:预期它能创造一个平衡各方利益的、能普遍接受的行为基准(level of behavior),不论你喜欢或者不喜欢。特别是那些正在工作,却远离标准的、聪明的工程师。(尽管这些被命名为“标准”的规范已经建立了10年)。
四.微软和标准
你可能会问90年代后期和2000年早期微软在想什么?为什么它表面上保证要开始走标准之路,而事实上可能只遵循了80%到90%?这问题很简单。微软在IE4到IE6浏览器上采用web标准只不过是一种市场手段。那个时候,IE贯彻标准意味着超过竞争对手Netscape的Navigator浏览器。从表面上看,我们觉得微软的做法是正确的,事实上,微软只是被商业利益的本质(corporate DNA)所驱动:web标准意味着创新。
一旦微软得到了它想要的,它就无所顾忌,继续变本加厉,甚至越走越远。例如现在微软现在开始在新操作系统Longhorn上开发新的私有技术XAML。正如一些人指出的,微软又开始分裂市场,就象1995 年那样。这没什么可惊奇的,微软的行为源自其商业利益的本质,它过去和今天的行为都合乎逻辑。更重要的是,除非有来自外界的强大压力,否则它不会改变。
五.来自Asimov的一课
这可能是一个不恰当的比喻,但我还是坚持引用它。这个比喻来自Isaac Asimov(阿西莫夫)的科幻作品《基地三步曲》(Foundation Trilogy)。在第一本书里描绘了在宇宙中有一颗独立的星球,叫做基地,成为整个银河帝国科技的唯一来源。起初一切事情都很美好,直到有一天,银河帝国妄图控制整个基地。所以当银河帝国派出飞船攻击小星球的时候,银河帝国所有的机器、用具和电脑系统在同一时间都失灵了。基地依靠唯一的科技胜利了,并强迫银河帝国允许其独立存在。
在书中,银河帝国邪恶而腐败,在航向上使宇宙再次走向黑暗时代。我们不得不担心类似的情况在现实中发生。我们必须清楚的考虑到一个象微软这样的公司很可能有着类似“基地”的能力。
在现代网络中,工商界已经过分依赖于微软的技术---至少包括在这期间我们的常用操作系统、主要的内容传输设备类似HTML表现引擎(不仅仅限于IE浏览器,还有能表现web内容的windows的应用程序)。所有人都应该去看看Google的时代热点页面的统计数据。
有一个很及时的观点就是:少数人的行动会对多数人产生意义深刻的影响。在那样的环境中,占多数的人们为了保护自己必须建立一种互相制约的平衡机制,以防止少数人的错误、贪婪和权利买卖。如果没有这个平衡机制,少数人就会滥用他们的权利,忽视多数人的需求和牺牲多数人的利益,而多数人也不必为此惊奇。
我们有自己的制约平衡机制,那就是W3C提供给世界的web标准规范。然而,如果这个规范不被100%的遵守就毫无意义,90%遵守是不够的,9 9%遵守也是不够的。(就象Hakon在W3c会议上评论的,规范已经制定,我们现在就是等待微软去完全执行它。)
尊敬的微软公司已经给工商界敲响了一个警钟:微软office的安全措施令人可怜和可怕。其中存在的安全漏洞,使得一个十六、七岁的黑客用极其简单的病毒代码就可以入侵整个系统并使系统瘫痪。人们希望工商界能够给微软公司以更大的压力,迫使其完全遵循W3C制定的标准。
如果我们的商业和政治领袖不对微软施加压力,那么就不要对未来可能的结果产生惊奇。更重要的,如果我们(包括全世界所有的开发者、程序员、设计师和内容创作者)不做我们应该的努力去"教育"那些商业和政治领袖,我们就会因为最后的结果而受到责备。
六.实践步骤
最后,如果web标准真正被重视,成为建立一个平等的竞争环境(level playing field)和平衡各方利益(lowest common denominator)的手段,这就接近我在W3C集会上最想大声说出来的观点了。在集会第二天快要结束的时候,有一些提议建议W3C需要勇敢前进。Dean(W3C研究员)看上去有些犹豫不决。你最好还是自己去 看看这个note。
按我的观点看来,在担心下一代互联网发展问题之前,W3C需要做的是如下几点,重点在web应用软件(applications)方面:
1.合并、整理现行规范
当我浏览XHTML或者CSS规范,最重要的事情是我希望看到现行标准,不是过去的标准,或者正在制定中的将来的标准。整理标准使之容易被贯彻和遵循,也需要为用户提供一个独立的,随时更新的文档便于查阅临界信息(critical information)。
2.确定那一组规范应该被目前阶段web开发所遵循
这里是W3C部分相关讨论,我发起投票提议用两个列表的方法:第一个规范列表说明今天或者明年世界要遵循的规范,列表中只包含当前W3C 已经批准的规范版本,包括XHTML、CSS和DOM;第二个规范列表将包含 XHTML、CSS、 SMIL、SVG、 XForms、 ECMAScript和 DOM.一旦我们的内容发布系统能够100%处理第二个列表中的规范,那么我们就能讨论再下一级将是什么。到那时候,我相信许多关于web应用软件的规范都将被纳入讨论。
3.建立两套文档
我们需要一套规范专门针对用户代理(类似微软公司)的开发者和创作者;也需要一套规范专门针对设计师和web开发者。现在的规范混杂在一起,不方便各类用户应用标准时查阅相应的知识。
4.重新调整现在的W3C主页的重点
现在W3C主页的只有少量信息说明为什么使用和关注web标准是重要的。页面上填满了规范和链接,这是典型的"官僚主义"设计,违反了最重要的设计原则:如果页面上所有信息都重要,那么所有信息也都不重要。是时候改变了,W3C主页的重点应该是如何方便人们浏览规范,而不是方便官僚机构如何运做。
七.这种情况下你能做什么
给web标准更多机会,限制微软的力量。这看起来不是一个普通人能做的,或许对或许不对。他们说民主政治就是每一张选票,如果一张选票的力量微不足道,那么我想集合每一张支持web标准的选票就足够了,也许"web标准日"是需要的。如果有足够的声音大声说web标准的重要性并抗议目前的情况,那么就可能有足够对的商业和政治领袖来关注,给微软我们需要的压力。
我已经这样做了。
我也很高兴地看到John Allsopp在他的 Web Essentials 04网站上发起的活动已经引起足够多人的兴趣。这个在美国和欧洲的活动承诺将大大推进web标准的前进。
真相大白了?我的一个主张就是微软不应该再对IE做任何事情,除非他们迫于压力改变做法。老实说,如果所有开发者都用同一个平台,同一套APIs,同一套标准,世界将变得简单地多。
真的就是这样,事实上,许多公司已经在这样做了(给web标准更多机会,限制微软的力量),只是担心windows和IE的使用,就象我们所有人都知道的。我自己也在过去的几个公司中坚持这样做,仅仅是出于道德和责任。
谁说唯一的规范不应该由微软制定?这样可能使事情变得千倍的容易(比如学习HTML、CSS和javascript代码),可能使我们只要工作在一个浏览器上,一个操作系统或者一个平台上。谁说允许微软制定那样的规范有错误?谁说微软把XAML或者其它扩展放进.net的CSS和HTML是错误的?我们按微软规范写所有web内容和代码有什么问题?为什么不能将我们所有的技术依赖于一家公司?
也许Bill Gates真的就是Asimov宇宙基地的Hari Seldon(哈里谢顿:试图通过在银河角落建立隐蔽的基地,来缩短随后的黑暗时代)。也许这所有都是一个计划来帮助世界度过随后的黑暗时代,只是我们都不知道?
不用关心web标准?
小心,你可能得到的是你不想要的