Mark Callahan of Google posted the following earlier this week.
Google uses MySQL, the open source relational database, in some of the applications that we build that are not search related.
We think MySQL is a fantastic data storage solution, and as our projects push the requirements for the database in certain areas, we’ve made changes to enhance MySQL itself, mainly in the areas of high availability and manageability.
We would love for the some of these changes to be merged with the official MySQL release, but until then we felt strongly that anyone should have access to them, thus we have released the changes with a GPL license for the MySQL community to use and review.
This is interesting for a few reasons. First, it illustrates the software as a service “loophole” in GPL: because Google uses MySQL in web applications, rather than in shrink-wrapped or downloadable applications, the GPL does not oblige Google to release its modifications to the MySQL source.
Second, it is an example of a firm going beyond the obligations imposed by the GPL. Some will restrict themselves to two cheers, regarding the release of this code as an obligation that the GPL should impose. Some, like Glyn Moody, will regard it as the decent thing for Google to do.
Third, it raises the question of where the boundary lies between releasing code for review and forking. If some or all of Google’s code doesn’t make it in to the official MySQL release, will it become a fork or branch?
Perhaps I should write that it raises this question for me, and add that the answer is not obvious to me. I’ll try to rustle up some answers; in fact, I’ve already started doing so by making this post.