技术开发 频道

微软积极拥抱开源是否是发自真心?

  【IT168 评论】微软已经参与到多个重大开源项目当中,包括Hadoop与Docker。到底是什么因素让这位软件巨人放弃自己长久以来秉持的“专有至上”理念?

  微软与开源运动之间的关系在过去几年中经历了一次颠覆性的转变——该公司对于开源项目的态度由原先的充满敌意到如今的敞开怀抱,到底是什么因素促成了这一切?

  具体而言,微软以往所憎恶的主要目标其实是GNU通用公共许可(简称GPL),包括该许可之下的一系列开源软件。“根据该许可的要求,如果大家使用其中任何一款开源软件,则必须保证自己的其它软件也遵循开源协定,”微软前任CEO史蒂夫 鲍尔默曾在2001年接受芝加哥《太阳报》的采访时指出。

  而作为微软公司核心业务Windows Server操作系统的主要竞争对手,开源Linux则是其最为敌视的另一位对手。“Linux就像一种癌变,疯狂将自己对于知识产权的践踏施强加于所触及的一切,”鲍尔默在采访中强调。

  但如果从那时的角度出发,我们甚至无法想象微软当下会采取几乎完全相反的评判立场。时至今日,微软公司已经全面投身于开源行业当中。他们为开源项目作出贡献,并将部分原有专有软件推向开源,包括其ASP.NET Web应用程序框架、Windows Phone工具包以及Azure .NET软件开发工具包的一部分。此外,微欠还建立起CodePlex,这是一套专门用于免费开源项目托管的站点。

  更进一步,微软还建立起其下辖的微软开放技术公司。作为微软全资子公司,这家年轻的企业承认“专注于推进微软将开放性机制贯彻到整个企业以及软件行业的承诺。”

  那么,微软所说的“开放性”到底是何含义?“开放本身要比开源的指向性更加广泛。它同时包含互操作性与开放标准,”开放技术公司开源社区高级主管Gianugo Rabellino指出。事实上,Rabellino一直在强调开源、开放标志与互操作性三大关键性因素,而微软也切实将其作为指导性思路。

  软件市场日新月异,因此微软也需要与时俱进

  最大的问题是:为什么要进行此番变革?为什么微软对开源软件的态度会从无比仇恨直接转化为热情洋溢?

  “市场已经起了变化,”Rabellino表示,并强调称2002年的状况与当下完全不同。“如今每个人都正在或者已经适应了开源机制,而微软当然也不例外。”

  也许更具说服力的现实在于,Rabellino暗示称微软软件已经不再像过去那样充当着企业用户日常运作的基本方式。很多企业开始从云环境中以服务方式获取自己需要的软件。微软已经不再是全世界关注的惟一焦点,因此需要通过合作来求生存、求发展。

  “云机制开始将工作流程直接交付给用户,因此流程之下的相关软件堆栈开始变得不再像过去那样重要,”Rabellino指出。“真正重要的只是开放API。”

  微软的业务诉求在于赚取利润,因此只要能够从中找到能够切实盈利的发展战略,那么转而走上开源软件与开放道路也并非是什么不可想象的状况。这可能正是事情的真相所在——而且也极为正常,没必要为此大惊小怪。

  然而Rabellino同时坚称,微软所做的已经远远超越了借开源机制盈利,并且成为一位开源领域的卓越参与者。“我们的成就绝不仅仅局限于‘实施’开源,”他表示。“真正的重点在于实现开源的具体途径。我们并没有随便选择一款软件产品,对其进行开源并把代码共享给全世界。我们追求的是切实有效的优质贡献。”

  Rabellino还解释了微软如何帮助技术人员将Linux支持能力引入Azure,在他看来这才是走向开源的非常好的方式。“我们本来可以提供相关专有驱动程序,但实际举措并非如此简单粗暴,我们对这些驱动也进行了开源处理,”他强调称。与此同理,微软也在以积极的态度帮助技术人员将Hadoop与Node.js支持能力分别引入Windows与Azure环境。

  微软的“谦逊态度”引导其拥抱开源机制

  那么,微软是不是真的从过去那位开源天敌转变成了开源拥趸?

  “与十年前相比,微软如今所着力推进的一切简直令人无法想象,”Directions on Microsoft公司研究事务副总裁Wes Miller表示。“如果大家审视Hadoop或者Docker这类开源项目(二者都有微软参与其中),就会发现它们正是过去微软一直在着力对抗并以自家闭源产品进行压制的竞争对象。”

  为什么现在微软不再以如临大敌的态度对待此类项目了呢?

  “首先,微软如今采取更为谦逊的发展思路——他们已经意识到,自己不可能取代一切并压倒一切,”Miller解释道。

  除此之外,微软也承认像Hadoop这样的项目“能够以更好的方式处理对应任务,而技术业界在某种程度上也更偏爱这样的解决方案,”他补充称。“Hadoop如今可谓人气爆棚,而且尽管微软公司也在努力打造自己的竞争性技术机制、但其还是以项目赞助方的身份与Hortonworks展开了合作。微软已经开始意识到,无论技术实力多么强大、也始终存在鞭长莫及的业务领域存在。”

  微软同时发现,针对某些特定目标的“非常好的”解决方案往往更适合以开源项目而非微软产品的姿态出现,而市场对于将微软技术整合进开源项目的需求也能给其专有软件业务带来收益,Miller表达了自己的观点。“微软选择的是那些能够从特定角度为自身带来收益的开源项目。此举的重点在于努力借用人们所熟悉的要素引导Windows开发工作。”

  确保Azure能够支持Linux则是微软在改进自家云计算环境方面作出的又一次尝试,Miller补充道。与之类似的例子还有将Node.js移植到Azure当中。

  如果微软无法击倒开源机制,那么加入其中也许是更好的应对办法

  Gartner公司研究事务副总裁Mark Driver表示,微软积极拥抱开源也属于一种很正常的运营思路。“如果我们无法击败对手,那就加入对方。”他解释道:“开放式创新可以说是互联网发展的根本性动力,而开源正好在开放领域扮演着根本性机制的角色。也就是说,如果我们不投身于其中、则根本无法真正成为互联网行业中的一分子。”

  很明显,微软根本没有必要与像Hadoop这样取得广泛成功的项目同台叫板。“客户对此提出越来越多实际需求,”Driver表示,而且就算微软不介入到这些项目的开发当中,客户也不可能因此而放弃此类新兴技术并转投微软怀抱。在他看来,微软能够在完善这些项目的同时将影响力传递给客户。

  Driver同时指出,微软迈向开放与互操作性道路的举措也能给其移动操作系统Windows Phone带来更为显著的市场吸引力。Windows Phone一直在努力扩大自身市场份额,如果开发人员能够随意根据喜好利用开源软件创建自己的Windows Phone应用,那么这款移动操作系统可能会获得更为广泛的支持者群体——而这对于一款操作系统的成功可谓至关重要。

  “微软至少可以邀请开源开发人员加入到Windows阵营当中,从而避免其在与Android的对抗中因为先入为主的闭源抗拒心理而处于劣势,”Driver指出。“不过就算微软同时参与到Android贡献当中,我也完全不会觉得意外,毕竟该公司需要在移动市场上进一步标榜自身的开源贡献者定位。”

  建立开放技术公司,同以往的反开源恶名划清界线

  最后一个值得探讨的问题在于,微软为什么要建立开放技术公司这样一个单独的组织体系。从表面上看这种作法实在有些奇怪,特别是考虑到微软并没有将其涉及的所有开源项目都交给开放技术公司负责打理。举例来说,Hadoop项目的贡献事务就由微软自身负责推进。

  Driver的理论是,这一切都要归咎于微软原本在反开源当中所积累下的糟糕名声。“微软犯下的最大错误就是将Linux视为一种潜在威胁,并进而将所有开源软件都划分到了自己的对立面,”他表示。“现在事实已经充分证明,这些开源项目并没有真正威胁到微软的优势地位。”

  根据Driver的意见,创建开放技术公司实际上是一种怀柔策略,希望借此缓和开源业界对于微软过去一直以来的敌视态度、并逐步改变后者那已经根深蒂固的恶劣形象。“开放技术公司是微软的‘非军事区’,在这里我们能够一步步去除反开源活动所遗留下来的历史难题。”

0
相关文章