微软显示了愿意接受行业标准的诚意,但它的软件开放力度还有待进一步加强。
今年3月,在微软公司(Microsoft,下称微软)举行的MIX互联网体验大会上,微软首席软件设计师雷·奥奇(Ray Ozzie)对成千上万的开发者和客户表示:“透明度、标准化和互操作性(interoperability)将是我们工作的重中之重。”这是对微软发展方向的一个大胆声明,但鉴于以往微软在开放性方面一直口碑不佳,它能做到言行一致吗?
微软希望(事实上也需要)在人们心目中树立一个更加开放的形象,比如说接受行业标准,采用开源社区的最佳实践,并让其他软件公司的产品能够更容易地兼容它的Windows和其他平台。为什么开放对微软来说是至关重要的呢?首要原因是客户的呼声。我们刚刚完成了一项有536位商业科技专业人士参与的调查,结果54%的受访者表示,如果微软能够加大开放的力度,那他们就更有可能考虑购买它的产品。此外,政府监管以及竞争方面的压力也是促使其开放的重要原因。如果微软无法击败开源模式,那它就必须顺应开源的潮流,而不是将其视为不共戴天的头号大敌。
微软正朝着正确的方向前进。今年2月,该公司提纲挈领地出台了四条“互操作性原则”(interoperability principles)来指导今后的产品开发:第一,公布其主打产品的协议和应用编程接口(API);第二,这些产品将支持主要的行业标准;第三,公司产品的文件格式与行业标准格式之间能够实现数据迁移(data portability);第四,更多地参与开源社区。在过去几个月内,微软已经以增强互操作性的名义公布了4.4万页文档,以及Windows、Office、Exchange以及Sharepoint等产品的协议,今后它还将继续公布更多的文档。
然而,微软完全是在按照自己的计划和步调来进行开放,它的进度仍显缓慢。该公司一向毫不让步地坚决维护自己的知识产权,所以它虽然想要参与开源社区,但其举动看起来却像是在恃强凌弱欺负该社区一样。另外,微软还在继续控告开源开发者侵犯了该公司的235项专利。虽然这些指控还未得到证实,但微软采取的法律行动无疑是在开发者头顶上高悬了一把利剑。
多年以来,商业科技专业人士一直被迫在微软和非微软的技术之间寻找平衡,他们当然会对微软的开放心存疑虑。受访者中有51%的人认为微软的开放运动不过是个公关活动而已。我们要求每位受访者都按1-5分(5分表示极其开放)的水平给微软的开放程度打个分,结果微软最后的平均得分只有2.3分。
微软得分如此之低的部分原因,是因为它的软件产品过分依赖于自己的操作系统平台。不过,微软的开放运动也并非仅是口惠而实不至的敷衍。微软刚推出的Live Mesh策略可以跨平台、跨设备同步数据,并且支持AdobeFlash、MacOSX以及非微软的浏览器和编程语言。
更引人注目的是,微软决定给System Center Operations Manager2007追加跨平台扩展功能。这些扩展功能已在最近进入了测试阶段,微软的旗舰管理平台将破天荒地能够管理Unix和Linux服务器。为了成功实现跨平台管理功能,微软将两个开源组件WS-Management和Open Pegasus整合进了Operations Manager。微软的这个英明决定就好比给管理系统平台注射了一剂“开源特效药”,使得该平台能够支持Linux和Unix。
相对于几年前,该公司的心态现在有了180度的转变。2004年,当我们询问比尔·盖茨(Bill Gates)在管理异构服务器环境方面是否有开发需求时,这位微软董事长不无嘲弄地说:“让我们开发管理工具?我看算了吧,这方面的公司多得是,我们就不必去凑热闹了。”
希望之光
我们的调查显示,81%的受访者认为,微软如果变得更开放,那给客户带来的最大好处将是互操作性和集成性的改善。通用汽车公司(General Motors)的服务信息经理布莱恩·赖斯(Brian Rice)说:“微软的Office和数据库产品中的数据将能够更容易地迁移到非微软的产品中。我们对这个颇有兴趣。”
虽说赖斯只是在表达自己的期望,但他的想法却是基于微软已经采取过的措施。比如说微软的Office Communications Server现在已采用了“会话发起协议”(Session Initiation Protocol,SIP)和“简单通信协议”(Simple communications protocols)这样的业界标准来与交换机(PBX)以及即时通讯系统进行连接。这些措施都表明微软在增强互操作性方面还是做出了一定的努力。
很多年来,微软一直向开发者提供WindowsAPI和软件开发工具包以实现软件兼容,但有些地方微软并未提供接口,开发者不得不自行创建开源层(open source layer)以实现互操作性,典型的两个例子就是Wine项目(将Windows应用程序移植到MacOS和Linux上运行)和Samba项目(让Linux机器与Windows系统通信)。Linux基金会(Linux Foundation)的主任吉姆·泽默林(Jim Zemlin)说:“基于开放标准和允许多方参与的开放进程来促进互操作性与提高其他软件和自己操作系统的兼容性并非是一回事。”
举个现实情境中的例子。虽然Windows和动态目录(Active Directory)是设计成协同工作的,但系统管理员却不得不亲自上阵用Kerberos认证(Kerberos authentication)替代动态目录。Samba公司的创始人之一杰里米·阿利森(Jeremy Allison)说:“要使用动态目录作为认证源(authentication source)的话,你就不得不在每台终端设置本地的非域账号(non-domain accounts),这种做法在现实业务环境中根本没有实用性。”
从某些方面来说,微软在改进透明度、标准化和互操作性方面的良好意图实际上是迫于外界的压力。让微软公开文档和协议的努力要回溯到2001年美国司法部和2004年欧盟做出的反垄断裁决。监管机构曾批评微软的回应迟缓,公布的文档挂一漏万并不完整,直到现在他们对微软的开放进度仍然不满意。今年2月,微软推出了互操作性原则,而与此同时,欧盟却表示该公司未能遵守先前的反垄断裁决,宣布对其处以13.5亿美元的罚款。对此微软正在进行上诉。
微软产品协议的公布可以说是举步维艰。微软在2004年发布了Windows Server的通信协议文档,不过这些文档都是收费的,并且要受到商业秘密许可证的约束。直到今年,微软才公布了几个协作软件如何与Windows客户端通信的详细说明。现在,该公司承诺将提供范围更广的产品协议文档,但客户和商业软件供应商在使用那些受专利保护的协议时仍得支付专利使用费。
微软两年前公布了所谓的“开放规范承诺书”(Open Specification Promise),这项具有法律约束力的声明指出微软将放弃对某些技术的专利主张,这也为微软近期公开协议文档的举动奠定了基础。该承诺书涵盖的技术清单包括:网络服务规范、电子邮件认证、身份管理软件、虚拟硬盘格式、Office文件格式、机器人技术协议以及被应用在Live Mesh里的Feed Sync同步框架。微软将这份承诺书与通用公共许可证(General Public License,GPL)相提并论。该承诺书大受业界好评,甚至连对手红帽公司(Red Hat)也对之称赞有加。
[1] [2] 下一页
|