Sun, Is GPL FUD A Standard Business Practice?

As The Clash reminded us, Know Your Rights!

A good friend whom I trust implicitly recently told me of a disturbing conversation that had taken place between a DBA acquaintance friend of his and a Sun sales engineer. Disturbing enough that it prompts me to remind everyone what your rights and obligations are when you use the community edition of MySQL that is licensed under the GPLv2.

Apparently, this friend of a friend needed some performance tuning done on a MySQL Community Edition installation that spans several servers, and serves up their proprietary, commercial web application. They contacted Sun in order to see about getting some work done on a contractual basis. In other words, they wanted to pay Sun for performance tuning.

They were then contacted by a Sun sales engineer who, upon hearing they have multiple servers running the Community Edition of MySQL serving up a proprietary web app, told them:

1). They were in violation of the license.

2). They would need to release their proprietary app under the GPL, since it uses MySQL client libraries.

3). They could avoid having to GPL their application by paying Sun licensing fees for every server.

Now, I’m not a lawyer. But, in my legally uneducated but GPL-savvy opinion, there is a simple term for this. It’s extortion. “Pay us, or we’ll make sure you have to GPL your proprietary work.” If someone admitted to the bar in any US state wants to correct my opinion that this is extortion, chime in. I may be confusing terms.

However, I am not confused about the rights and obligations granted and ensured by the GPL. Let me cast some light into the darkness created by this Sun salesman.

First, this company uses the Community Edition of MySQL. Therefore, they are bound by the terms of the GPL, and NO other license, be it from Sun or elsewhere. Full stop. Sun can have whatever convoluted license they please for MySQL Enterprise, but if you use the Community Edition you are bound solely by the GPL.

The GPL ensures that anyone that releases code that touches GPL code must also use the GPL. The key word here is “releases.” Let’s give two examples.

First, Linksys recently settled a lawsuit brought against them by the Software Freedom Law Center. They use Linux kernel code in some of their router firmware, and had not released the source code to that firmware. Why did they have to? Because the firmware shipped to end users. They released code to the public in binary form that touches the GPL Linux kernel. Thus, they need to GPL their firmware.

Second, it’s no secret that Google uses MySQL extensively. So why aren’t GMail, Google Reader, Google News, or other such services released to the public under the GPL? It’s simple. They aren’t released at all! These are proprietary applications that are not released in either binary or source form. If your code touches GPL code, but you don’t release your code in binary or source form, you do not have to use the GPL for your code, nor do you run afoul of the GPL itself.

So, let’s go over the three points the Sun sales engineer made above.

1). They were not in violation of the license of the Community Edition MySQL server software they were using. To imply differently is at best misinformed, and at worst FUD.

2). They don’t have to release their code at all! Now, if they do decide to release their code, because it touches the MySQL client libraries they will have to use the GPL. But if they keep it a closed-source, proprietary, commerical app, with no public releases, they are well within their rights. Their application, developed in-house and run as a service on top of the MySQL Community Edition, is not released to the public in any form. Therefore, they do not have to use the GPL with their application or service, nor do they have to acquire commercial licenses from Sun. End of story.

3). They wanted to pay Sun for performance tuning. Sun decided to go for a bigger paycheck. In the end, Sun probably will not get a dime. Smart. Really, really smart. Glad I don’t own stock.

If Sun contacts you or someone you know and begins talking about license violations, read this post again carefully. Know your rights. And if you’re not sure, contact the Software Freedom Law Center. Or contact us at Monty Program; our staff was responsible for putting MySQL under the GPL. We know the terrain better than Sun.

If you have had a similar experience, I’d sure like to know about it. I’m curious as to how widespread this “tactic” is, and how people are responding to it and dealing with it. Let me know via comments.

And while we’re at it, if you need MySQL or MariaDB performance tuning, why contact a company that instead of seeing an opportunity to make a client happy while earning money instead sees an opportunity to extort money from a heretofore satisfied user? Contact the Open Database Alliance. We have people that can get the job done, and that don’t care about your licensing.

39 thoughts on “Sun, Is GPL FUD A Standard Business Practice?”

  1. This is very interesting.

    Let me get this straight.

    I work for a company that uses MySQL Community Edition for out applications database. Now we currently purchase a licence for every project we implement which needs a database. These projects are proprietary and drive our clients systems. If I understand your post correctly, then we would not need a licence? Is this correct?

    Thanks for any advice

  2. “Never attribute to malice that which can be adequately explained by stupidity.” – Hanlon’s Razor

  3. Related to the “in-house non-public GPL software”, I’ve got a question:
    Let’s say I develop a tool at work solely for use in-house (like a special error checking tool) and use GPL code in it for some parts; and then I give this tool to a colleague; do I have to put the whole program under GPL?

    Do I “release” the tool by giving it to a colleague?

    If I have to put the tool under GPL: wouldn’t that give the colleague the right to distribute the code freely on the Internet? Now I suppose that would be a clash with company rules, in that we can’t just publish stuff on the net that was developed at work (on paid-for work time)

    It seems you could get into a catch-22 situation this way; and so I’m wondering what are the implications of writing such tools at work?

  4. Yeah! Fuck Sun. But why do you need to GPL your APP if you’re touching MySQL. I don’t believe that all the commercial PHP/MySQL scripts like vbulletin & invisionboard are in violation of the license.

  5. “Second, it’s no secret that Google uses MySQL extensively. So why aren’t GMail, Google Reader, Google News, or other such services released to the public under the GPL?”

    That was unintentionally hilarious and obviously incorrect.

    Look up BigTable.

  6. one of the reasons the AGPL was created was to cover ‘web services’, so while something under GPL would not have to be released (unless it was distributed) if it was used as a ‘web service’, something under AGPL would. And as you point out, the code in question is under GPL and was not being distributed, thus no need to release it.

  7. Last time I checked, it’s not code that touches GPL2 code is automatically GPL2, its code that is explicitly designed to use GPL2’d code.

    If you can argue that your code was not designed to work with GPL2 coded, it just happens to in this instance, then you are fine. For example, the nVidia and ATI drivers, while their kernel modules are unquestionably designed explicitly to work with the linux kernel, their binary blobs can quite easily be argued that they have origins in from a codebase that is OS agnostic.

    Of course if you link with a GPL’d library you’re in GPL land.

    In the case of a database like MySQL, if you’re using ODBC or a DABL you are fine. While not a MySQL user myself, there are usually LGPL’d methods of getting where you want to go.

  8. oliver,

    no.

    if both you and your colleague are employees at the same firm, then you aren’t `releasing` your tool as it’s being used in-house. a `release` is something that is released to the general public for consumption; your hypothetical situation keeps everything in-house, internal, and not subject to the GPL

  9. @mneptok: a database is a storage system for structured data. While BigTable might not be an SQL RDBMS, it certainly is a database.

    I’m not arguing about Google using MySQL though …

  10. This seems left over from the MySQL AB days…they were very pushing this nonsense.

  11. So basically you are saying you don’t care if people are using mysql in violation of the GPL? Regardless of whether the sun guy is right, people should comply with the license terms of the project they use.

  12. Herr von Burg,

    Yes, essentially true, from my chair. But I am not a lawyer. I would suggest you contact the SFLC or an attorney your company retains.

  13. I’m not an expert on open source software licencings, but as far as I know MySQL Enterprise Edition is also based on MySQL Community Edition’s code base. So in that case Sun or Oracle, should make the modifications of MySQL Community Edition’s code open source in MySQL Enterprise Edition.

  14. @ca: That’s not correct. The copyright owner can relicense his software as he wants.

  15. MySQL enterprise server and the community server is exactly the same thing. The only difference may be different compile time options and different release times. In other words, the enterprice server is not better tested or better in ANY aspects than the community server or forks/branches like MariaDB.
    As Sun owns the copyright of MySQL code (but not InnoDB) they could release the “enterprice code” under any licence. By default the enterprice server licence is also under GPL, as Sun has been avoiding paying Oracle for getting the InnoDB code under the GPL as part of this offering. For MySQL embedded Sun pays for InnoDB and this version is re-licenced without GPL code.

  16. To Robert von Burg:

    If the applications are internal (no code or binaries distributed to external clients) then you don’t need MySQL licenses for them. If Sun has tricked you to believe this and you have bought licenses based on this, then it’s fraud and you can and should clame your money back!

    On the other hand, you may want to pay for licenses/support as a way to support MySQL development. This is of course fine and something that should be encouraged, as long as you are clear why you are paying!

    Nowadays there is other companies, than Sun, to pay to support MySQL development; We at Monty Program Ab and The Open Database Alliance are doing our share in developing MariaDB (the new MYSQL) in a community embracing way to gurantee its future survival.

  17. > So in that case Sun or Oracle, should make the modifications of MySQL Community Edition?s code open source in MySQL Enterprise Edition.

    Nope. Sun, copyright holder of MySQL CE, grants you the right to use it under the GPL. That’s a contract between Sun and others. Sun, as the copyright holder, can do whatever they want with their own code.

    Note: IANAL.

  18. Ca,

    Not if they own the copyright which they do. If you are the copyright owner, you are not subject to the terms and conditions of the GPL License and can therefore never violate it. Read the GPL License.

  19. @R. Von Burg: I would say that developping and selling a system to your clients is releasing it, no ? So basically the GPL should apply, unless you develop independantly of MySql (only standard jdbc calls to a non GPL’d driver for example) and your clients just happen to deploy on MySql. But if you use any GPL’d code in you development, I’d say you need a license, or to GPL your code. But as usual, IANAL…

    @ca: Sun owns the copyright for Mysql code. So they don’t need a license to use it. They can re-license it as they want (unless they did accept some code owned by someone else in the community version and use it, which I doubt as it will be against their business model)

  20. @Robert von Burg and @von Finck:

    Robert, be careful here not to mix things. If you develop systems which you then *ship to your clients and install at their site*, then you are doing the right thing buying the commercial licenses. (And also you *should not* even use the Community Edition in this place, even when paying for licenses it is wrong.)

    Kurt on the other hand is in this blog describing a scenario where a company develops systems they host internally in their own company. The apps are usable over the web, but the application itself is never distributed to any client. This makes a major difference when using GPL.

  21. There is way too much FUD in general – not only by Sun but by RMS. We also know that often courts decide in a different fashion.

    The stupid FUD is what makes lawyers happy, because they can use either interpretation – if there is enough “firepower” behind their arguments. And at the worst, lawsuits can still buy time, which often helps to generate profit (hello Sony…)

    I do however must say, the story is too much hearsay. Who was this “friend”, who was the “employer of Sun” who said so? Who is the company involved other than Sun?

    I am not implying the story is wrong, but ANYONE can come up with such a story. Either be legit, or best dont claim it – because you might spread FUD just as well. :>

  22. July,

    They can license the software as they wish since they own the copyright to the project. Which mean they can do a “Community” version that is GPL, and Enterprise one that include proprietary bits with a different license. It is a very common practice in the open source world, usually called “dual-licensing”.


    That being said, I am fairly certain that this is a case of the left hand not quite being aware of what the right hand is claiming. Otherwise, should we expect them to extend their twisted logic to the rest of their open source portfolio? OpenOffice.org, Opensolaris, etc.

    Hopefully, they will rectify. Yeah, I am naive like that.

  23. Err, last comment was meant for ca, not *July*. Erm.

    /me go fetch more caffeine.

  24. I am not implying the story is wrong, but ANYONE can come up with such a story. Either be legit, or best dont claim it – because you might spread FUD just as well.

    You are implying that, by the very next words you typed.

    Believe it, or do not, it matters not to me. Just remember “Deep Throat” and the Nixon presidency. Keeping sources secret is no barrier to truth, and a well-established journalistic norm.

  25. Will FUD be a standard business practice of Monty AB?

    I hope not — but based on this post, I’m worried.

  26. Steve,

    Would you care to elaborate? What exactly worries you? The fact my source asked not to be revealed? Something else … ?

  27. Nope — just that your new company may feel that the only way it can raise itself up and get noticed is by pulling someone else down.

    In my world, that’s not a winning combination — but best of luck to you.

  28. Steve,

    Seeing that you are employed by the very company I am discussing here:

    http://www.zoominfo.com/people/Curry_Steve_630664449.aspx

    http://www.theregister.co.uk/2007/03/18/mysql_enterprise_fit/ | grep Curry

    http://www.reuters.com/article/pressRelease/idUS172284+21-Apr-2009+BW20090421 | grep Curry

    etc etc

    you may not be the most unbiased reviewer of my post. And, it would be good form to reveal your affiliations in cases like this.

    BTW, I left you voicemail with an offer to discuss this issue at your leisure. That offer stands.

  29. Kurt,

    I am extremely surprised to hear this story.

    First of all, Sun sales engineers working on MySQL products are not lawyers and by policy they never engage in such discussions, so I really don’t know how it is possible that the conversation could have reached the conclusions that your friend presented.

    Second, sales engineers have enough knowledge of GPLv2 to understand when the use of the product is against the licensing policies. I can assure you that, based on what you explained, nobody would have ever considered that the user was infringing the law. I can only think that there has been a misunderstanding between the parties or a missing part in the whole story.

    Third point, you mention MySQL Enterprise, which is a subscription-based product still under GPLv2, so I really cannot see how MySQL Enterprise could help here or it could have been suggested by the sales engineer.

    I am really sorry to hear these kind of stories and I feel even more sorry to read some sharp comments supporting this vision of evil people trying to extort money in any possible way. I am sure that your new colleague Henrik shares the same sentiment, since he was a Sun sales engineer like us and he perfectly knows that none of us, Sun sales engineers, would have never said such things.

  30. @Ivan Zoratti: Hi Ivan. Indeed, I was surprised to hear this story, slightly before this blog was posted (at which time I did not yet work for Monty Program, but was enjoying my notice of leave vacation sponsored by Sun 🙂

    Like you say, MySQL Sales Engineers know the GPLv2 well enough, and even if they are not lawyers, at least I ended up in discussions about boundaries of GPL every now and then. Some of them were then deferred to a lawyer for real negotiations.

    For the record, I don’t know the source of this story, who apparently wanted to remain anonymous. (Which is understandable if he feels threatened by a potential Oracle lawsuit!)

    My first reaction – exactly as you say – was that this is not something anyone in MySQL Sales would say, because it is obviously wrong and secondary it is not how the MySQL offering is even constructed. On the other hand, mistakes happen, for instance an eager new hire might easily make a mistake like this if he is attacking customers before there was a chance to give him training. More importantly, sometimes customers end up speaking to random persons inside Sun, who may know nothing much about MySQL and end up saying almost anything. (Are the Java/GF/IdM Sales Engineers now selling MySQL or not?)

    And finally, the customer may have misunderstood something that MySQL Sales actually says, namely at
    http://www.mysql.com/consulting/packaged/performance.html
    …you can see that you do require MySQL Enterprise as a pre-requisite to performance tuning. MySQL Enterprise is a commercial version, but also GPL. Could easily create misunderstandings with either party.

    So I fully agree this is not what MySQL Sales does, and we don’t want to paint a picture telling anyone otherwise. Even so, it is not at all unlikely that a mistake would have happened.

    I’m also glad to hear (gossip) that you are taking additional steps to ensure such a mistake cannot happen (again?). If you are in contact with Kurt, we’ll be more than happy to report on that – it’s the least we can do.

Leave a Reply

Your email address will not be published. Required fields are marked *