The other day I linked to this post about MySQL AB and the GPL in a Slashdot comment. As I note in that comment, it appears that the link to the MySQL protocol description has changed.
Anyway, based on some of the responses in that Slashdot thread and in our blog here, I thought I should clarify what I’m trying to say. I have no problem with MySQL using the GPL to license their software. That’s their choice and if I choose to use their product I can’t really complain much about it. I may still prefer to use a database with a less restrictive license since several exist, but I have no issues with the idea of MySQL using the GPL for their database product.
I do have issues with how MySQL AB uses the GPL though. Here is my understanding of what they are doing: They have a document that describes the protocol necessary for a database access library to communicate with the MySQL database. Because the MySQL system is released under the GPL, they claim that terms of the GPL also apply to the protocol itself. As a result, they claim that if you use the document which describes the protocol to implement a library or system which communicates with a MySQL server (or emulates one, etc.), you must abide by the GPL. As far as I can tell, they are attempting to apply copyright (the GPL) to an idea (the description of the MySQL protocol in that document). Again, I’m not a lawyer, but it is my understanding that copyright applies only to manifestations of ideas, not the ideas themselves. That is, they can copyright the code which implements a protocol (which they have, it’s the MySQL database) and they can copyright the text of the document that describes the protocol, but they can’t copyright the protocol itself. If they want to protect the idea itself, they need to patent it. I believe that people who have read this generally agree with me that this is not a valid use of copyright. Am I wrong? If so, how is this valid?
I think we all can agree that this is at the very least questionable use of copyright. I am not sure why they would try to play these games other than to attempt to eliminate less restrictive 3rd party client libraries. I would think that as the company that produces MySQL itself, they should be able to legitimately keep their official client libraries ahead of any 3rd party competitors in terms of performance, reliability, and/or just their ability to offer support. Instead, they have resorted to what looks like misusing copyright. I’ll say this again: why bother with these stupid games when there are better database available like Firebird and PostgreSQL?
My other issue with MySQL AB is just that it appears they do a poor job of educating their users about what their license really means. I guess when they don’t seem to understand what their own license covers, I shouldn’t expect them to be able to explain it to their users. It seems like they are just being intentionally unclear and misleading, rather than being straightforward and honest about the licensing requirements. I admit that this is very subjective. Perhaps the people who commented here defending them disagree. I mean, MySQL AB is free to offer poor and confusing support if they want to. Thankfully, not only am I free to not use their product, but I can also attempt to explain my reasons to others (by whining about it on my blog)!