Oracle has finally done what the business management at MySQL had been asymptotically approaching for years. It’s taking MySQL open core. It’s interesting to read the views of the founder of MySQL (as well as the comments). Monty says:
What is most important to understand about an Open Core project is that it has nothing to do with an open source project. If you are depending on a single closed source component then you have to regard the whole project as a closed source project as you lose all the benefits of open source
The comments suggest Monty may be interpreting the facts a little more than is instantly obvious, but it’s still educational. My own view of the “open core” model is the same; once your business depends on something where the four software freedoms are not available, you no longer benefit from their derivatives.
By truncating software freedom before distribution, the supplier ensures you can’t use the software without restriction or benefit from the freedom of others to do so. In other words, while there may be some open source software in its origins, it’s not open source software you are receiving.
But the other thing to note is this whole truncation-of-business-freedoms thing is the inevitable consequence of developers tolerating contributor agreements. We improved the contributor agreement surrounding MySQL a lot when it came into Sun, and Oracle’s agreement has most of the same attributes.
No matter how good the agreements themselves may be at their intended job, all contributor agreements leave a single, privileged community member with the unequal ability to truncate software freedom. No matter how much you may be asked to trust the good will of the company accumulating the copyright, times change.
Wherever the final code that’s made it into their offering has been polished, what’s clear is that Oracle was only able to do this because of its contributor agreement. The demand for MySQL AB (and then Sun and then Oracle) to accumulate the full copyright has been an obstacle to community engagement before for Google and others.
It remains the main reason for the weak co-developer community around MySQL. It's hard to see future community members wanting to contribute on any scale if the destination of their ideas or even their work is closed code.