Oracle收购Sun MySQL的未来存疑

  • 来源:计算机世界
  • 关键字:Oracle,收购,Sun MySQL,未来
  • 发布时间:2010-04-28 14:03
  尽管Oracle收购Sun一案最终得到欧盟的批准,这一收购案基本尘埃落定,但是,人们对开源数据MySQL命运的担心并没有结束。

  清水 编译

  2010年1月21日,随着欧盟终于同意Oracle收购Sun,这场已经拖了9个多月之久的收购案基本尘埃落定。欧盟之所以迟迟没有批准Oracle, MySQL是很重要的原因,欧盟认为Oracle收购MySQL会妨碍数据库市场的公平竞争。如今,Oracle收购Sun的工作终于可以进入实质操作阶段,如果在浏览器中输入“sun.com”,Oracle的标识会在链接地址栏出现;如果访问的是“mysql.com”,在网页底部也可以看到Oracle的标识。不过,今天的MySQL网站上已经很难看到任何Sun的信息,尽管Sun先于2008年斥资10亿美元收购了MySQL,然后Oracle才以74亿美元收购Sun。

  似乎转眼之间曾经热闹的听证会、言语恫吓和痛苦绝望都如过眼云烟,就像从来没有发生过一样。今天,各个地方的数据库管理员、IT经理和小型网站运营商仍然照常工作或运营,他们所管理的MySQL一如既往地不断响应着前台提交的各种数据库查询。

  真的所有问题都烟消云散了吗?由于今后Oracle会拥有MySQL的版权,MySQL的未来依然是个未知数:MySQL的未来究竟走向何方?依赖它的众多企业的怎么办?这些问题的答案取决于多个方面:MySQL在企业扮演的角色、所用许可证的类型、想花费多少开支、想采购什么软件以及打算将来与谁合作。让情况更为复杂的是,MySQL是世界上最著名的开源软件项目和企业之一,所以关于MySQL的任何讨论实际上涉及关于GNU公共许可证(GPL)等开源许可证的争论。

  Oracle做出保证

  首先,对MySQL的使用者来说有一个好消息,就是它不会很快推出市场。Oracle已公开在多种航和保证:它会投入比Sun更多的精力来开发这个数据库,至少在今后三年是这样。社区版会继续得到改进,该版本将采用GPL许可证来发布,所有源代码都是免费的。

  在近日于美国加利福尼亚州圣克克拉召开的O‘Reilly MySQL大会上,Oracle首席企业架构师Edward Screven就传达出简单明确的信息:MySQL对Oracle来说很重要,希望以此赢得用户们的芳心。Screven 说,MySQL拥有Oracle所没有的一些特性。它小巧、容易安装,还便于开发人员上手。他认为MySQL开源数据库让Oracle得以锁定Oracle数据库本身所无法企及的市场,“MySQL取得成功,对于我们公司来说很重要。为了取得成功,我们必须继续给MySQL投入。”

  Screven表示,Oracle将MySQL小组与InnoDB小组(Oracle在2005年收购了芬兰公司Innobase,此举让很多人预测这家公司最终会进而收购MySQL)整合起来,已经开始获得了一些重大的性能改进——MySQL数据库处理几百个并发连接的速度最快提升了35%。即将推出的新版本MySQL其运行速度有了改进,这得益于使用粒度更细的行锁定机制,并在一定程度上避免了争用表的问题。

  Screven强调,MySQL将负责分析SQL查询、与外部客户端集成,但把存储数据的任务交给了有着不同属性的几个不同引擎。InnoDB引擎提供事务处理机制,万一出现硬件故障,为了确保数据一致性需要这种机制性能提升以及。他说,还有几处计划的改进将会融入到社区版和商用版当中,像热备份这些功能只会出现在商用版中(热备份过去一向作为独立产品而出现,但现在将融入到企业版MySQL中)。

  “归Oracle掌控后, Oracle在区别对待社区版和商用版的功能特性方面,与过去的MySQL或Sun公司采取的做法不会有太大变化,”Screven说,“我预计核心功能会出现在社区版中。至于一些增值功能,比如监测或备份,则会出现在企业版中。”

  尽管Screven表示,Oracle肯定希望把MySQL作为一家公司来运营以获得利润,但他强调,他和公司其他人都喜欢这一点:开源社区版便于人们创建项目。他说:“我们要是扼杀社区版将是一个错误,因为那么做只会影响MySQL的普遍性。”

  比较庞大的MySQL社区现在包括MySQL核心工具的好几个分支版本,比如由MySQL的前任员工Monty Widenius开发的MariaDB和Drizzle。两者都在试用不同的数据存储引擎及其他改进。Screven希望它们能有好运,但表示Oracle大力支持的新MySQL会继续致力于满足商业客户的需求。

  要GPL还是要商用许可?

  类似Screven这样的来自Oracle公司各个层级的保证表明,普通的MySQL用户暂时不需要考虑在今后几年要不要放弃MySQL。如果对于使用的数据库版本满意,仍能够继续运行它。另外,也有证据表明,为便于用户使用MySQL,Oracle可能计划推出免编译器的MySQL。

  不过,这些保证并不足以让每个人吃下放心丸。显然,Oracle也注意到了这一点。与Sleepycat.com直接重定向到Oracle官网不同,MySQL网站并没有这么做。这肯定不能用Oracle的疏忽来解释。Oracle的管理层应该很清楚,这次合并给MySQL到底带来了多大的混乱。如果直接把mysql.com重定向至oracle.com,只会让那些在Sun被收购后忧心忡忡的人更加心烦意乱。

  其实,作为一种产品,众多企业和开发人员基本不担心MySQL的未来,而是更担心Oracle掌控该数据库及其版权给许可后会给开源社区带来什么样的影响。

  MySQL的早期创始人之一Monty Widenius是公开反对Sun与甲骨文合并的著名人士之一。他2009年离开Sun后创办了Monty Program AB公司,并开发出了MariaDB——这是一种新版本的MySQL,这家公司的产品立足于MariaDB开源数据库。Widenius曾游说欧盟委员会阻止这起合并案,他认为允许Oracle控制MySQL版权对于欧洲乃至整个社会来说不是好事。他给出的理由是,只有向不希望被GPL束缚的用户提供商用许可证,像他的Monty Program AB这样的公司才能够生存下去。

  他认为,如果Oracle成为唯一的版权拥有者,就不会允许竞争对手销售商用许可证。之前的MySQL公司一直坚持自己拥有完整的版权,其办法是要求所有开发人员签署将版权授予该公司的协议。这种权利意味着只有MySQL才能销售商用软件证,而不用管GPL。用户采用GPL许可的麻烦在于,GPL是一种让人迷惑的许可方式,其细节非常复杂。有些人甚至认为该许可证更适用于通常与别人的软件有较密切关系的驱动程序以及用来定义连接的协议。

  过去,MySQL的销售人员曾抓住用户对于GPL认识不清大做文章,竭力说服他们,让他们选择商用许可证,以避免将来可能出现代价高昂的法律纠纷。当然,购买商用许可证有助于为“嗷嗷待哺”的开发人员提供资金。事实证明,这是一种行之有效、有利可图的战术。

  当然,也并不是所有人都对MySQL是否使用GPL非常担心。比如,谷歌就是其中之一,尽管它们也部署了MySQL。谷歌开源项目经理Chris DiBona说:“很多人从GPL当中读到了他们希望应该表明的条款。我们理解GPL,我们会按照它的既定方式来使用它。”

  他解释说,尽管GPL要求开发人员在发行软件时包含源代码,但谷歌发行的大多数是搜索结果,而不是软件本身,所以该公司不需要发行它对软件所作的任何更改——如果它真做了更改的话。另外,也很多公司不加任何更改,就使用MySQL及其他GPL项目。

  哥伦比亚大学的法学教授Eben Moglen过去常帮助自由软件之父Richard Stallman起草GPL的各种版本,他说:“GPL正在设法变得简单明了,用不了多久,骗别人GPL很吓人从而强迫别人给自己付钱的做法就行不通了。”

  Moglen过去在Oracle和MySQL都工作过,帮助这些公司理解GPL在商业模式中的作用。欧盟委员会就这起合并案进行争辩时,Moglen是支持的,他说这两家公司联姻不会损害MySQL源代码的开放性。他认为源代码开放性是最重要的因素,也是GPL真正关注的方面。

  而Stallman则持不同的态度,他与Monty Widenius等很多开源倡导人士一起反对这场并购,认为发布商用许可证的能力至关重要。他们在致欧盟委员会的信函中给出了反对的理由:“由于只有原来的版权拥有者才能销售商用许可证,而任何新的分支版本都不能采用并行许可方法,因而其他衍生版本不容易获得资源,以继续开发相关产品。”

  最终结果是,欧盟委员会没有因这些反对意见而动摇立场,同意了让Oracle控制Sun和MySQL。这一交易对于很多使用MySQL的企业及MySQL的授权方式究竟有什么影响还有待观察,这也是业界最主要担心的问题。

  MySQL阵营不同走向

  Monty Program并不是唯一一家公司对使用MySQL的公司提供支持服务的公司。另一群以前在MySQL工作的开发人员已开始开发Drizzle,目前,MySQL的这个分支版本还处在测试阶段。数据中心管理公司Rackspace最近宣布从Drizzle聘请了几名主要开发人员,这个决定有望让该公司更快交付一款更为稳定可靠的Drizzle版本。

  目前看来,MySQL的生态系统可能会分化成几个不同阵营。Widenius已经放出口风:他希望他的分支版本通过接受社区补丁,并提供一个协作、试验性的社区。MariaDB可能对有时间调整代码以便最大限度地提升性能的铁杆开发人员更有吸引力。新版本包括Maria、PBXT和Xtra,这三大存储引擎是MySQL分析机制的核心部分。对于那些需要高性能级别以及处理ACID(原子性、一致性、独立性和持久性)事务的开发人员,他们对于这些存储引擎方面的细节会最有兴趣。而这些细节基本上隐藏在SQL分析器后面,所以大多数用户会觉得,这些引擎与Oracle发布的MySQL版本里的引擎一样。

  Widenius认为,GPL对于将MySQL与其软件一起发布的所有开发项目都有约束力,即使这两部分是独立运行的。MariaDB版本或Drizzle版本帮不了他们,除非他们打算发布全部代码。

  Widenius说:“我认为,GPL并不影响基于TCP/IP的应用软件。不过,要是应用软件与MySQL服务器一起发布,或要求MySQL服务器正常工作,那么MySQL中的GPL确实会影响该应用软件。这是因为整个系统是MySQL派生出来的,即使有些部分不是这样。”

  但其他人并不认同,处于这片灰色地带的任何公司都会继续需要Oracle的商用许可证,除非它准备在法庭上就GPL的细节一较高下。有些公司可能会提到Oracle将数据库与Linux操作系统结合起来,很多人觉得这种方法不会迫使数据库受到GPL的束缚。

  至于Oracle,它几乎肯定会发挥优势,竭力劝说MySQL的用户不要让重要数据离开它。而对于很多用户而言,花几千美元来购买MySQL商用许可证,总比雇用律师来确定自己是否遵守GPL来得划算,因此Oracle控制MySQL版权通过向用户授予商用许可证也的确可能会将很多用户留在身边。更何况这家公司拥有一流的销售团队和完善的人员培训机制。

  不过,MySQL究竟能为Oracle带来多少受益还未可知。虽然数量众多的MySQL用户开设的博客和其他基础网站将内容存储在MySQL数据库中,但这些版本很少能带来真正的收入。未来Oracle会更拼命地榨取他们来收取费用吗?也许Oracle会将它们的一部分视作值得培养的对象,鼓励他们享用开源许可证,直到他们发展成为更庞大、更商业化的企业。

  而有一些软件公司基本上没什么选择,对Oracle的销售人员只好笑脸相迎。这些软件公司基于MySQL开发软件包,把两者作为一套集成工具来交付。如果他们想把MySQL与自己编写的代码捆绑起来——或者他们认为必须这么做,就得继续购买商用许可证。

  NoSQL能替代MySQL吗

  当然,Oracle肯定很聪明,认识到自己的要求得有个度,不然用户会开始改写代码。比如说,Twitter已宣布大范围尝试改用Cassandra来开发基础架构。Cassandra是另一种开源项目,采用更加开放的Apache许可证。

  Twitter的举措也许纯粹出于技术上的考虑:Cassandra是一种非常简单、快速的数据库,没有很多比较复杂的保护措施,比如事务处理。Twitter这一举措的意义在于,它可能为不想陷入许可困境的MySQL用户指明了一条更省事的道路。实际上,还有众多像Cassandra这些的项目,它们都常常用“NoSQL”这个流行词来定义。不过,采用NoSQL是要付出代价的。

  “NoSQL显然有一席之地,但它不适合普通的开发人员,因为NoSQL在某些方面为你提升性能的同时,却在其他很多方面降低了灵活性和兼容性。”Widenius说。“它让我想起了MySQL问世之前存在的众多数据库。MySQL开始流行后,这些数据库先后退出了市场,原因是MySQL很容易使用,极容易与其他应用软件进行连接,这归功于SQL接口。”

  的确,今天的NoSQL数据库让人联想到了MySQL昔日的境况。与Cassandra一样,MySQL数据库也是从一个很小的项目做起来的,它摈弃了最传统的数据库拥有的一些保护措施,因而提供了非常快的存储性能。之后,MySQL逐渐添加了很多这方面的功能,成为了一款成功的数据库产品,能够处理一些比较高端的事务,所有这些工作都需要更多的工程师和更多的预算。

  Widenius以及高度依赖MySQL的企业现在处境很微妙。如果MariaDB因潜在客户想规避许可问题而失败,留给他的将是一家倒闭公司,不过那可以证明他预测Oracle与Sun合并案会带来不利影响是正确的;如果MariaDB生意兴隆,他会享受这种成功带来的喜悦,但他的预测肯定会受到更多人的怀疑。在一条道路上,他成为击败巨人歌利亚(Oracle)的大卫;而在另一条道路上,他将被视作预言家卡珊德拉(希腊神话中的预言家,预言很准,但没人信她)。不管怎样,Widenius肯定会既是正确的也是错误的。

  GPL或许会成为MySQL保护伞

  人们对MySQL的未来担心主要有两个,一个是Oracle未来可能不给MySQL继续投入,让其自身自灭;另一个Oracle可能会改变MySQL的销售策略。如果出现这两种结果中的任何一种,最终都会导致数据库市场竞争的减少,使得用户利益受损。现在看来,短期内MySQL不太可能落到这样的命运。其中很重要的一个原因是MySQL的销售将采用GPL授权。

  在不久前举办的O’Reilly MySQL大会上,MySQL社区副总裁Kaj Arno公开表示,MySQL将继续采用GPL授权。如果MySQL采用GPL,对MySQL会起到一定保护作用。

  首先,众所周知,GPL授权的核心是如果某产品是基于GPL授权的开源产品开发,那么该产品也必须公开源码,并采用GPL授权。由于GPL的这一规定,Oracle不能将MySQL变为闭源产品销售。其次,如果Oracle停止对MySQL投入,只要市场存在对这类开源数据库的需求,现在已经存在的MySQL的衍生版,如Drizzle、MariaDB可能很快会顶替MySQL的位置,其他组织也可以根据GPL授权推出新的类MySQL版本。这也肯定不会是Oracle愿意看到的局面,对于Oracle来说,与其培育一个新的竞争对手,显然不如把这个竞争对手拉入自己阵营更有利。更何况短期内放弃MySQL对Oracle而言还面临着巨大的公关压力。(文/邹大斌)
……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: