I am researching asynchronous event-driven database access as part of my graduate school studies at Brigham Young University. I’m looking into implementing the MySQL protocol using Apache MINA to conduct some tests and measure performance/scalability differences compared to the JDBC driver provided my MySQL AB.
I got digging into the MySQL documentation and found their Internals Manual. The manual itself is well written and appears to cover everything I would need. However, I’m taking issue with the Licensing Notice. This notice basically says that the MySQL Protocol is part of the MySQL database so any implementation of the MySQL Protocol must be licensed under the GNU General Public License (GPL). Is this at all enforceable? I don’t see how it could be.
The GPL relies on copyright law. I cannot copy a copyrighted work without the permission of the author. An author may license their work under the GPL which means I may copy that work as long as I follow the provision set forth in the GPL. I don’t have to explicitly agree to the GPL because the GPL grants my rights I wouldn’t otherwise have. Section 5 of the GPL clearly states:
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
So how then can MySQL force me license a protocol implementation under the GPL? Reverse engineering the protocol does not constitute a derivate work. If that were the case, we wouldn’t have projects like Samba. Is implementing something specified in a manual considered a derivative work?
There is an article at Open For Business that addresses the MySQL License Question. This article is well written and brings up some very interesting points.
I am of the opinion that implementing the MySQL protocol does not require licensing the code under the GPL. I will bring the question up to the legal people at the Apache Software Foundation and post what they say here.
3 Responses
mheath
April 5th, 2007 at 10:30 am
1It looks like someone already asked a similar question to the Apache Legal Discuss mailing list http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200602.mbox/%3c200602091613.14785.niq@apache.org%3e but did not get any replies to their posting.
mheath
April 6th, 2007 at 10:05 am
2Here’s the link to the message I posted at Apache Legal.
http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200704.mbox/%3c45a054f50704051721o5c584dfcvfaa258ff7ee7f0c8@mail.gmail.com%3e
I received a reply not posted to the mailing list indicating I should find someone to do extensive analysis of the code and publish that analysis and then build my driver off of the analysis. This would keep my from becoming tainted by the MySQL code. This seams like a decent approach. Now I just need to find someone to either do the analysis or I’ll do the analysis and someone else will have to write the driver for Apache.
It still doesn’t change the fact the MySQL AB is claiming that by reading their manual, you have to license your code under the GPL which I still don’t think is valid.
RR
April 10th, 2007 at 2:54 pm
3Sounds a little vague to me. I’m the analyzing mood.
RSS feed for comments on this post · TrackBack URI
Leave a reply
Categories
Archives
Links
Meta
Calendar