技术开发 频道

后Sun时代MySQL出路何在

  【IT168 评论】Oracle对于Sun的合并过程已经完成。现在,欧盟委员会也已经对该合并表示了祝福。Oracle的标识已经骄傲地显示给任何在浏览器中输入“sun.com”的人。因此,如果你访问mysql.com网站,你几乎看不到任何人提到Sun(Sun在2008年用10亿美元收购了MySQL),而在这个网页的最底下一行印着大红的Oracle标识。

  看起来好像那些无休止的诉讼案情摘要、听证会、唇枪舌剑等等所有事情都不曾发生过一样。现在,全球各地的数据库管理员、IT经理和小型网站运营商继续像往常一样工作,MySQL继续在服务器上运行并回应着数据库查询。但是现在,是Oracle拥有了MySQL的版权。所以,这个问题依然存在:MySQl这个流行的开源软件数据库的未来会怎样?众多依赖于它的机构的未来会怎样?

  这是一个棘手的问题。这个问题的答案主要取决于MySQL在你的企业中发挥的作用、你使用的许可证类型、你想花的钱的总数、你要采购什么以及你在未来要与谁合作等等。使这个事情更加复杂的是,MySQL是世界上最著名的开源软件项目和业务之一,因此,任何有关MySQL的讨论都会变成一场有关开源软件许可证的争论,例如GPL许可证。

  MySQL的今天和明天

  对于MySQL爱好者的好消息是:它不会很快就无人管理而枯萎和死亡。Oracle已经公开保证它将比Sun投入更多的资金开发这个数据库,至少在未来三年之内是如此。MySQL的社区版将继续得到改善。该版本是根据GPL许可证发布的,所有的源代码都是免费的。

  这些保证表明,普通的MySQL用户不需要考虑在未来几年里是否放弃MySQL的问题。如果你对于所使用的数据库的版本满意,只要你有一个编译器,就能够一直保持它运行。

  有一些充分的历史证据表明,Oracle将让用户更轻松地继续使用MySQL,而不再需要编译器。一位很熟悉Oracle在收购开源软件数据库公司Sleepycat之后如何使其成熟的开发人员说,这次收购对于所有人都是非常不错的。现在,Sleepycat的工程师人数比以前多多了,而且并未改变过该数据库的许可证。

  一位不愿透露姓名的Oracle开发人员说,“4年之后,我们大家都还在这里。人人仍在工作并且很快乐。Oracle是很不错的工程师之家。”

  当然,这种保证还不足以安抚每一个人紧张的神经。MySQL网站显著地有别于Sleepycat.com(后者并重定向至Oracle网站)的事实也许不仅仅是一个疏忽。Oracle管理层很清楚人们对于MySQL的未来之路充满了混乱之感,所以把mysql.com网站重定向到oracle.com网站,只会让那些在Sun被收购之后仍然感到担心的人们更加不安。

  你的许可证还是我的许可证?

  机构和开发人员并非只是简单地担心MySQL作为一种产品的未来,而是担心Oracle拥有该数据库及其许可证的方式是否会影响到许可证的授权。

  MySQL的创始人之一Monty Widenius也是公开反对Sun与Oracle合并的人士之一。他在2009年离开了Sun去了MariaDB,这是在Monty Program AB公司之下开发的一种新版本的MySQL源代码。

  Widenius一直在游说欧盟委员会阻止Oracle与Sun的合并。他争辩说,允许Oracle控制MySQL版权对于欧洲和整个社会来说都不是好事。他的理由是,像MySQL那样,产品建立在开源软件数据库基础上的公司,只能够向不愿受GPL许可证束缚的用户提供商用许可证才能持续生存下去。

  因此,他争辩说,如果Oracle成为单独的版权拥有者,就不会允许任何竞争者销售商用许可证。(原先MySQL公司也一直坚持保留全面的版权,要求所有的作者签署协议把版权授予该公司。这项权利就意味着他们且只有他们能够出售商用许可证,而不必理会GPL协议。)

  迫使用户采用GPL许可证的麻烦其实并不在于这个有争议的许可证本身,而在于这件事情的细节会变得更加复杂。比如说,有些人认为,该许可证可适用于和所有软件密切相关的驱动程序和连接协议。而其他人则认为,这种想法过于大言不惭了。

  在过去,MySQL的销售人员会很有效地利用潜在客户对于GPL许可证的混乱想法,设法说服他们相信,选择一个商用许可证会更简单,可以消除未来可能出现的任何代价昂贵的法律纠纷。当然,出售商用许可证可以喂饱饥饿的开发人员的肚子。这种销售方法已经证明是一个有效的和有利可图的吓唬人的策略。

  更友好、更温和的GPL许可证

  有理由相信,对于GPL许可证的担心正在消失。谷歌开源软件计划经理Chris DiBona说,谷歌在运行GPL许可证的MySQL时就一点也不担心。“很多人都读懂了GPL许可证,也认为该许可证说出了他们希望的条款。我们理解这个GPL许可证。我们会按照它制定的方式使用它。”

  DiBona指出,GPL许可证要求开发人员在发布软件的时候包含源代码。但是谷歌发布的大多数东西都是软件运行的结果,而不是软件本身,所以谷歌并不需要发布它对软件所做的任何修改,如果它做出了修改的话。而很多公司则不做任何修改地使用着MySQL和其他GPL项目。

  哥伦比亚大学法律教授Eben Moglen经常帮助Richard Stallman起草各种版本的GPL许可证。他说,销售人员很快就会认识到GPL许可证是吓唬人的。“你不想因此遭遇麻烦就应该向我们付费”这种做法不是一种可持续的商业模式。

  过去,Moglen为Oracle和MySQL这两家公司工作,帮助他们理解和定义GPL在商业领域的作用。当欧盟委员会争论Oracle与Sun的合并交易时,Moglen得出的结论是,这两家公司的合并不会损害MySQL开源代码的开放性。这是最重要的,也是GPL的真正要点。

  Stallman则采取了不同的方法,更加关注经济环境和市场竞争,与其他开源软件支持者一起支持Widenius的观点:认为发布商用许可证的能力是非常重要的。他们在给欧盟委员会的信中表明了这个理由:“由于只有原来的版权持有者才能够销售商用许可证,而该代码的任何新的分支都无权采取并行授权的方法,因此将不能很容易地创建资源以支持MySQL平台的持续开发。”

  无论好坏,欧盟委员会都没有受到影响,并且同意让Oracle控制Sun和MySQL。这件事情对于企业使用和授权MySQL的方式有什么影响仍然是模糊不清的。但是,Oracle及其客户和竞争对手都在为此做着准备。

  开放的方法

  Monty Program并不是唯一一家对使用MySQL的数据库管理员提供支持服务的公司。另外一群前MySQL的开发人员已经在开始研制Drizzle,这是仍处在测试阶段的MySQL的一个分支。Monty Program的数据中心经理Rackspace最近宣布将聘用几位Drizzle的重要开发人员。这一决定或许能够让该公司很快推出一种可被普遍接受的Drizzle的稳定版本。

  MySQL的生态系统可能会分裂为几个不同的阵营。Widenius已经发出信号称,他要让他的分支版本接受社区的漏洞补丁,从而提供一个更具协作性的实验社区。MariaDB将花时间调整代码以便最大限度发挥代码的性能,此举可能对于中坚力量的开发人员更有吸引力。新版本包括Maria、PBXT和Xtra三大存储引擎,形成了MySQL分析机制的基础。

  那些需要高性能和ACID事务处理的开发人员对于这些存储引擎的细节非常感兴趣。这些细节基本上是隐藏在SQL语法分析器后面的。因此,大多数用户将会看到这些引擎与来自Oracle的MySQL版本一起发布的引擎是一样的。

  Widenius认为,GPL许可证约束所有的开发人员要和自己的软件一起发布MySQL,即使这两个软件是独立运行的。而MariaDB或者Drizzle版本则帮不了他们,除非他们打算发布自己的全部代码。

  Widenius说,我的观点是,GPL许可证不影响在TCP/IP线路上传输的应用程序。然而,MySQL中的GPL许可证确实会影响某个应用程序,如果这个应用程序是使用MySQL服务器发布的或者需要MySQL服务器工作的。这是因为这个整个系统是MySQL派生的,即使有些部分不是派生的。

  但是,其他人不同意这个意见。处在这个灰色区域中的所有公司都将继续需要Oracle的商用许可证,除非它准备在就GPL许可证的细节与Oracle对薄公堂。或者有些公司还可能指出一条道,就是让Oracle把MySQL数据库与Linux操作系统结合在一起。很多人认为这样一来,就不必强迫MySQL数据库去全面接受GPL了。

  欢迎来到Oracle的世界

  对于Oracle来说,Oracle肯定会利用其实力努力支持那些依靠它的重要数据的企业。Oracle拥有一个高素质的销售队伍和非常好的人员培训机制。

  Oracle控制MySQL版权的能力及其向用户授权商用许可证的能力还将使许多用户留在它的轨道中,如果支付几千美元购买一个商用许可证比雇佣一个律师确定你是否符合GPL许可证更便宜的话。虽然大量的MySQL用户主要运行博客和其他基础类网站,在这个数据库中存储自己的内容,但是,这些版本的MySQL软件几乎不产生任何收入。Oracle会要求他们付费吗?或者,Oracle可能会把他们当成一个需要加以培育的团队,鼓励他们享受开源许可证,直到他们成长为更大和更加商业化的企业。

  有些企业也许没有什么选择余地,只能客气地对待Oracle的销售人员。许多软件公司围绕MySQL建造自己的软件包,把两个软件作为一个集成的工具销售。如果他们要把MySQL与他们自己编写的代码进行捆绑,或者他们认为必须这样做时,他们就需要继续购买商用许可证。

  MySQL和NoSQL

  Oracle必须足够聪明地认识到,在用户开始重新编写自己的代码之前,它能够提出的要求是有限的。例如,Twitter已经宣布它将实验性地将其基础设施转移到Cassandra,后者是比Apache许可证更开放的另一个开源软件计划。

  Twitter的举措也许就是因为技术原因推动的:Cassandra是一个非常简单的快速数据库,省掉了很多更高级的保护,如事务处理等。还有不少像Cassandra那样的项目。所有这些项目通常都是用“NoSQL”这个流行词定义的。

  Widenius说,Twitter的做法也许还为那些不想陷入许可证纠纷的用户指明了一条道路。不过,采用NoSQL是要付出代价的:NoSQL显然有自己的地位。但是,普通的NoSQL开发人员在一个方面给你提供更多的性能,而在许多方面牺牲了灵活性和互操作性。这是不行的。它们会让人想起在MySQL创建之前存在的许多数据库。当MySQL开始流行的时候,它消灭了许多像MySQL那样的数据库,因为SQL接口更容易使用,更容易与其他应用程序连接。

  同时,目前的NoSQL数据库使人们联想到MySQL以前的样子。这个数据库一开始也同Cassandra一样是边缘的产品,通过放弃大多数传统的数据库的保护措施提供了非常快的存储能力。在过去的许多年里,MySQL增加了许多功能,建立了能够处理一些更高级工作的成功的工具。所有这些工作都需要更多的工程师和更多的预算。

  Widenius以及严重依赖MySQL的企业和机构现在都感到不太安全。如果因为潜在的客户要求明确说明许可证问题而导致MariaDB失败,他将只剩下一个失败的公司。如此,他就可以说他在辩护辞中所预测的Oracle与Sun合并的不利影响是对的。如果MariaDB繁荣起来,他将会取得成功。不过他的预测肯定会受到更多的怀疑。在这条道路上,他将成为杀死巨人歌利亚Oracle的大卫。而在另一条道路上,他会被看作是怀抱婴儿的预言家卡桑德拉(Cassandra)。这个婴儿长大了并且找到了一种很好的生活,拥有漂亮的朋友和自己的大游艇。在这两种情况下,它既是正确的也是错误的。

0
相关文章