中秋节后的第一天,微软(中国)在雍和宫一个四合院里举行了一次小规模的技术专家联谊会,我有幸参加了此次活动。这个联谊会有个很有意义的说词,那就是“跨越源界限,共创新纪元”,很明显,这是一个关于微软与开源之间交流的一次探讨会,受邀的专家包括微软、开源界以及互操作方面的一些技术专家。
最近两年,微软频繁的与开源业界、开源社区接触,一改过去开源“死对头”的角色,通过对话、交流、合作等方式日益融入开源世界。自文档格式 OOXML成为国际标准后,微软与其他文档标准在各个层面展开了互操作;在今年世界开源大会(OSCON 2008)上,微软一跃于Intel一同成为大会最主要赞助商,并且宣布每年向Apache基金会赞助10万美金,以支持开源软件的发展,更难能可贵的是微软首次基于开源许可证LGPL向开源社区贡献了代码,这是一次具有里程碑意义的转变。
开源世界与微软信奉的是两种不一样的软件哲学,而其中最重要的一环就是“源代码”的开放,微软与开源世界要在更多层面展开合作,如何跨越“源” 界限将显得格外重要,对于微软,我认为,跨越源界限有着三个切入点,其一是各个层面的互操作,其二是运行在Windows上的开源软件,其三则是混源应用,也就是异构。
开源软件与商业软件的互操作包括多个层面,有操作系统之间的互操作问题,也就是人们耳熟能详的跨平台;也有同一操作平台下软件的互操作问题,也就是我们经常提到的兼容问题;还有文档之间的互操作问题,文档必须实现在不同平台、不同办公套件下的统一标准,才能真正的实现互操作。关于如何更好的实现互操作的问题,业界也有着不同的声音,开源社区人士认为开放源代码是解决互操作的前提,而来自商业软件阵营人士则认为解决互操作的关键在于标准,只有在解决互操作的问题上形成统一的标准,才能更好的解决互操作的问题。
微软与Linux操作系统是敌人,但与更多的开源软件是朋友,这种说法是成立的。我们在开源软件库sourceforge.net上,能看到成千上万的开源软件是跨平台的,既能运行于Linux上,同时也能运行在Windows操作系统之上,很多大家熟知的开源软件都具有了For Windows的版本,例如OpenOffice、Gaim、Firefox等,而一些基于Java开发的开源软件,本身就具有跨平台性。未来的开源世界,我们将看到更多的开源软件推出For Windows的版本,并且不排除可能出现完全基于Windows开发的开源软件。
而事实上,开源项目发展是不平衡的,有些层面的开源软件发展比较好,而有些发展比较缓慢,当面临这样的情况时,很多企业会在部分功能或者模块选择商业的解决方案,这就是成了“混源”结构。美国做了这方面的统计,有超过70%用户都要求能提供混源架构,而不少厂商也希望推广混源架构,所以混源架构将是开源与商业软件结合的一种趋势,并且开源软件厂商与商业软件厂商也都积极的在向这个领域靠拢。对于“混源”架构,微软有着不一样的说法,就是“异构”,无论是“混源”还是“异构”,获得两者结合最优价值的无疑是最终用户,也难怪在“LAMP”(L:Linux、A:Apache、M:MySQL、P:PHP)架构盛行的同时,“WALP”(W:Windows)架构也悄然得到了广泛的应用。
微软作为全球软件界的领袖,不可否认Windows是一个很成功的操作系统,在IT领域日新月异的今天,无论是微软还是开源世界,都应该寻求更多的切入点,为商业软件带来先进开发模式的同时,也为开源软件的商业化摸索出一套可行的商业模式,携手跨越“源”界限,共创新纪元。