MySQL and HeatWave

  • Sun
    April 28, 2009

MySQL documentation: no license change

Stefan Hinz
MySQL Documentation Manager

There have been ongoing rumors about a license change of the MySQL documentation. Karen Tegan Padir even asked the audience during her keynote at the
MySQL Conference last week. Some liked it, but we didn't experience any overwhelming positive feedback. Currently, the MySQL Reference Manual and other MySQL documentation are released under regular copyright. Note, however, that Sun grants permission to use the docs in many ways that don't require written approval.

Most people in open source land believe that if the software is free then also the documentation should be (this is, for example, stated by the Free Software Foundation, in the preamble of the GNU Free Documentation License).

I agree with that point of view, except for the MySQL docs, and here's why: The MySQL docs are hugely popular, so they attract copycats who put copies on their websites, usually plastered with Google ads all around. That's not bad per se, but those people normally don't care about the docs at all, they're just interested in the revenue stream. So what they don't do is keep "their" docs updated. We already have hundreds of outdated copies out there (despite the fact that they're currently illegal), and the MySQL documentation team frequently gets complaints about "our" docs being out of date. Now imagine making copying legal – this would result in many more copies out there, causing many more problems:

  • Users would be confused. Lots of users find MySQL documentation through a Google search. Unsurprisingly, the official MySQL docs on the Developer Zone rank high in search results. This ensures that users always find the most recent and complete documentation. With the docs under a free license, this would change dramatically. In fact, we'd do our users a huge disservice.
  • Our reputation would be damaged. With outdated documentation all over the place, people would not only have a hard time finding out what applies to their respective MySQL version(s), but this would also be a constant source of uncertainty and doubt about the abilities of MySQL.
  • MySQL forks should have their own, specific, documentation. Developers love to code, but they rarely love to write documentation. So it's not unlikely that we'd find unaltered copies of the MySQL Manual distributed along with forks, with (implicit) disclaimers saying "good luck finding out the differences". This would confuse the situation even more, not just for the fork, but also for the "regular" version of MySQL.
Don't get me wrong: As said initially, I believe in the rule that free software should be accompanied by free documentation. But I also believe that the exception proves the rule. Rules are good, but it doesn't make sense to follow them blindly. Generally, rules shouldn't be applied if they'd deteriorate a situation significantly, and that's exactly what would happen for the vast majority of our users if we'd put the MySQL documentation under a free license.

Join the discussion

Comments ( 20 )
  • Sheeri K. Cabral Tuesday, April 28, 2009

    <I>Note, however, that Sun grants permission to use the docs in many ways that don't require written approval.</I>

    I'd like to note this...however, what specifically are you referring to here? Can you link the page where Sun's policy on what can be used w/out written approval is?

  • Xaprb Tuesday, April 28, 2009

    I'm not sure that all the things you predict would come to pass. I think I hear more fear than certainty (justified, though).

    However, 1) you are right about forks needing their own docs, and Percona's docs are proof of your statement that people love to code instead of write docs; and 2) I think it's ok to keep the docs as they are. However, I know some people just have a passion for writing documentation, and I wonder if you'd get patches/commits if you allowed them more freely.

  • Justin Swanhart Tuesday, April 28, 2009

    I think you have a problem with your last assertion "MySQL forks should have their own, specific, documentation". You see, right now, the only thing users have to go by is the changelog, blog posts, and what bits of the manual have already been written. For everything else you have to reference the <i>unaltered</i> MySQL manual, and then manually in your head note and rectify all the differences. This is challenging at best, and more than we should expect from the average user of software, especially a database administration novice. Drizzle should be able to update the manual page to reflect their changes and make that <i>unified</i> manual available online, with the rest of the "stale" documentation there for usability sake, because they haven't changed those features. Expecting every fork to recreate the entire omnibus MySQL documentation is not realistic. What might happen is that one central open source docs project gets created, and then everybody but Sun will use those docs and that gets messy too.

    What if I don't like the Sun translation of a manual, or want to translate it into my own language? Shouldn't I be allowed to derive some sort of revenue for this labor intensive process, either through ads or direct sales to people who speak my language?

    What if I want to print it out and hand it out to friends (or even sell it) with my own highlights and comments in different sections?

    What if I want to extend (not technically fork) MySQL simply to add my own extensions or a new storage engine. I'd like to sell it include updated docs so that people can figure out how to use it easily. Shouldn't I be allowed to include the original docs, along with some modifications which I have made, instead of having to rewrite the whole manual?

    Requiring a third party to essentially recreate the MySQL docs from scratch for a GPL code base <i>is just plain wrong</i>. What about Percona? Don't you think they should be able to copy and extend the InnoDB documentation for XtraDB?

    I also don't buy your argument about stale copies on the net. Look, if you haven't noticed, the internet is almost entirely one big stale copy of other parts of the internet. Companies archive large swath's of the internet, including Google. I also use cached links if I want to get a deliberate (and useful) glimpse into the past. This is particularly useful for the olden days version of the manual where all versions were documented in a single document. If people fail to look at the domain name to ensure they are looking at official docs before filing a bug or sending a complaint email then they are stupid.

  • Stefan Hinz Tuesday, April 28, 2009

    @Sheeri: I'm referring to the legal notice on the starting page of the docs, for example on http://dev.mysql.com/doc/refman/5.1/en/, particularly this part: "You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium."

  • Stefan Hinz Tuesday, April 28, 2009

    @Baron (Xaprb): We've got a few docs patches in the past, but most of the stuff we're writing (and, more importantly, editing) ourselves (at the MySQL documentation team). I see more value in users contributing indirectly, that is, by filing bugs against the docs, or by leaving a comment in the user comment system. This makes edits go through a review cycle, often by discussing with devs in the know, and quite often it turns out that the docs are right, while the bugs or comments are wrong. I prefer not to get bugs in the docs by people with good intentions, correcting "mistakes".

    I guess contributions to the docs would be rare, anyway, even if the docs (and the editing process) were more open. See, for example, the MySQL Internals documentation (http://forge.mysql.com/wiki/MySQL_Internals), which we made freely available in a Wiki. Contributions have been nearly zero.

  • Stefan Hinz Tuesday, April 28, 2009

    @Justin: "If people fail to look at the domain name to ensure they are looking at official docs before filing a bug or sending a complaint email then they are stupid."

    I feel tempted to reply "don't throw bricks when you live in a glass house". You've been using <i>quite a few</i> HTML tags in your comments, although it's clearly stated (right under the text area): "HTML Syntax: NOT allowed".

    Don't take it personally; the attention level on the Internet is usually pretty low. ;-)

  • M. Mortazavi Tuesday, April 28, 2009

    The MySQL docs represent the standard for its use.

    As such, they need to be properly and carefully protected.

    Forks of the documentation will only harm the user communities, not to mention those who have built businesses on supporting, consulting and training around MySQL which depend on standard MySQL Docs.

    Neither does a license like CC really apply here because as L. Lessig has pointed out in his wonderful book -- Free Culture -- http://www.free-culture.cc/ -- licenses such as CC are primarily there to overcome problems with traditional licenses that prevent people from mixing and creating new content objects based on other material. CC is supposed to ease this kind of mixing and mash-up with little or no encumbrance in the creative disciplines.

    When it comes to standards of use, of equipment and of products, while there's a great deal of creativity involved, I think the matter also takes on a different, new dimension having to do with the "correct" use of the equipment or product, on the one hand, and the protection of the product vs. forged forks that may affect its community of users, on the other. (Here, I'm using the word "forged" also in the positive sense of forging or creating something new.)

    So, let's carefully remember a few points, again.

    There has never been and there still is not any free rides with MySQL Docs.

    There is a reason for this limitation to MySQL Docs, which are already open and available for all kinds of other uses.

    The MySQL Docs are there, primarily, as standard of use and in order to feed and nurture the MySQL user community.

    The docs were never created for any higher ideal than these, and these are already very high ideals in themselves!

    Let's not pretend otherwise.

    In short, I support Stefan's points.

  • Greg Tuesday, April 28, 2009

    Your argument sounds good on paper, except for the evidence of all the other open source projects that \*do\* make their documentation unencumbered, and yet still manage to have unconfused users and undamaged reputations. It certainly seems unlikely that changing your license will somehow move mysql.com from the top of most web searches, as you imply.

  • Lukas Tuesday, April 28, 2009

    I am sorry .. your argument makes zero sense .. the problem is that search engines have been sitting on their hands to finally deal with copycat content (so please do talk to Google and Yahoo about this):


    As you point out already, the problem already exists and I do not think it will get worse with opening things up.

  • Peter Eisentraut Tuesday, April 28, 2009

    With those kinds of arguments you could stop the entire open-source software method: Prohibit copying so others can't offer your popular software on their site. Prohibit forking so users won't be confused. (They are beginning to get confused about all those MySQL forks, aren't they?) Or start free and then restrict things as you become popular?!?

    Free and open-source software is not about the vendor's convenience or the unified user experience. It is, depending on exactly what camp you come from, about ethics, morality, development practices, investment protection. If I can't share the material with my neighbor, or add information that I consider important, or develop improvements and document them in a coherent form, or I don't have any assurances that the documentation will even be legally available tomorrow, then your offer fails in those points.

    So just clarify your point: Open-source is fun and games, but your business concerns come first. That's fair enough.

  • Arjen Lentz Tuesday, April 28, 2009

    First of all, let's all acknowledge that the docs team is doing an awesome job!

    The docs have come a long way since I was first the only docs person and then docs lead long ago.

    I also appreciate Stefan's hesitations about relicensing, yet while they appear reasonable on the surface, are actually typically stated considerations for keeping something closed and the fact is that opening up something generally completely changes the landscape.

    The outdated copies are from earlier times, when I was docs lead I had to deal with the same. But lots of people then didn't have broadband, or had worse international links... so having stuff closer by made sense. In some cases the search was also different. On the latter, it appears the MySQL online docs search was messed up again recently. In many cases now it's more search engine persistence than mal-intent of any individuals.

    You also mention advertising. If there are Google ads next to the items, you can simply notify Google as the AdSense rules dictate that you can only advertise on content that is not theirs. So, you don't need to chase this, Google will do it for you and they naturally have the contact details for every person/company advertising, it's all uniquely identified. The financial incentive will be gone then.

    Note that this has nothing to do with licensing, and the above would still apply if you were to relicense. Take an aggregate blog, for example. Even if all the feed were to creative commons their posts, the aggregator would still not own the copyright to the content. Therefore they can't use advertising. The Google rules are quite clear (and strict) in this, you have to actually own the content, not merely have a license for it.

    Your own ability to make money off the documentation (such as publishing books) can be retained, and in fact restricted from others, by using for instance one of the creative commons non-commercial licenses. That would be a perfectly sensible choice.

    Masoud refers to other companies doing consulting/training/support. They are not reliant on the MySQL documentation having this restriction, take it from me. Open Query is one of the very few companies that has been doing all three for a few years now. You do not have my support in making that assertion as it is simply not based in fact.

    Peter Eisentraut summarises the real issue really well. You are quite entitled to make a business/commercial decision, but please don't wrap it up in justifications that have been proven to not fly in the OSS world today or are simply invalidated by reality.

    Bringing up those arguments also contradict Sun's statements that it understands OSS.

    OSS or not, value is not created through scarcity. In some cases scarcity creates desire, but it does not actually increase the assessment or even perception of quality. This has been well tested. If there are fewer choc-chip cookies available people want them more, but they wouldn't actually be regarded as tasting any better than abundant cookies.

    In the OSS space, you're messing with freedoms. Restricting freedoms creates desire to leave (or fork), while being open creates desire to stay. If I am able to get all my data out of a website, that gives me a level of comfort thereby reducing (or completely removing) my desire to actually take it out and go elsewhere. Smart companies allow their clients to export all their data in a sensible format, and they do better business because of it.

    The paradigm of retaining leverage is exactly what compels people to create alternatives. Abundance creates participation, whereas scarcity creates competition. But again, that scarcity does not actually make the item of higher value.

    Finally, how is the documentation for other Sun products licensed? Any of those out there? If so, what were the reasons for doing so. Wouldn't they be identical to here? Sure, MySQL's docs have a slightly different history as I'm very well aware (since I was there) but history is no argument for future. Don't let it hinder you.

  • Mark Callaghan Tuesday, April 28, 2009

    Yes, the docs team is doing a great job. I appreciate that a lot. Now if we could only get more people to read the docs.

  • M. Mortazavi Tuesday, April 28, 2009

    Peter & Lenz -

    MySQL Docs have always been \*open\* and free for all kinds of use but they have also always had a regular copyright attached to them.

    There is nothing new here, and the primary intent has always been to maintain the quality of these docs as the standard source on MySQL.

    I think it would do the MySQL community a disservice to dilute that standard.

    People who are interested in forking the server -- and potentially interested in creating what is in effect separate communities of their own -- should probably develop their own docs for their own forks.

    (There is a cost involved here, I know. However, it should be a cost worth paying if developers of forks really believe in their work. MySQL AB certainly paid that cost in developing the docs while it had already made the code itself freely available under GPL. So, the playing ground among all forks, etc., and including MySQL itself, is actually quite level.)

    Mark -

    I believe the copyright notice which has been attached to the MySQL docs ( http://dev.mysql.com/doc/refman/5.1/en/index.html ) actually allows and encourages alternative distribution models in order to ensure more people can actually read them.

    I hope this helps.

  • M. Mortazavi Tuesday, April 28, 2009

    Please accept my apologies. In the above comment, I meant to say, "Peter & Arjen" ... :-)

  • Stefan Hinz Wednesday, April 29, 2009

    @Arjen: "Bringing up those arguments also contradict Sun's statements that it understands OSS."

    That's a polite way of saying \*I\* don't understand OSS principles. :-) So let me say it again: I do believe that OSS creates value that closed-source software can't, and creating that value is done by following OSS principles. But what's that value about? I don't think openness is the value itself, it's rather just a measure by which that value is created. The actual value goes much deeper: OSS helps people achieve goals in their private and professional lives that couldn't be achieved by closed-source software. It's not just about money (you don't have to pay for "express editions" of closed-source software, either), but also about security: If the original developer (or developer team, or company) stops doing a good job, and if the project/software is considered useful by many others, there will be people who'll step in and do a fork. And doing a fork is much easier and makes way more sense if not just the software but also the docs are available under a free license. That's exactly the reason why the FSF demands that the docs for free software should be free, too.

    I hope this makes it clear that I do understand the reasons and the principles of OSS, and that I'm aware that we're deviating from those principles by not making the docs available for forking. But we do that for the reasons I've tried to outline in my blog post, not because we don't understand OSS.

  • Arjen Lentz Wednesday, April 29, 2009

    @Stefan ok so your primary aim is to discourage forks. That's a choice you can make, but do please ditch the other two arguments then as they really do give the impression of misdirection and not understanding OSS.

    I'll also give you something else to consider in this respect. While the MySQL codebase is GPL and cannot be "taken back" and closed regardless of who owns it. However, the documentation is not protected in this way to guarantee its continued availability to the community.

    You have to appreciate that there is no implicit trust towards big companies, whether it's the old MySQL AB, Sun Microsystems, or Oracle. Their track record is such that at any point strategic decisions can be made that go against every they were professing the previous week. Which, by the way, I completely appreciate from a business perspective - whether I fundamentally like it or not.

    So, the only thing that makes people trust such organisations is a guarantee that has been externalised and thus can't be revoked. GPL satisfies that very well. Regardless of who owns the code, the fact that it's GPL means that it can't be closed up again retrospectively - at least the codebase up to the point where the license changes (if the company owns all the copyright to the code) will always be free.

    With the documentation, it's copyright Sun/MySQL all rights reserved and while certain grants have been made, those restricted liberties are not implicitly irrevocable, i.e. they have not been granted in perpetuity. As it stands now, the current or future owner of that IP could change the license, and hunt down any outstanding copy to enforce the new arrangement. I believe this is a serious concern for the product as a whole, and hope this concern will be address by Sun Microsystems very soon - and with action, as the law is the way it is, without a license change the above is the legal basis of what can happen.

  • Stefan Hinz Wednesday, April 29, 2009

    @Arjen: Thanks for explaining this to me again, although I thought I had made it clear that this is exactly my understanding of OSS things. But it looks like I haven't expressed myself clearly enough; it's on my agenda now to clarify my point in another blog post.

    Back to this blog post of mine: Peter Eisentraut has pointed out that with "those kinds of arguments you could stop the entire open-source software method". That's probably true, but this is not my intention. I'm applying my point of view only to the MySQL docs, and I wouldn't even think of suggesting to other open source projects to follow that view.

    You're saying that "your primary aim is to discourage forks". I hadn't thought of that as my primary aim, but it's also on my agenda now to dig deeper in my subconcious. :-) Let me put it this way: I'm concerned that people would use freely copyable docs for the sole purpose of making money, while not taking into account at all the damage they might inflict upon MySQL, its users/community, and all the hard working people here at Sun/MySQL.

    In an ideal world, I wouldn't have to have those worries, because everyone in OSS land would be led by unselfish ideals. But this world is still ruled by money, and I have good (and proven) reasons to assume that many of these "be a good OSS citizen, stick to the rules by open-sourcing the docs" claims are driven by monetary interests, and nothing else. And when it comes to money I'm hesitant to serve as a foundation for the welfare of people who feed on the work of my team and my company.

    This leads to OSS and companies. OSS works amazingly well for projects, and for companies that don't have to make a living on the OSS stuff they create (e.g. IBM or Oracle sponsoring Linux, but making a living from proprietary stuff that runs on Linux, not from Linux itself). It also works well for companies who restrict themselves to making a living from "the usual 3", as I call it (support, training, consulting). It doesn't work equally well for companies earning money mostly through the product they're producing. Those companies will have to make compromises, in order to pay those pesky bills. Admittedly, that's not as pretty as being able to fully follow ideals, but then again my children rarely ask about my ideals but rather about what they'll get for breakfast tomorrow morning. (Maybe it's easier to follow OSS ideals when you have no children; I'm not in a position to try.)

    Having said that, let me restate that I'm a strong believer in OSS. In fact, I think OSS is "nature's way", in the sense that eventually everything (not just in our industry) will become open source. This will take a while, though. In the meantime, I suggest to stick to true and unsmudged open source principles wherever possible, and to make compromises wherever necessary.

  • Arjen Lentz Wednesday, April 29, 2009

    @Stefan thanks for your response and the clarification on your position. Unfortunately you have not actually addressed the perpetual freedom question.

    Also, if your concern is not forks as such but others making money and in the process harming others, Creative Commons non-commercial type licenses would cover that. Will the docs be released under such a license, then?

  • Stefan Hinz Thursday, April 30, 2009

    @Arjen: Wow, this has become a long page! Regarding perpetual freedom, I was pondering the thought of licensing the docs under CC by-nd (http://creativecommons.org/licenses/by-nd/3.0/). Let me think about this some more, discuss with my team, and see if that's an option for us.

  • Arjen Lentz Tuesday, May 5, 2009

    @stefan CC-by-nd is "Attribution-No Derivative Works"

    If you're not concerned about forks, then why disallow derivative works? A license (or lack of it) states your intentions and objectives quite explicitly, that's its whole point.

    Based on your own statements above, I would say that the following CC variant is both suitable and appropriate:

    http://creativecommons.org/licenses/by-nc-sa/3.0/ (Attribution-Noncommercial-Share Alike)

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.