MySQL Licensing Revisited

| | Comments (5)

After I previously mentioned MySQL Licensing issues, Zak from MySQL A.B. invited me to attend the Licensing BOF this evening, so I did.

What really struck me most was that the MySQL folks really do seem to be stuck on this belief that "moral obligations should dictate businesses' legal obligations."


For example, one theoretical from the sessions:

A company is developing an online game. The server for the game, which is not distributed, uses MySQL on the backend, probably using some abstraction layer (because that's a good programming practice). The client is distributed to the gamer to use to connect to the server and play the game.

From the MySQL folks, "clearly that's a derivative work", and other phrases like "that's obviously an attempt to thwart the intent of the license" were tossed about as if the company in question is some underhanded Satan.

I'm here to tell ya: that's not a derivative work. The client isn't a derivative work of MySQL, and the client is what's distributed. Even if you made some case that "the client is a derivative work of the server," you still can't put the final piece together because the server (with it's abstraction layer) is not a derivative work of the MySQL code. It'll work with anything, because it's using an abstraction layer. There's no intent to circumvent the license, it's simply a good programming practice. That good programming practice also happens to abstract them away from any possible licensing issues, but that's not the "obvious intent" by any stretch.

The MySQL responses to such arguments still constantly seemed to revolve back to, "you're making money, so why shouldn't we?" which I'll grant them is a noble ideal and all, but isn't something that's guaranteed to them by the GPL. As I talked about it with Jeremy, we got to talking about Application Service Providers (ASPs), wherein he asked me "do you think ASPs should have to pay for licensing?"

Should they have to pay? Sure, I'd love to see a licensing scheme that allowed MySQL A.B. to make money off of them.

Do they have to pay? Not a red cent. But, again, when that came up, the MySQL folks seemed to focus on "moral obligations" and not "legal obligations".

Another example the MySQL guys proffered (paraphrased):

Sure, distribution within a corporation is perfectly legal under the GPL, but you have to remember that you need to police your employees, in case they're taking the code home and such, because then it might not be internal distribution. In those cases, you should buy a corporate license as an insurance policy.

There are two conditions here:

(1) The corporate employee only "takes home" the MySQL code. Thus, what has been "distributed" is not a derivative work, but is simply the GPL'ed code, still released under the GPL, just as if the employee had downloaded it from mysql.com.
(2) The corporate employee "takes home" both the MySQL code and the corporate-asset of the derivative work. This is known as "theft", folks, and the corporation can be no more held liable for that than they could if someone broke into your office and stole a machine that had proprietary information on it. If I've got a piece of software that is licensed "so that only I can use it", and someone breaks into my office and steals the machine, I'm not suddenly liable for that code's distribution.

MySQL A.B. appears to have a corporate policy of preying on users' lack of understanding of the terms of the GPL. This is disquieting to me. At the talk, Jeremy indicated that the MySQL A.B. sales folks had tried to convince Yahoo that they had to buy corporate licenses for their completely-internal distribution. After the Yahoo folks got off the phone, they knew for a fact that the salesweenies were smoking something, so they consulted with their on-staff lawyers, picked up the phone and called Very Important People at MySQL, and got it straightened out. The MySQL folks indicated that part of this problem was an "education issue for their sales folks," which I'll agree is true, but it also appears to be an education issue for the staff themselves. If the sales-folks are getting misguided impressions of when it is necessary to pay for licenses, it may have to do with the folks above them also having misguided impressions of when it is necessary to pay for licenses.

What if Yahoo hadn't had a team of lawyers available at their beck and call, and they hadn't already had a really good understanding of the GPL from prior experience, and they didn't have Jeremy and his backchannel connections to senior management at MySQL A.B.? Yahoo might have been roped into paying for tens or hundreds of server licenses they're under no obligation to pay for, because the MySQL folks would have told them they "had to" do so. MySQL would have (literally) profited on Yahoo's inability to defend itself.

It seems to boil down to this: "MySQL releases code under the GPL, and then is shocked, shocked I tell you!, to find that people are using it completely within the terms of the GPL, and thus don't feel obligated to pay money to do something the license tells them they can do for free."

My concerns on this are two-fold. First, that I think it's an unethical business practice. I don't think it's an intentionally unethical practice. I met most of the players involved last night, and believe that they honestly think they're doing the right thing. I do, however, think it's an "unintentionally unethical" practice.

Far more important, though, is the potential damage to other companies who do understand the Open Source concept and employ it properly. If a company deals with MySQL A.B., spends hundreds or thousands of dollars on licenses they don't need, because MySQL A.B. (a fine upstanding Open Source company and all that) told them they "had to" buy licenses, and then it turns out they got ripped off by paying for licenses they didn't need, there's a very real risk that will turn them off to Open Source solutions in general. The risk is that other companies will be painted with the same "they're just trying to rip us off somehow" brush.

And that would be a greater tragedy, to me, than if MySQL simply "doesn't make its sales numbers this quarter" or whatever.

UPDATED: I realized I should touch on a couple things Jeremy and I talked about back in the room last night. He made the point that salesguys are salesguys, if you call them up and say "Do I need to buy a license?" the salesguy is always going to say yes, because that's what they do.

But that's not what they do... If I call Veritas today and say "I need to buy a Veritas Netbackup Enterprise Server License", they don't just "assume the worst" and sell me the one for a 48-CPU AIX server. They ask me probing questions like "What platform are you going to run the server on?" and "How many CPUs are in the machine?" to determine which license I actually need. MySQL's salesguys also need to be trained to do so, and to not be afraid to say "You actually don't need to pay for a license, you're just spiffy with our free version, go have a blast!" Of course, that also requires the signficant re-education (from the top down) on what constitutes a "need" for a license, which I previously discussed. And maybe that means that MySQL salesfolks shouldn't be on commission, so they're not afraid to "sell" the free license. I don't have an answer to that (but, frankly, it's not my job to sort out MySQL's business model for them *grin*)

5 Comments

Following MySQL, AB's logic, does an ISP that offers their clients MySQL access need to buy a license? Sounds like yes.

That's even one step further down from ASPs because they're not actually developing an application on top of MySQL, but just offering people the opportunity to develop one.

I even posed this one: What if Google was using MySQL in their appliance boxen? The "end user" has no access to the binaries, only the BENEFIT of the binaries. The box remains the property of Google, etc., etc., and tampering with it (removing drives, etc.) is theft... The MySQL folks tried to claim that was also distribution.

They seriously need to either fire the attorneys that are giving them these interpretations of "distribution", or something...

The sales people should be educated to sell support instead of licenses when licenses don't apply.

MySQL have fabulous and very affordable support options; much better than Oracle etcs.


- ask

From: http://news.com.com/2100-7344_3-5190975.html?tag=nefd.lede

"Still, MySQL is not a typical open-source foundation. MySQL is released under the same GNU General Public License that governs Linux, but it's used in a very different way. Each Linux programmer retains copyright to his or her own contributions, while MySQL owns rights to all its code."

Does this make sense? Are they saying that in practice all the MySQL code in the standard distro was written by MySQL? But anybody else _could_ fork it, right?

Hi Derek,

I am currently at the MySQL yearly meeting and will have to wait for a few days before I can respond fully to this.

Cheers!
--zak