大多数人认为Oracle并不会抹杀MySQL

在开源社区的争吵并无益于Oracle公司对待MySQL的态度,开源社区当然希望Oracle能充分理解开源精神。 自从Oracle在2010年收购了SUN公司,开源开发者都忧心忡忡,因为担心Oracle可能将MySQL彻底抹杀,或者将其代码闭源专有化。 但实际上呢,这2种担心都没有发生。MySQL的性能在Oracle的管理下有显著的提高, 同时MySQL的主体代码仍是完全开源的。

 

那么为什么开源社区仍不舍地抨击Oracle对MySQL源码的管理呢?这样做公正吗?

 

MySQL社区的末日

 

Oracle被大众认为从没有对开源社区特别友善过。 甚至于哪些从前在生意上给与Oracle数十亿美元收益的用户,也并不特别喜欢这家公司。

Oracle对MySQL的管理自从Oracle收购SUN以来(MySQL是SUN公司的财产)始终饱受抨击也就不奇怪了。

大部分疑虑都是捕风捉影,毫无依据的阴谋论。少数确实是真实的,例如MySQL的测试样例从2012年开始令人惊讶的消失了。测试样例用来帮助用户确定在某个版本上bug已经被修复了。缺少这部分资料显然让用户和开发者失去了指南。

自从大家明确了解到Oracle停止了这些测试样例的发布后,更多的指摘纷至沓来。举个例子来说MariaDB的 Sergei Golubchik,(MariaDB是Mysql的一个分支,其以自己的纯净性和更好的社区友善度而著称),从最悲观的角度分析,认为Oracle

 

“故意地想要抹杀掉MySQL开发社区还剩下的东西,若没有了测试样例,那么MySQL将和其他闭源软件一样的对开发者不透明。仅仅让那部分对MySQL代码基础十分熟悉的人能继续开发下去。”

 

 

另一种看法

开源社区评论者Simon Phipp爆料称 实际上MySql测试样例的问题,可能并非因为什么故意的隐瞒,而是被企业的官僚体制所压垮的。

 

 

早在2012年已经有博客指出了测试样例是一个最好的基于源代码去发现安全漏洞的地方,为了应对这一点Oracle的安全团队坚持不让公布与GA发型版本bug修复的相关测试样例。

 

虽然Oracle的MySQL研发团队意识到这将阻碍共同开发的进程,同时也违反了社区的一贯习惯。但在oracle内部来说已经无法将这些样例透明化了。

像Phipps这样的开源倡导者认为事实并非因为有什么阴谋,Oracle也谈不上邪恶。 这个政策背后实际上是Oracle的一个沉重的决定;即便这个决定让MySQL开源社区对其印象更加糟糕。

 

然而,尽管有那么多人指责Oracle对MySQL的管理不善,MySQL仍是目前最为流行的开源数据库,在数据库引擎的排名中仅次于Oracle列第二位。 能取代Oracle数据库的也仅仅是Oracle自己的开源数据库MySQL。

原因之一是因为Oracle显著地提升了MySQL的性能和功能。Zack Urlocker是前MySQL产品EVP坚持:

 

mysql-performance

Urlocker认为Oracle在“MySQL中长期被认为不可能的代码层次中提升了性能”。究其原因显而易见的是:”Oracle是一家具有超过20年的构建和改善关系型数据库经验的数据库公司” 。 如果Oracle都无法改善MySQL,那反倒有些令人惊讶了。

 

Oracle帮助MySQL性能腾飞

尽快如此,但是仍有部分Oracle对发展MySQL的承诺是值得我们怀疑的。 例如Oracle将其thread pool特性仅仅包含在其专有的企业版本中。

mysql peroformance enterprise vs community

虽然如此但MySQL社区版仍在持续显著提升,有关测试显示在MySQL 5.5 到5.6中读写性能有150%的改善。

mysql peroformance enterprise vs community2

 

Oracle 对MySQL是天使还是罪人?

 

总之我认为到目前为止大部分MySQL用户都该感谢Oracle对MySQL的贡献。Oracle对MySQL开发社区的所做作为即令人遗憾又值得理解和同情,是出于对公司安全性的考虑。 MySQL社区应当尽可能汲取Oracle对MySQL的改善,同时Oracle公司也应当考虑让社区获得更多的资料,这将让Oracle在MySQL的主导地位上受到更多人的信赖 。

正如前MySQL AB CEO Marten Mickos (现在Eucalyptus的CEO)(@martenmickos)在邮件强调的那样:“Oracle甲骨文可能不会太关心社区,但他们仍在从事一份伟大的工作,在GPL协议下保持发展MySQL产品” 。

 

也许Oracle应当对社区更友善一些,但没有理由相信Oracle会故意伤害MySQL(已经好多年了,可以相信了),无论是作为单个产品还是一个技术社区。

 

 

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号