四分五裂的MySQL能否重整山河 --- 转

在Oracle宣布收购Sun一个月之后,MySQL的未来仍悬而未决。在领先的商业数据库供应商手中,MySQL这个领先的轻量级开源数据库还能够继续保持兴旺吗?到目前为止,形势好像并不乐观。

早在Oracle收购之前,MySQL社区就有了紧张的迹象。2008年在Sun收购MySQL后不久,许多重要的MySQL员工就开始陆续离开,其中包括CEOM?rtenMickos和共同创始人MontyWidenius。Widenius更是公开抨击了由Sun领导的MySQL开发流程,批评发布周期太过匆忙以及缺乏质量控制。另一位共同创始人DavidAxmark也在受够了Sun陈旧的企业文化和繁杂的办事方式后选择了离开。在 51CTO.com之前关于MySQL两位创世人离职对Sun的影响一文中曾猜测Sun领导下的MySQL是否会更好?现在,该换Oracle领导的 MySQL是否会更好了。

随着骨干成员大批出走,MySQL的发展碰到了另一个难关:MySQL的分支开始出现,包括Drizzle 和MariaDB,它们向用户和贡献者提供Sun控制的主要分支之外的方式。Drizzle试图摆脱一些最近的MySQL版本中过多的功能,为云计算和 Web应用服务器提供更合适的轻量级数据库。而MariaDB目标是与MySQL功能兼容,而且默认使用全新的transaction-capable存储引擎。可能更重要的是,MariaDB的创建者不是别人,正是MySQL的开山鼻祖Widenius本人。

如果这些事还不能让 MySQL的新东家Oracle头疼的话,Widenius已经扔出了另一波攻势。上周,51CTO.com曾在5月13日报道过Widenius宣布成立开放数据库联盟(OpenDatabaseAlliance)的消息,一个供应商中立的组织,他们的目标是要成为MySQL开源数据库的业界枢纽,包括MySQL和衍生代码、二进制文件、培训、支持和MySQL社区和合作伙伴系统的改进。值得注意的是,Oracle没有被列入开放数据库联盟的联系人名单。

对这一切感到为难的人绝不会少。今年3月,前MySQL员工,现在的Drizzle开发者PatrickGalbraith曾大声质疑现在哪个MySQL分支才能算得上官方正式版。这个问题的最终答案或许就是MySQL的命运。

Oracle能够重视MySQL吗?


当然,名义上MySQL只可能有一个真正的官方正式版:就是那个最初的MySQL,后来被Sun收购,并最终被Oracle获得的那个。Oracle目前拥有与MySQL的名字相关的所有版权,商标和其他知识产权它在保护知识产权时一向不遗余力。MySQL甚至曾经向一些合作伙伴发出商标违反通知,只因为他们在其提供的服务中标注的是MySQLsupport(MySQL支持),而不是支持MYSQL数据库(supportfor MySQL databases)。

虽然这方面做的不错,但是MySQL的品牌本身并不会让顾客感到舒心,他们担心一个开源数据库不会得到世界上最大的商业软件公司的应有重视。已经有一些客户质疑Oracle对MySQL的承诺,尤其是当它拥有利润丰厚的商业数据库时,对低端的开源产品的态度究竟会怎样。MySQL社区已经开始分裂并各自转向替代品,Oracle的MySQL的业务正逐渐变得缺乏吸引力。

但是,如果 MySQL的支持率正在下降,Oracle更应该快点做出决断。Oracle必须努力恢复MySQL社区的信任和支持,否则就可能眼睁睁的看着它变成一把叉子长出Drizzle、MariaDB或者其它分支。为了做到这一点,Oracle必须要避免Sun在收购MySQL时犯的错误。从某种意义上说,想要MySQL成功,Oracle要表现得不像Oracle一点。

开源项目的客户是出了名的挑剔。如果一个项目不能提供用户需要,用户可以立刻去找其他的开发者也一样。有许多开源项目都出现了叉子的状况,也有观点认为这样的竞争是健康的。而对于Oracle来说,最好希望自己不要走错了路口。

如果MySQL变成叉子,谁会输,谁会赢?

巧合的是,在开源世界的另一个领地正在上演类似的情节。这个主角是glibcGnu standardClibrary(GNU标准C库)Linux上运行的几乎所有软件都在用它。本月初,Debian项目决定用 eglibc(ddedglibc),也就是glibc的一个分支来替换掉它。表面上看新的分支可以更好地为嵌入式系统编程服务,但社区里却可以听到些闲话说替换glibc的真正原因在于glibc主要维护者UlrichDrepper的顽固不化。

eglibc的出现肯定不是偶然的。它与很久以前的一次争议事件遥相呼应,当时有一群从事Gnu Ccompiler(GCC,GnuC编译器)的开发者由于受不了项目贡献模式的严格限制,分离出去形成了一个称为egcs的新分支。摆脱了官僚主义之后,egcs分支繁荣发展,而gcc的主分支依旧停滞不前,最后以gcc的死去而其后egcs正式改名为gcc而告终,分支最终变成了主干。根据一些 egcs开发者所说,他们从一开始就有这样的打算。很难讲这次eglibc的维护者们是不是也有类似的想法。

Oracle和其他开源项目的维护者都应该在这里好好的上一课。缓慢的专制管理是许多开源软件的用户和贡献者所不愿意容忍的,而被企业等商业实体维护的项目特别容易受到这种影响。在EricS.Raymond发表了他那篇论文大作大教堂和集市的12年之后,我们看到仍有太多的项目尤其是企业还是无法放掉自己的大教堂心态。

因此Oracle最好的行动方针应该是立即加入开放数据库联盟,并以积极的态度参与MySQL的开发,而且要全力保护由社区推动的开放的方式。Oracle将MySQL作为Sun的一项资产买下来,但是Sun一直没有抓住MySQL的重点,也不知道如何管理。如果Oracle想不出怎样比Sun做的更好,那么它仍将拥有MySQL的名号,然而不幸的是,这个名号很快就会没有多大意义了。

你可能感兴趣的:(mysql)