最近,看到了国内很多媒体关于"微软每年捐赠Apache基金会10万美元"的报道。微软全球开源软件项目主管Sam Ramji在开放源代码会议(Open Source Convention)上宣布微软每年向Apache基金会(ASF)赞助10万美元,以支持开源软件的发展。报道中都指出:微软此举将使其成为 Apache基金会的"白金"赞助商,这是Apache基金会最高等级的赞助,另外两家白金赞助商分别是Google和Yahoo。

        对于微软再次掏钱赞助开源组织我并不感到惊讶。最近两年,微软积极参与开源,在开源世界中装载微软的影响力,在不同的开源项目中,我们都能看到微软的身影,同时,在大大小小的开源活动中,也都能看到微软以Sponsor的身份出现。
这 就出现了一个问题,微软赞助开源已经习以为常,对于微软这样的企业,一年10万美金的赞助同样也是一件很轻松的事情。(当然,这也许对于 Apache基金会来说是一笔可观的费用,正如Sam Ramji所言,这笔赞助可让基金会付薪水给行政人员及其他人员,以便ASF开发人员更专注于开发优秀的软件。)

        但是,仅仅掏钱赞助开源就能表明 微软参与开源的决心吗?我看未必,为开源掏钱这对于微软来说已经根本算不上什么。其实,有一件事更值得我们去关注,Sam Ramji在赞助的同时宣布,微软将向ADOdb贡献一款补丁,ADOdb是一个PHP数据访问层,此次发布的补丁将首次基于LGPL许可证,也就是说, 微软第一次基于开源许可证LGPL,向开源社区贡献了代码。
       
        这才是我们更应该去关心的内容,这也是微软积极参与开源表现出来更实质性的东西。如果 说赞助表明了微软的一种姿态,表达了对开源社区的一种善意,那么第一次基于LGPL协议贡献代码则表明了微软参与开源的决心。这是微软与开源世界纷争多年 后一个里程碑式的事件,也是微软与开源世界多年努力后的一个共同的、重大的转折点。
       
        此前,微软一直宣传Shared Source这个概念,在05年阿姆斯特丹举行的EuroOSCON上提出了5个新的License(三个主License以及两个衍生 版):Microsoft Permissive License(及Microsoft Limited Permissive License)、Microsoft Community License(及Microsoft Limited Community License)和Microsoft Reference License。其中,微软互惠许可(Microsoft Reciprocal License)和微软公共许可(Microsoft Public License)在07年10月获得了开放源代码促进会(Open Source Initiative)的认可。
虽然已经正式成为OSI认可的开源协议,但这两项协议并未得到更多开源人士的认同,更多人认为这两项许可本质上仍 然是"只许看,不许摸的许可证",尽管MS-PL已经与BSD许可极为类似。而此次微软向社区贡献的代码基于LGPL许可证,而不是微软自己的开源许可, 这就是一个很了不起的进步。

        GPL协议由Richard Stallman为GNU计划而设立,在07年6月发布了其衍生版本——GNU Lesser General Public License(LGPL),中文译为"较宽松公共许可证"或者"函数库公共许可证",其目的是为了应用于一些软件函数库。因此,此次微软基于LGPL向 社区贡献代码也被更多的自由软件人士认为:这是微软首次公开支持GNU计划。
微软第一次向开源社区贡献的代码究竟值不值钱?究竟值多少钱?我觉得 这个已经不在重要。对于微软这样的企业,你能去要求他一年掏几十万甚至上百万赞助开源,但让其心甘情愿的贡献代码,这就不是轻易能够做到的。因为它代表了 一个企业的整体战略,这些东西是不能用金钱衡量的。而此次贡献代码正是其整体战略的一个体现,它代表了微软接下来的发展方向,这是一个信号,也表明了一种 决心。

        微软大中华区平台战略总监李科研曾经和我提到:"从微软参与开源的角度而言,主要包括四个支柱性的策略,就是'参与、合作、成长、学习 '"。如今,我觉得应该再加上两个字,那就是"贡献",这不仅表达了微软参与开源的一个诚意,也为微软与开源的合作铺平了道路。其实,我一直认为,在中 国,微软与开源企业应该更加紧密的合作,做大、做强中国的软件市场,这对微软、对开源、对软件产业,都将是一条共赢的道路。

2008年8月于北京