作者: 佚名 出处:软件世界
 
阅读提示:今年7月,微软开源总监Bill Hilf宣布微软大踏步的迈向开源,回顾微软的历史我们发现,微软在很多年前就从不同层面涉及开源世界。抛开微软的商业目的,微软迈向开源的行为对微软、对开源世界都是具有积极意义的,开源世界与微软应该彼此尊重,而不是过去的互相谩骂与诋毁。
 
春去秋来我们都无法抗拒时间及命运,无论发生了什么,也无论忘怀了什么,岁月的痕迹让人无法抹杀它的到来,也无法强留住它的过去。在当今如火如荼的开源运动大潮中,我们依稀的看见一个庞大的身影正蹒跚着向我们走来,仔细分辨,居然是曾经开源软件的对头,全球软件霸主微软帝国。很多人正为在开源的世界发现微软的身影而好奇甚至争论不休的时候,我们穿越时空的隧道发现微软迈向开源世界的通道已经很多个年头,从起初的步履蹒跚到如今的步伐轻盈,微软已经走过了春秋,穿越了丛林,在历经开源成长的种种之后终于浮现在了人们的眼前。
103946678.gif
微软开放技术与社区合作
 
有人惊叹“微软也开源?”也有人不屑一顾“这只不过是微软战略的一部分。”更有人振臂高呼“微软大步迈向开源是微软的觉醒,是开源运动取得阶段性胜利的标志。”无论是对于醉心于商业联盟的支持者还是专注于开源世界的爱好者,微软迈向开源都是个不争的事实,不管是通过直接开源的形式还是通过合作及共享的模式,微软正日益频繁的参与开源社区的事务,曾经剑拔弩张的硝烟气息已经渐渐变淡并弥散在空气中,而我们更多的将看到微软与开源你中有我,我中有你的和谐景象。
 
对于微软日益走近开源,开源社区保持着谨慎的态度,一方面希望微软介入开源,为开源事业提供持续的增长动力;另一方面,也担心微软的介入,瓦解了目前开源世界的产业联盟,甚至直接影响了开源运动的进程。作为世界上最成功的商业公司,微软迈向开源是有其商业目的,或者是为了其软件不被边缘化,或者是为了与开源厂商合作牟取更大的利益,或者是认同了开源社区这一先进的开发机制,至少绝对不会只是秉承开源精神的奉献。
 
对于单方面寻找商业模式的开源厂商,这些厂商也在积极与私有软件厂商展开合作,以便寻求到最适合自己企业的商业模式,毕竟开源也得盈利。开源与私有软件厂商正在寻求一种临界地带,都纷纷的往过去的临界点靠拢,未来的软件世界将是由开源与私有共同演绎的商业世界。
 
封闭中的启航

三个月前,再次来到中国的Apache创始人Brain Behlendorf在“关于开源你可能不知道的八件事情”的演讲中告诉我们,其中的一件事就是:“Microsoft Loves Open Source(微软热爱开源)。”微软真的爱开源?开源软件与私有软件已经融化了坚冰,达成了妥协?让我们首先回顾一下微软开放的历史。
104105289.gif
微软开源线路图
 
早在2002年,微软就第一次对外公布了Word的XML描述规范(WordProcessingML),随后,在2003年,公布了整个“Office 2003”软件包的XML描述规范。在微软的Mix07大会上,微软将IronRuby动态语言和动态语言运行时间库(DLR)依照BSD式的 Permissive许可证提供,即允许用户修改和分发代码。
 
SugarCRM与JBOSS是开源社区著名的开源项目,而微软通过与这些开源项目或开源厂商的合作,将这些开源项目与Windows集成,使得这些非Windows组件能够可靠地与Windows服务器软件连接。同时,与 XenSource和MySQL等达成了“合作—竞争”的协议,一方面,MySQL与微软的SQLServer存在竞争的关系,另一方面,MySQL运行在Windows操作系统之上,与微软达成合作的协议。
 
2006年8月,微软在LinuxWorld上推出了Port 25网站,这个博客风格的网站透露研究试验室的测试、分析和互操作性工作的具体情况及研究成果。
 
身份认证是一项复杂的工程,在微软公司身份设计师Kim Cameron的率领下,微软促成了社区进行一次有关身份技术的讨论。2006年9月,微软宣布推出Open Specification Promise,这个计划使开发人员可以使用微软开发的35个Web服务协议,无需许可证而且不用担心知识产权问题。
 
回顾历史,我们不难发现,微软从一开始就参与了开源世界的建设,从不同层面对开源社区给予了支持,只是由于过去商业软件与开源软件的对立关系,这些努力、这些支持却不为人知,或者只是很少的人知道。随着开源软件与私有软件的日趋融合,开源运动需要继续深入发展,我们相信需要微软的参与,无论是解决互操作的问题,还是发展当前流行的混源架构。
 
坚冰的破碎
 
2007年7月6日微软开源总监Bill Hilf先生宣布:“微软决定大步迈向开源世界”。OSCON大会主席Tim O’Reilly表示,“这是一次巨大的、长久等待的大地震,值得我们欢迎。”随后Bill Hilf宣布,微软即将把“共享源码许可证”提交OSI(国际开源促进会)审批。
微软将“Shared Source”提交OSI审查批准,毫无疑问,是一种历史性的进步。这意味着微软支持源代码“不受限制的访问”。至今,微软在Codeplex社区网站上有1800个项目全是“自由许可”(liberal licenses)的;在SourceForge上,有77000个开源项目与微软有关;在微软开发者网站上有100多万行源代码是完全开放的,其中 558个项目采用“源码共享”许可证。
 
Bill Hilf的讲话表明了微软对待开源世界的态度,从过去零星的参与开源项目,并与开源厂商进行合作,到如今的大踏步的、全面的进入开源世界,横跨在开源与微软之间的坚冰已经松动并出现裂缝。
 
微软大中华区平台战略总监李科研表示:“实际上,微软很早以前就参与开源,如今从微软参与开源的角度而言,主要包括四个支柱性的策略,就是‘参与、合作、成长、学习’。参与就是微软从开发软件这个角度参与开源,与社区的爱好者一同开发开源项目;合作是指与开源厂商的合作,通过合作,我们会设法使开源的产品运行更加完善;第三个问题就是成长,开源的厂商、项目都很多,但盈利的还比较少,微软与合作伙伴之间的经验非常丰富,从这个角度,微软能帮助这些开源厂商寻求到更好的商业模式;最后一个就是学习,微软的经验能帮助终端用户更好的使用产品,以及搭建基础环境。反过来,微软也能从开源社区中学习到更多东西,这是一个互动的过程。”
 
我们从微软对待开源的策略中不难发现,过去的“不平等条约”已经变成了如今“双赢”的策略,学习与合作成为了微软对待开源的主线,这四个支柱性的策略就如同扎在坚冰中的四把擎天利刃,横跨在开源与微软之间的坚冰最终将破碎,融化于蓝天大海中,坚冰的破碎将使开源与微软站在同一个海洋,在同一片天空下憧憬着同一个梦想。
 
向中间靠拢
 
争论通常导致两种截然不同的观点,没有什么能比“开放源代码”和“商业”软件应该扮演的角色和可以带来的益处的争论更能说明这个问题。然而,随着时间的推移,要证实两极化的争论中哪种观点正确越来越困难,因为目前争论的双方都在向一个共同的“中间”立场靠拢。商业软件开发商正在采用更加开放的策略,开放源代码软件也正在寻求更多元化的商业模式,过去对立的两边正在不约而同的走向中间地带。
 
现在很少有软件公司会称自己纯粹是商业性质的,同样也很少有不依靠某种形式的商业赞助和商业关系维持的纯粹开放源代码软件项目。实际上,已经有研究结论声称,这两种模式是互补的:“不可能通过削弱专有软件市场来加强开放源代码”,因为专有软件有助于形成一个创造收入、工作机会和产品创新的商业市场。
 
混合模式还意味着“开放源代码”项目在Linux、Windows和OS/X上的繁荣。从Sourceforge.net上基于Windows的项目数量就可以清楚地看到,商业软件平台和开发环境对开放源代码群体具有难以置信的价值。
 
中国开源软件推进联盟主席陆首群教授表示:“为了和开源软件竞争,许多私有商业软件也开始想办法。我们的目标是要把异构系统应用架构各层次的软硬件模块集成起来。而事实上,开源项目发展是不平衡的,有些层面的开源软件发展比较好,而有些发展比较缓慢,比如有些开源数据库现在容量还比较小。这个时候,这类传统软件厂商就想要把自己的产品插入到这个开源架构中去,就成了混源结构。美国做了这方面的统计,有超过70%用户都要求能提供混源架构。而不少厂商也希望推广混源架构,所以混源架构将是开源与商业软件结合的一种趋势,并且开源软件厂商与商业软件厂商也都积极的在向这个领域靠拢。”
 
对于开源世界流行“混源架构”的提法,微软有着类似的表达方式,那就是“异构环境”,但无论是“混源”还是“异构”,都表明了双方向中间地带靠拢的一种态度。李科研表示:“微软大力提倡异构环境的搭建,通过在SourceForge 上公布项目的方式,表明其也在向中间靠拢。比如我们提供的Windows Installer XML (WiX)工具包,自发布以来,一直处于最热门访问项目的行列,放在SourceForge上开放托管,可以通过查看、接受许可条件后下载资源文档等方式获得。同时,也开放了Windows Server 2003 SP1的内核源代码用于教育和研究,可以帮助科研人员及学生进行环境模拟,并自由修改提交代码。” 
 
最终的融合
 
在如今日新月异的信息技术市场上,企业和其他组织通常使用不同种类的IT网络,而这些IT网络通常来自不同厂商提供的硬件和软件。在这种环境下,从技术上和商业上就对互操作性提出了要求。互操作性也是政府促进创建一个健康、富含竞争性和创新性的IT生态系统和政府软件采购程序背景下的重要目标。
 
当横跨在开源与商业软件之间的坚冰破碎后,互操作问题也是开源软件与商业软件最终是否能融合的关键。开源与商业软件的互操作包括几个层面,有操作系统之间的互操作问题,也就是人们耳熟能详的跨平台;也有同一操作平台下软件的互操作问题,也就是我们经常提到的兼容问题;还有文档之间的互操作问题,文档必须实现在不同平台、不同办公套件下的统一标准,才能真正的实现互操作。
 
陆首群教授表示:“执行开放标准,解决互操作性,已成为当前软件产业发展中的一个核心问题。各种开源软件与私有商业软件在各自相互之间,在各个层次上都存在互操作性的问题,包括标准的互操作、架构的互操作、驱动程序的互操作、硬件平台的互操作、网络的互操作、文档的互操作,以及应用软件与操作系统之间的互操作。开源软件在互操作的问题上比较有优势,它充分体现开放标准实施的过程,既适合于建立开源架构,也适合于建立混源架构,且更有利于建立在松耦合条件下面向服务的架构,同时开源软件的社区协作开发方式,是建立开放标准统一平台的一种创新模式。”
 
对于开放源代码更有利于解决不同软件的互操作问题,李科研表达了不同的看法:“其实我不认为软件开放源代码了,就能很好的解决互操作的问题。我认为解决互操作的根本问题在于标准,这包括开放的标准和厂商的标准,只有在解决互操作的问题上形成了统一的标准,才能真正解决互操作的问题。因为任何一个人都可以修改开放源代码软件的源代码,即使所有开放源代码软件的产品在其诞生的那一刻是支持标准化的,但当用户对这些软件产品按照自己的意愿和使用情况进行更改的时候,就会出现不可兼容和不符合标准化的情况,这种对源代码的更改同时也增加了为实现和测试互操作性而额外增加的成本。”
 
解决软件的互操作性已成为当务之急,并已形成当前软件产业发展中的一股技术潮流。互操作的问题不只是源代码是否开放的问题,更深层次的问题表现在各个层面缺乏统一的标准,解决互操作的问题需要开源软件与私有软件的共同参与,当然也少不了微软。
 
对前一段时间,喧嚣尘上的业界如金山公司对微软在其Office办公软件套件互操作性的问题的担忧,据介绍,目前在中国已经有了实质性的合作,比如,微软与北航已经在互操作性的问题上开展合作,北航已经针对办公套件开发了转换的插件,对双向操作进行了完整的规划。目前第一阶段,已经完成了单向的功能,用户已经能够在著名的开源项目社区网站Sourcforge上的项目页面进行下载。相信随着开源软件与私有软件的日益融合,标准的不断完善,互操作的问题将在各个层面全面开花。
 
有人把这次微软“进入开源世界”看成是“微软冲击波”,使早在1998年趋于统一的两个概念:自由软件(Free Software)和开源软件(Open Source)的争议又起。有人认为:“微软借机劫持开源一词”,“现在×××,让我们回到过去自由软件的时代”。
 
对此,Linux基金会执行主席Jim Zemlin号召大家要尊重微软,他表示:“Linux需要认识到,微软在某些方面的领导地位。Windows与Linux已经形成两元系统。这种客观事实的存在,要求我们承认和面对一些关于软件的偏见,而不是一味地否认它。”正如Jim所言,开源与私有软件将长期共存,而真正收益得将是最终的用户。
 
记者手记
 
一次偶然的机会,记者听闻了SugarCRM这个开源世界著名的项目有微软的参与,随后翻阅资料发现众多的开源项目背后都能看到微软的身影。对此,记者大为惊讶,微软也积极参与开源?微软参与开源的目的是什么?开源社区对于微软又是怎样一种态度?这些问题萦绕在记者脑中。
 
无独有偶,今年7月,微软开源总监Bill Hilf宣布微软大踏步的迈向开源,微软从过去“暗中”支持开源项目到如今“明目张胆”的走进开源世界,是开源世界的变化吸引了微软这样的软件巨头?曾经对立的关系就这样烟消云散?还是微软参与开源另有噱头?
这些疑问成为了写这篇报道文章的一个初始目的。走进微软的开源世界,发现微软几年前就不同层次的参与到开源世界中,虽然可能层次不同、模式不同、参与程度也不同,但是可以看到微软一直在试图从封闭走向开放。所以这篇报道主要梳理了微软参与开源世界的历程,披露一些不为人所知的微软对众多开源项目的支持,对于微软与开源世界需要精诚团结,共同解决的互操作问题、混源架构的发展问题,也分别听从了来自微软与开源社区专家的意见。
 
微软走向开放是一件振奋人心的事情,无论是对于开源世界还是私有软件的世界。当微软与开源都纷纷调转自己的航线,当横跨在微软与开源之间的坚冰破碎,当微软与开源真正解决互操作问题达到互相的融合,我们有理由相信,混源将在未来的IT 环境中扮演重要的角色,而真正受益的将是最终用户,未来的IT环境将是混源的天下。
 
微软作为全球软件界的领袖,Windows是最成功的一种操作系统,今天 Linux取得了迅猛发展,已开始形成由Windows和Linux操作系统构成的两元操作系统平台。同时,众多著名的开源项目运行在Windows的平台之上,面对这样的形势,竞争与合作将是微软与开源世界今后发展的主旋律,这正如辩证法中对立统一的观点,在合作中展开竞争,在竞争中寻求合作。