Oracle 开始搞小动作,要毁掉 MySQL

摘要 Oracle在2010年收购Sun Microsystems,令开源资料库MySQL一起也被收归Oracle的旗下。然而为免开源的MySQL影响自家品牌Oracle Database的收入,有人发现Oracle开始开始搞小动作,目的是要毁掉MySQL这个「养子」。 众所周知Oracle一直是开源技术的「积极用家」

Oracle在2010年收购Sun Microsystems,令开源资料库MySQL一起也被收归Oracle的旗下。然而为免开源的MySQL影响自家品牌Oracle Database的收入,有人发现Oracle开始开始搞小动作,目的是要毁掉MySQL这个「养子」。

众所周知Oracle一直是开源技术的「积极用家」,只会利用开源技术的好处来赚钱,但从来不会回馈开源社区。然而Sun Microsystems旗下有数个非常重要的开源项目如OpenOffice.org、MySQL和VirtualBox,Oracle收购Sun后为免閒言閒语,并没有即时中止有关项目。MySQL是目前最受企业欢迎的开源资料库之一,更加是Oracle Database的理想代替品,自然成为被开刀的对象。最近发布的MySQL 5.5.27,就被发现被静悄悄地拿走了Test Cases。究竟Test Cases有多重要?

任何开发者,都有需要经常为程式加入修正档,MySQL也不例外。在给MySQL加入修正档后,不仅需要测试新增的功能,同时更重要的问题是,需要对原有的功能作回归测试,目的是确认新增的修正档不会导致其他功能产生新的臭虫。Test Cases是一个以MySQL架构mysql-test和内部引擎为测试对象的工具,可通过执行一个Case,将该Case的输出结果,与其他已证实没有问题的MySQL版本上的执行结果作比对。如果某个Case的执行结果不一致,便代表这个版本的MySQL有问题。

mysql-test自1999年起一直都有被使用,此举自然令开发者除虫的工作更加困难。今天MySQL已经被大量企业採用,令问题有进一步增大的倾向。Facebook、Twitter甚至中国大陆的淘宝网都有使用MySQL,其中Twitter的时间线、用户资料和发言的技术都要使用MySQL,暂时未知道会造成什麽影响。

另一个Oracle搞的小动作,就是删除了MySQL的修正记录。MySQL每次都会更换数百行的源程式码,每一个change sets表示了特定功能的改良部分,并记录了修正者的名字、日期时间和理由。没有了修正记录的话,开发者将难以记起修正了什麽,或者作出了什麽修正。不少开发者都在Hacker News留言,表示也许是时候放弃MySQL,从新开发一个真正开源的资料库。开发者集体逃亡在Oracle国王统治旗下发生已经不是第一次,过去亦增发生OpenOffice开发人员集体离家出走事件,OpenOffice原班人马创造了新的开源办公室软体LibreOffice。MySQL会不会演变到同一地步,值得大家密切注意。