About a week ago I was looking at MySQL 5.5.27, and noticed a curious thing. Despite the fact that the new MySQL release contained its usual share of bug fixes, not a single one of them was accompanied with a test case.
Now, let me tell you something about tests. For many years MySQL was using its own testing framework, called mysql-test. The first version was written as early as 1999. Over the years it has accumulated a lot of tests. Tests for new features and regression tests — those that guarantee that a bug, once fixed, will never ever show up again. We had pretty strict policies about it in MySQL AB (and, later, Sun Microsystems) — every new bug fix always had to come with a test case for the bug. And because these tests were always run on many platforms for every push (by the continuous integration tool called Pushbuild — developed in-house by Kristian Nielsen) we were reasonably sure that any bug, once fixed, will stay fixed forever. I’m not with MySQL anymore, but I still cannot imagine that Oracle would weaken that rule. So, it must be something else then.
One of the changes that 5.5.27 brings in an extension to the mysql-test-run script — the driver script of the mysql-test suite — which makes it look for test cases in a new directory. In addition to the usual location (that is, the mysql-test/ directory in the source tree), it will now look for test cases in the internal/mysql-test/ directory. Does this mean that test cases are no longer open source? Oracle did not reply to my question. But indeed, there is evidence that this guess is true. For example, this commit mail shows that new test cases, indeed, go in this “internal” directory, which is not included in the MySQL source distribution.
MySQL test cases were always an important part of the MySQL source tree. They were particularly useful for storage engine developers and for other people extending MySQL, for example, at Facebook, Twitter, and Taobao. But also for Linux distributions which add their patches to the base MySQL, and even to users, who don’t modify the sources — they still want to confirm that a particular bug was fixed or that their custom-built binary has no obvious flaws.
In May, at the Ubuntu Developer Summit in Oakland, Oracle had 7 representatives there, and they promised that Oracle will be more contributor- and distribution-friendly. It is sad to see that instead of that the MySQL source tree is being closed down.
MySQL AB was never very good at building a development community around the product. There weren’t many MySQL developers or contributors to the project outside of MySQL AB, and the company didn’t do much to increase their number. But now Oracle has noticed them — and it intentionally kills whatever is left of the MySQL development community. Without test cases MySQL becomes as opaque to external developers as any piece of closed source software, and only those most experienced and familiar with the MySQL code base will be able to continue working with it.
UPDATE: It’s difficult to find anything more valuable to external developers than test cases. But arguably the revision history is. It groups changes to these millions of lines of source code into change sets, one change set per a distinct feature or a particular bug fix. It allows to see who changed a specific line of code, when, and why. And it seems that Oracle is going to keep this information to itself too. Public MySQL trees on launchpad with the revision history are not being updated.
Now, is there a single successful Open Source project with no developer community at all ?
UPDATE 2: We’re not the only ones this issue affects. See also:
- http://mysqlha.blogspot.com/2012/08/less-open-source.html
- http://ronaldbradford.com/blog/when-is-a-crashing-mysql-bug-not-a-bug-2012-08-15/

Pingback: MariaDB: Disappearing test cases or did another part of MySQL just become closed source? | Linux-Support.com
Pingback: Disappearing test cases or did another part of MySQL just become closed source? « The MariaDB Blog | Databases | Scoop.it
Pingback: Ivan Čukić » Time to rely less on MySQL
Pingback: ¿Se convertirá MySQL en código cerrado?
Pingback: MySQL теряет былую открытость | AllUNIX.ru — Всероссийский портал о UNIX-системах
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | TechCrunch
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | MotorolaAccessoires
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | 60 Second Stories
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | WhenItsOn
Pingback: ¿Va a cerrar Oracle MySQL?
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Welcome To My Site
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « IphoneScreen
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | BlackberryAccessoires
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | E-7
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | The Wall Street Geek
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « Whella – Latest News on Wireless Topics
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Krantenkoppen Tech
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Crowdfunding News
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | SnaggStuff.com Blog
Pingback: Oracle Makes More Moves To Kill Open Source MySQL
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | AkimoLux.com
Pingback: Oracle Makes More Moves To Kill Open Source MySQL - VitalIT | VitalIT
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Hosting In
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | iyaan.info
Pingback: Oracle Makes More Moves To Kill Open Source MySQL ‹ Digikid Technology
Pingback: MySQL теряет былую открытость — прекращена публикация тестовых наборов и лога изменений | conon print MySQL теряет былую открытость — прекращен
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Startup Help
Pingback: Oracle Makes More Moves To Kill Open Source MySQL • Tea & Gadgets
Pingback: MySQL теряет былую открытость — прекращена публикация тестовых наборов и лога изменений | Интересное в сети
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Social Shopping News
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | TechDiem.com
Pingback: MySQL -> TheirSQL? | Lindeas
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « IphoneAccessoires
Pingback: Wordpress Themes » Blog Archive » Oracle Makes More Moves To Kill Open Source MySQL
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « IpodCase
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « IpadCase
Pingback: Oracle Makes More Moves To Kill Open Source MySQL : Apple Rumor
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « IphoneBattery
Pingback: Oracle Makes More Moves To Kill Open Source MySQL - Mobiwebs Blog | Mobiwebs Blog
Pingback: Oracle Makes More Moves To Kill Open Source MySQL - Just another ReviewMonsters.net Sites site - Test
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Price Gadget Reviews
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | Rumors and News.com
Pingback: Links 19/8/2012: SolusOS Eveline 1.2 Released, Unity Favours 3-D | Techrights
Pingback: Ontwikkelaar: Oracle laat ‘interne’ testcode weg in MySQL-broncode | Trending in Nederland
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « IphoneCase
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | XSDirect
Pingback: MySQL теряет былую открытость — прекращена публикация тестовых наборов и лога изменений : Записки начинающего линуксоида
Pingback: Oracle Makes More Moves To Kill Open Source MySQL | SamsungAccessoires
Pingback: Oracle Makes More Moves To Kill Open Source MySQL - The Review Blog
Pingback: MySQL Going Closed Source | Robert Accettura's Fun With Wordage
Pingback: Oracle Makes More Moves To Kill Open Source MySQL « The Far Edge
Pingback: 오픈소스에서 멀어지는 MySQL | Tech It! | All about IT Trend
Pingback: Disappearing test cases or did another part of MySQL just become closed source? « The MariaDB Blog « The Wiert Corner – irregular stream of Wiert stuff
Pingback: Oracle Makes More Moves To Kill Open Source MySQL
Pingback: LinuxLife Blog - News: Oracle schließt MySQL-Gemeinschaft immer mehr aus
Pingback: Linux, BSD un citas lietas - Atvērtajās ziņās | MySQL pamazām zaudē atvērtību?
Pingback: MySql, A Step Closer To Being Closed? | T1CG Blog
Pingback: Oracle Makes Moves To Kill Open Source MySQL | Open Source Alternative
Pingback: Verschleiert Oracle MySQL-Informationen? - Der Softwareentwickler Blog
Pingback: 甲骨文正在扼杀开源MySQL IT经理网|CTOCIO.com
Pingback: Oracle、オープンソースのMySQL潰しに次の一手
Pingback: ¿Va a cerrar Oracle MySQL?
Pingback: Oracle Makes More Moves To Kill Open Source MySQL via Techcrunch.com - Edno360
Pingback: Oracle Makes More Moves To Kill MySQL | KlineTel
Pingback: MySQL poderá ser descontinuado pela Oracle | Blog Seja Livre
Pingback: Oracle busca hacer MySQL menos abierto | Matuk.com
Pingback: State of the MySQL forks | OpenLife.cc
Pingback: MySQL podría volverse una tecnología más cerrada | E-Commerce Soluciones.EXE
Pingback: MySQL podría volverse una tecnología más cerrada
Pingback: MySQL podría volverse una tecnología más cerrada | the_geek
Pingback: Oracle shoots to kill Open Source | TECHNOLOGY4BUSINESS
Pingback: Oracle Secrecy Threatens Open MySQL Development | KlineTel
Pingback: Twitter il gradasso | Gioorgi.com
Pingback: IOUG Podcast 24-AUG-2012 Rumors of MySQL’s Doom by Oracle / Design Piracy | IOUG Blog Central
Pingback: [QuickTips] Migrando sua app Rails do MySQL para PostgreSQL sem dores | 1up4developers
Pingback: [QuickTips] Migrando sua app Rails do MySQL para PostgreSQL sem dor | 1up4developers
Pingback: Welcome to Datavision International-Oracle Makes More Moves To Kill Open Source MySQL
Pingback: El futuro Open Source de MySQL está complicándose
Pingback: Linux Caracas - El futuro Open Source de MySQL está complicándose
Pingback: Oracle quer “matar” versão opensource do MySQL — Espaço Liberdade — Linux, Software Livre e Tecnologia
Pingback: Oracle busca hacer MySQL menos abierto « Donde El Futuro Es El Presente.
Pingback: Czytelnia #1 | /var/log/bpiotrowski
Pingback: Oracle Makes More Moves To Kill Open Source MySQL » Dextre zèbre
Pingback: 甲骨文正在扼杀开源软件MySQL IT经理网|CTOCIO.com
Pingback: Mysql case | Superprotonix
Pingback: Tech Crunch: Culture Clash & Oracle Makes More Moves To Kill Open Source MySQL | Timsiu's Blog
Pingback: Monty on broken MySQL promises: Oracle’s going to fork it up | Algesr
Pingback: Unbreakable MySQL? « The MariaDB Blog
Pingback: Mysql close | Insidercoachin
Pingback: MariaDB míří do Fedory a nahrazuje MySQL – co to znamená pro uživatele a adminy? | Fedora.cz
Pingback: Open-source MariaDB, a MySQL fork, challenges Oracle | KrazyWorks