5 ms·
How exactly does distributing MySQL as part of your application make your application GPL as well? It's not a retorical question, can you please suggest a case?
by candeira 16y ago
How exactly does distributing MySQL as part of your application make your application GPL as well? It's not a retorical question, can you please suggest a case? Unless you outright fork MySQL to make your own database, you can run and distribute it with your proprietary stack without being forced to license your code as GPL.
The FSF call it "mere aggregation": http://www.gnu.org/licenses/gpl-faq.html#MereAggregation http://www.gnu.org/licenses/gpl-faq.html#MereAggregation
- johnyzee 16y agoHere we go with the amateur legal stuff, but until a more educated comment comes up, as far as I know, it is a question of the drivers being GPL, and coding up against the drivers crosses the threshold.
- avar 16y agoNot only that, but MySQL AB considered their network protocol to be GPL as well, and went after anyone who tried to make a clean-room implementation of it. I don't know whether SUN and Oracle still pursue that strategy. Otherwise you could indeed bundle MySQL with some clean-room libraries to talk to the server.
- loewenskind 16y ago>and went after anyone who tried to make a clean-room implementation of it. That doesn't sound legal. You're allowed to clean-room implement anything aren't you?
- avar 16y agoThe idea was that their network protocol was an original copyrighted work, and that any clean-room implementation of it would be a derived work. That does indeed sound crazy, but they also had piles of cash to throw at lawyers to go after anyone who challenged them, and (maybe as a result of that) nobody ever made e.g. a clean-room BSD or LGPL licensed version of the mysql library. So it never made it to court AFAIK.
- jrockway 16y agoA nice fiction. The reality is that copyright covers verbatim copying. If you read a book and write a review, the term "derived work" makes English sense, but not legal sense. Similarly, if you read the MySQL code looking for magic words to say to the server to get it to give you data, saying those words is not copyright infringement. It's "learning", not "copying". If anyone used MySQL, I would write a BSD-licensed API just to prove a point. (And to be non-blocking.) But the world has moved on since the Oracle deal...
- eru 16y ago> Similarly, if you read the MySQL code looking for magic words to say to the server to get it to give you data, saying those words is not copyright infringement. It's "learning", not "copying". What would happen, if the protocol would require sending a picture of a picture of Mickey Mouse with each request (or some copy-righted novel)?
- jrockway 16y agoYou publish a benchmark that says how inefficient this makes MySQL, and then that "feature" goes away.
- eru 16y agoI was more concerned about the copyright repercussions on clean-room reverse engineering the protocol. Obviously the protocol includes copyrightable information, now.
- jerf 16y agoTo the best of my knowledge, the best answer is "nobody knows". There are some vaguely similar things in the precedents, especially when it comes to protocols that require you to use a particular patent to talk to a given device, and IIRC there is some verbiage in some places that distinguishes copying around for simple transmission reasons rather than delivery to an end user (though I can't imagine how to stretch that to cover this case), but in this particular case, nobody knows. In fact if you spend much time thinking about this it isn't at all hard to come up with a lot of scenarios that law doesn't have an answer for, in theory or in practice.
- mahmud 16y agoNot only, but even reverse engineering of proprietary protocols from packets in transit is legal, IIUC.
- candeira 16y agoThanks, your answer is informative enough that I can google for more answers.
- shpxnvz 16y agoHow exactly does distributing MySQL as part of your application make your application GPL as well? It doesn't. The acceptance of the GPL (as of V2, haven't read V3) for a software component does not compel you to use any particular license for your own work. You can, by distributing the GPL'd work with you own non-open software, be in violation of the license on the GPL'd work, but the repercussion is a loss of the right to distribute the GPL'd work potentially enforced by injunction, and not an automatic change of your own license as the phrase "make your application GPL as well" implies.