微软对开源从仇恶到协同合作
让我们从Bill Hilf开始谈起。作为微软平台战略总经理的Bill Hilf带领微软正在不同层面上展开了对开源的多面计划。Linux是微软在操作系统方面的对手,虽然微软高官在一些公共场合宣称Linux不会对微软Windows系统构成威胁,但现在微软正努力在一个复杂的环境中与Linux协同工作,并且正在积极与开源独立软件厂商(ISV)结成伙伴关系,积极开展开源授权,积极捐赠和支持社区开发站点。
事实上,微软的这些动作正表明它正在进行尝试,Bill Hilf正在试图勾勒出微软应该如何利用开源开发技术的新方法。毫无疑问,微软从Vista开发中应该很好的学到一课,即他们必须要改进自己的软件工程学方面的工作。微软需要重新审视自己的开发过程,并从任何其他可能的渠道来借鉴一些最佳实践经验。
围绕互操作性的工作已经在微软的开源实验室中得到了最好的展示,该实验室主要是在各种能想到的环境中测试微软的产品。该实验室目前运行着30到40个不同的Linux版本。另外,微软还进行了开源授权方面的尝试,这意味着微软已经有了一个准GPL类型的授权模式,借此来提供给IT管理员和开发者以访问评测的源代码。这有助于企业进行内部的应用程序修补,进行安全保护与防御性的提升和确保在他们自己的环境中的系统和软件的互操作性。
更为重要的是,通过以上的一些的工作,架起了在微软这个公众的一号敌人与开源社区之间的桥梁,让他们互相沟通交流。Bill Hilf在2006年LinuxWorld大会(美国)上进行了演讲,并表示将支持某些方面的开发模型和它的支持者。而在内部,微软正在试图消除人们对开源的敌视态度——这是一件相当不容易的事情。
还有更多的事实来证明微软对开源阵营态度的转变,尤其是与一些重要开源公司的结盟。例如无人不知的微软与Novell的结盟,还有与JBoss(现归Red Hat所管)之间的技术交换合作伙伴关系,以及与开源应用程序厂商之间达成的合作,例如SugarCRM、Zend科技公司等。
微软与开源和睦相处?
微软与开源和睦相处的一个新时代是否已经到来?这个问题仍然在争论之中,并且有很多人还对此持怀疑态度,最近一段时间的动作和努力,使得微软在人们心目中已经渐渐远离了过去与开源水火不容的年代——2001年微软的首席执行官Steve Ballmer称Linux为“癌症”,会严重腐蚀业界的知识产权。尽管如此,没有人认为微软会对开源十分亲昵。微软不会去考虑是否开源Windows,而是正如Bill Hilf所描述的:如何寻找一个方式来捆绑SharePoint到一些客户可能会喜欢的开源工具和项目中。
“某些人认为我们正在努力做些东西来显示自己对开源的友好,其实不完全如此,” Bill Hilf如此表示,言语坦率的令人有些怀疑。Bill Hilf 还坦言:“所有这些是为了我们(微软)的业务的发展,我希望大多数开源的客户首先能在Windows上运行他们的程序。”微软与JBoss的合作就是一个典型的例子,通过合作,超过半数的开源应用程序服务器可以在Windows上实施。
商业化促使微软亲近开源
微软对开源态度的转变,与微软内部高官的更换有一定关系。由于微软内部焕然一新的领导班子,包括Bill Hilf在内,还有首席软件架构师Ray Ozzie以及一群志趣相同的程序开发者,果断地放弃了以前微软对开源和其他软件模型的敌对态度,包括软件即服务(Software as a Service,SaaS)等。例如,Ray Ozzie把重心放在了微软的Live服务上;而Bill Hilf则主持推出了CodePlex开源网站,使其成为微软为程序员提供源代码共享工具的场合。事实上,微软的CodePlex开源网站有点类似SourceForge模式。
是什么因素导致了微软具有如此友好、温和的态度?答案是:商业化。微软不是唯一的叩响开源之门的软件厂商,类似的厂商还有推出Red Hat客户支持服务的甲骨文公司,还有不断抛出开源活动的Sun公司。
如今,商业化的开源公司已经成为应用软件厂商领域中的重要一部分。这类公司的特点就是他们如何授权自己的软件产品。而在软件实施和软件的厂商支持方面没有太大区别,这个事实加速了微软在互操作性方面的努力。所有微软的这些努力的根本目的就在于促进其产品的销售额。
涉及到产品销售额,微软对此非常关注,它要移除阻碍销售过程中的所有障碍。如果有客户因为Longhorn Server与自己喜欢的开源Linux不兼容,而推迟部署微软技术,微软是不允许这种情况的发生的。
这种状况就导致了微软和开源软件厂商之间既竞争又合作的关系。微软的战略之一就是与这些开源软件公司合作,即使这些公司的软件产品与微软的产品有竞争关系——例如微软的CRM或其他产品——这样做的原因是通过合作,使得这些开源公司可以帮助微软扩大自己的软件系统平台的占有率。如果这些新的开源应用软件可以刺激微软专有授权软件产品的销售额(例如Windows操作系统、SQL Server数据库、IIS、MOM或活动目录等),那么,想必这无疑是微软的高官——无论怎样更换——都愿意看到的,或许还会感到非常幸福。
事实上,微软真正关心的的问题不是一个公司是否是开源性质,而是这个公司是否可以帮助销售微软的平台产品。
现在人们已经意识到,开源的发展已经进入了一个多元化的模型,而不再是仅仅建立在自由软件理想之上,开源的精神已经从纯粹的理想化向利益驱动模式转变。
微软也正在努力发掘一种针对开源联盟的业务模式。SugarCRM就是与微软展开合作的公司之一。2005年底,微软向SugarCRM提出了一个初步的合作建议,现在这个开源CRM软件公司已经与微软达成了技术合作伙伴关系,以优化它的应用程序在微软平台上的运行。他们为什么这样做?答案是:客户的需要。
SugarCRM公司的主席兼首席执行官John Roberts表示:“我们的应用程序可以运行在Unix、Solaris、Linux和FreeBSD等系统之上,但是我们的用户中有很多喜欢在Windows和SQL Server运行他们的应用程序,人们一开始或许会说‘上帝啊他们在和微软合作。’但是,客户的需要对我们来说更加重要。”
SugarCRM公司的开发团队每周都会与微软的研发团队进行交流,现在已经推出了FastStack安装程序,可以使SugarCRM与SQL Server、IIS和活动目录配合使用。另外,SugarCRM公司还计划在今年夏天推出支持Vista的SugarCRM 5.0。他们还将SugarCRM的源代码放在微软的Codeplex网站上,以更大范围的被开源社区的程序员所查看源代码。
微软的CodePlex网站已经吸引了很多微软之外的开发者。开发者能够在这儿就一些开源项目进行合作,共享他们自己对这些项目的收获,或者寻求并得到一些其他人的帮助。对于某些用户来说,尤其是那些对Windows服务器上开源项目感兴趣的用户,CodePlex已经变成了SourceForge之外的又一个最佳的交流场所。
制作项目管理和质量管理方面的商业应用软件的Aras公司近日宣布,其所有的应用程序的程序源代码就被放在微软CodePlex共享网站上,使用微软分享源代码软件授权。客户依然需要购买Windows服务器授权和其他平台的授权,但是可以免费下载和使用 Aras应用程序。如果客户要修改程序代码,Aras会提供顾问和支持服务。
微软“开源”的反对者
在我们开始大唱和平之歌之前,也必须清楚地看到,即使微软在开源方面做出了如此多的努力,在开源社区中依然有相当大一部分人认为微软在开源方面的举动并非是真诚的、无私的,甚至有人认为微软是是不合法的。
刺痛开源支持者的问题之一就是微软的共享源代码授权方式。微软的源码授权目前主要有三种版本,最具有限制性的是微软企业代码授权,它允许用户访问某些 Windows源代码,但是不允许修改。微软社区授权模式的限制性要少一些,允许开发者修改代码,但是具有一定前提的限制性。
开源用户者中对微软的主要抱怨是,微软拒绝把它的授权模式放在开源社区中让用户来评论它们的合理性。开放源代码促进会(Open Source Initiative,OSI)的总裁Michael Tieman表示:开源社区对微软的授权模式应该具有更多建议权,正像对GPL或其他一些开源授权所做的一样。Tieman说:“我们不同意有些不是开源的人来宣称自己是开源,微软一方面向人们展示了一个友好的态度,欢迎人们在微软的平台上创建它们的应用;另一方面,微软却又藏了一手,假若这个应用软件公司获得成功,微软就会对其进行打击。”
事实上,当人们看到类似微软之类的公司进入开源领域的时候,没有看到交流,没有看到创新,也没有看到选择,而看到的是更多繁琐的例行程序。
微软对这类的批评和谴责并不陌生,尤其是被人们谴责利用其市场领先地位,来通过潜在的专利侵权方面恐吓别的公司,并声称要对这些公司提起诉讼。而在这一点上,微软官方表示已经给出了答案。Bill Hilf说:“我问那些如此批评微软的人,‘微软就专利侵权方面发起了多少诉讼?’,答案是两次,我们当然要保护自己的专利和授权,但是我们不想通过诉诸法律的方式。”
尽管微软没有多次发起诉讼,但是微软咄咄逼人的气势已经影响了软件市场的活跃性。
或许,类似于Bill Hilf等微软高官所面临的最大的挑战是改变微软内部的声音。这些高官致力实现的事情之一就是让微软的开发人员意识到,微软开发人员需要在开源过程中扮演一个重要的角色,积极参与CodePlex上的项目以加入所谓的开源社区中。微软一些高官表示,尽管目前依然很难说结果如何,但是微软的工程师正在朝着正确的方向前进。
Bill Hilf表示:“幸运的是,我能够加入微软,让我可以和公司的每一个人进行交流,我非常清楚开源的含义。”
客观的说,无论是在内部的改造,还是对外的合作方面,微软和其团队都有了不错的开始。今天的微软已经和几年前的微软在对待开源方面有了质的变化。对于开源,微软一直在挥动着大棒。或许这次胡萝卜是最佳选择。