跳过导航.
主页

MySQL和Google即将达成代码贡献的交易

Google, Mysql, 开源, 代码

Google Inc. 和MySQL AB即将达成一桩交易,让开源数据库供应商将搜索巨人创造的强大的特性合并到未来的流行数据库版本中去。

  星期一,Google公开发布了一些用户特性的源代码,这些特性是它构建在系统中,用来加强搜索引擎的性能和可靠性的。这些插件通过通用公共许可证(GPL)进行发布。

  Google的声明,是在没有MySQL的情况下完成的,并且正好是在MySQL每年在加利福尼亚州克拉拉召开的世界大会 上的前夕,似乎是有点给MySQL施加压力的微妙尝试,让MySQL将新的特性增加到软件的官方版本中去,而MySQL直到最近才不情愿地去执行了。

  从那时起,消息来源称,Google已经签署了一份贡献许可证协议(CLA),这是MySQL接受来自外界的公司或者开发人员的源代码所需要的关键合法文档,这样才能将这些源代码投放到它的流行数据库中去,据称在全世界有1千1百万台服务器在使用它。

  Google被普遍认为 是世界上最大的MySQL用户,全世界的数据中心中大概有几百或者几千台MySQL服务器在运行。

  其它能够被计算出来的就是Google想要转递给MySQL的那些确切的特性,还有MySQL提出的相应的补偿,从象征性的礼物,例如T恤衫,到几十万美元,MySQL的发言人Steve Curry说。Curry拒绝透露目前交易的状态。

  精神分裂的方式?

  大多数的开源软件都是由编程人员在他们的业务时间里共同完成的,还有一些商业机构通过对这种产品提供有偿的支持而赚取利润。

  最好的例子就是Linux操作系统。内核的开发是由Linus Torvalds监督的,他是一名志愿者,他接受了来自财富500强公司里面的开发人员的贡献,例如 IBM 和Oracle 公司。在理论上,自始至终都是面向学生黑客们的。

  相比而言,MySQL长久以来已经成为一个“单体开发模型”,位于丹佛的RedMonk Inc.公司的Stephen O’Grady说。

  尽管MySQL也欢迎来自社团提交的对bug的修改,甚至是鼓励第三方软件公司构建数据存储引擎,然后把它插入MySQL自己的默认引擎中去,它仍然很少会接受来自外界的直接植入核心数据库的插件,O’Grady把这种意见叫作“精神分裂”。

  这就阻止了MySQL添加来自一些用户,包括Google在内,的渴望的新特性,而Google认为这是与时俱进的潮流。

  “我们可以比MySQL让事情进展得更快一点,所以我们决定不再等待,” Google的软件开发人员Mark Callaghan在星期二召开的MySQL大会上说,他发表了针对MySQL插件的源代码。
社团的威胁

  MySQL的问题,O’Grady说,存在于它的双重许可模型上,它让用户既可以在开源的GPL下面取得软件,也可以在一个完全商业的许可证下取得软件。MySQL的一些客户不想要使用GPL,因为它要求他们在将软件用回到社区的时候捐献所有的收费。

  这就让那些商业软件公司有空隙可钻,例如,已经将MySQL的某个版本修改之后嵌入他们的应用程序。

  把这个消息传开,MySQL就可以使用常规的商业许可证来销售它的数据库了。然而,这也对MySQL施加压力,确保他们产品中的任何代码都不得抄袭来自其它的应用程序或者违反了任何版权的代码。

  对MySQL和任何公司来说,最简单的方式就是雇佣开发人员来编写代码。甚至是从外界的开发人员那里购买代码,这都可以曲线救国,并且提高那些可能在无意中违反了版权的开源软件的用户的关注程度。这也是微软最近反复敲打Linux的东西。

  看法的调整

  MySQL 负责营销的副总裁Zack Urlocker承认公司有史以来都很难将外界的代码植入它的数据库中。

  但是,他说,公司正在尝试调整这种看法,因为这种看法会赶走一些社团的成员。例如,去年MySQL重新编写了他们的CLA,以便让其更容易理解,并且减少胁迫的感觉,Urlocker说。

  MySQL确实是“真的对Google的代码贡献感到兴奋,”他说。

  这些特性包括针对从数据库(slave database)的事务复制、半成品(semisynchronous)复制、镜像binlog,以及快速和自动化的错误恢复。它们共同的作用是让每个 Google数据库管理员都可以管理“上百个数据库服务器”,同时还仍然有时间去“处理复杂的问题”,Callaghan说。

  这些特性是基于MySQL 4.0的,尽管1年半之前MySQL已经发布了5.0,但是Google仍然在继续运行4.0版本。

  “我们不像其他人那样频繁更新,” Callaghan说。

  Callaghan承认,其中的一些特性,或者是相似的一些,已经在当前的5.0版本中添加了,或者是正在5.1版本的制作中,到今年年底5.1可面世,或者是到2008年推出Version 6.0.。

  将Google开发的特性导入5.0版本中,或者是随后的版本中,不应该成为一个问题,双方都这么说。倒是有必要催促Google从MySQL 4.0中升级上来。

  “我们有很多的查询在MySQL 5.0中无法解析,” Callaghan说。“我们知道需要获得新的特性,我们必须升级MySQL。但是移植真是太困难了。”

开源:LUPA