MySQL 6.2 is GA, but 5.1 is RC and 6.0 is alpha

MySQL’s version numbering is getting harder and harder to understand. In fact, it’s getting surreal.

Let me state up front that there’s probably a lot I don’t know here. But if I don’t know, how on earth can the general public figure it out?

Before we begin, let’s define terms: GA is completely done, ready for use. RC is a release candidate: don’t change anything, just fix bugs because we’re charging towards a release here. Beta is possibly unsafe code, use at your own risk. Alpha is known to have significant bugs, but if you’re curious please play with it.

Now for the releases/versions game. Let’s recap:

What is going on here?

How is this an improved release model? What is improved about this?

How in the world can anyone figure out what versions of the software have what features? Who can make an educated decision about what product to use in this situation? Are people supposed to just rely on the sales people to help them figure out what to use? Boy, is that trusting the fox to guard the henhouse.

Why didn’t they just release 5.1 Cluster as GA separately, if that reflected the reality in the code? They certainly missed an opportunity to show some progress on 5.1. As it is, 5.1 got robbed of its chance to have at least some of its code go GA after more than 2.5 years in development. Now 5.1 looks like even more of an embarrassment — hey 5.1 team, how come you can’t get anything out the door when these 6.2 people are releasing GA products? Not to mention 6.0 — you guys look bad now too! (Just kidding.)

I tried to draw a timeline of MySQL’s release history, in some detail in the 5.0 history and in very basic detail in the 5.1 and 6.0 and 6.2 trees. You can take a look at that. It’s worth studying for 5 minutes or so, even though it’s kind of ugly. There are lots of oddities to notice about it. Enjoy:

MySQL release timeline

The inmates are running the asylum. This gets more and more amusing as time goes on.

Technorati Tags:, , ,

You might also like:

  1. innotop 1.5.0 released
  2. Version 0.1.146 of innotop released

14 Responses to “MySQL 6.2 is GA, but 5.1 is RC and 6.0 is alpha”


  1. 1 Monty Taylor

    6.2 isn’t related to the 5.0, 5.1 version numbering - it’s the version number of Cluster. So it’s not MySQL version 6.2 - it’s MySQL Cluster version 6.2. 6.2 has actually been the GA version of MySQL Cluster Carrier Grade Edition, which has up until now only been available to paying customers, for a while.

    The thing is, Cluster is really a separate beast, and if you have a Cluster deployment, the version number of the main MySQL Server is almost irrelevant. I agree - it’s unfortunate that the version numbers are close enough to be seemingly related, but they’re really not. You could say that it’s MySQL 5.1.23 with Cluster 6.2.15 - but that’s not really even true because there are patches in the MySQL part that aren’t in 5.1.23 yet.

    I actually thought that Kaj did a good here: http://blogs.mysql.com/kaj/2008/05/23/mysql-clusters-improved-release-model/ explaining this.

  2. 2 Brian Aker

    Yes, the versioning is a bit hard to understand because of the over branding with “MySQL”.

    Cluster has been pulled from “MySQL Server” releases and now is on its own as a product. When they created the new product they kept moving forward on release numbers (aka it is a fork from the main server and on its own release schedule).

  3. 3 Ronald Bradford

    Your image link is broken (http://www.xaprb.com/blog/?attachment_id=502)

  4. 4 Xaprb

    Ronald, the image link looks like a WordPress bug. Unfortunately the WP forums only have questions, not answers, so I just changed the link to the file instead of the WP page that holds the file. (No time to hack the source.)

  5. 5 Jon Stephens

    The ‘6.2′ refers to the version of the NDB storage engine used.

    If you look the the output of SELECT VERSION() in the mysql client from the MySQL Cluster NDB 6.2.15 packages, you’ll see 5.1.23-ndb-6.2.15. What this means is:

    1. The MySQL Server is based on version 5.1.23, and has all features and bugfixes that are in the MySQL 5.1.23 release.

    2. The NDB storage engine version is 6.2.15.

    There is also a NDB 6.3 series (currently in beta development stage and available only as source), the latest being MySQL Cluster NDB 6.3.14, which has the version string 5.1.24-ndb-6.3.14. There is also an NDB 6.4 series in pre-alpha development - that is, no releases have been made yet. There was also an NDB 6.1 series, but that’s no longer being maintained.

    See http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html for mroe info, in particular the “MySQL Cluster Versioning” section on that page.

    Hope this helps to clear things up a bit.

    Jon Stephens
    MySQL Documentation Team / Sun Microsystems

  6. 6 Xaprb

    Thanks everyone for responding. Now you’ve educated me, but what about the general public? There’s a lot of opportunity for confusion here. Not that it’s my problem to solve, but… the MySQL website could do a better job at this, IMO.

  7. 7 Ryan Thiessen

    You’ve got a point, but I think you’re being a little harsh. Right now dev.mysql.com has three options listed on the sidebar: 5.0 GA, 5.1 RC and 6.04 Alpha. Under that they list other products with their own independent versioning like connectors, and Cluster.

    It’s only really confusing if you start reading blogs and talking to people with their own ideas about how the products should be versioned. For example the 6.04 download page talks about how it is alpha quality, that’s pretty simple for a casual user to understand. But then you have people who work on Falcon who stress that the Falcon bits are really more beta than alpha quality — and then you start to have the confusion you talked about.

    I still grant that it’s a bit confusing especially when you look at how NDB Cluster versions relate to MySQL Server versions. But for a newbie coming to mysql.com the site does a pretty good job of directing people to what they want to get.

  8. 8 Karl Katzke

    I understood it just fine — 6.2 and 6.3 are the Carrier Grade / NDB version, 5.1.24 is the 5.1 Beta/RC that may not actually make it to production because if the InnoDB snafu.

  9. 9 Simon Kuhn

    This is exactly the sort of thing that Sun LOVES to do, so look forward to more of it in the future.

    SunOS 5.10 = Solaris 10, after jumping from 2.6 -> 7 for instance, not to mention all their crazy Sun Java Desktop OS N1 Beans nonsense.

  10. 10 Jon Stephens

    Karl,

    Not sure what “snafu” you’re referring to - there will be a MySQL 5.1 GA release in the near future, and InnoDB is expected to be one of the storage engines available in that release. Even if, for some reason, we could not include InnoDB - and I’d like to emphasise that at this point in time there is *no* reason for us not to include InnoDB in any MySQL Server release - this would definitely not stop us from doing a MySQL 5.1 GA.

    NDBCLUSTER has been branched off from mainline MySQL in order to allow for a faster and more flexible development cycle for that storage engine, but it will periodically be sync’ed up with mainline MySQL 5.1 - this is why MySQL Cluster releases now have 2-part version strings, so it’s easy for users to see when this has happened.

    If there’s anything in our documentation that suggests otherwise, please contact us directly and let us know what this is.

    Jon Stephens
    Sun Microsystems / MySQL Documentation Team

  11. 11 Jon Stephens

    Hi Simon,

    As several of us who work with Cluster have already stated here and elsewhere, the “6.2″ derives from the version number for the NDB storage engine, which has existed in 6.1, 6.2, and 6.3 branches since well before Sun acquired MySQL. This versioning reflects actual, non-trivial feature changes and additions.

    But do check out the Cluster changelogs and Roadmap section in the MySQL 5.1 Manual and judge for yourself. I think you’ll agree that there really is a logical and functional basis for these designations, and they’re really not just some marketing gimmick.

    After all, we could have called the product “MySQL Cluster 10″, “MySQL Cluster 2008″ or even “MySQL Cluster XP”, right? :)

    cheers,

    Jon Stephens
    Sun Microsystems / MySQL Documentation Team

  12. 12 Simon Kuhn

    Jon,

    I see the reasoning behind MySQL’s decision, but I think the basic point here is that the naming/numbering scheme is not intuitive to the public. When I see “MySQL Cluster 6.2″, I presume that it has some relation to “MySQL ‘regular’ 6.2″. However, the current situation means that at some point (years from now probably) there will indeed be a “MySQL ‘regular’ 6.2″ with absolutely no relation to “MySQL Cluster 6.2″.

    The purpose of product names and version numbers is to convey information in a rational fashion to users, hence why many products have internal codenames to convey the same to internal developers when there is a mismatch between internal practices and external understanding.

    Its fine to have distinct products and versions, but by putting the version of this new product close enough to the existing one to cause confusion — but far enough apart to eliminate correlation — is distracting regardless of internal logic.

    For instance, if MySQL Cluster 6.2.15 is based on MySQL ‘regular’ 5.1.24, then I would adopt the naming scheme MySQL Cluster 5.1.24-Cluster1 or something like that. But of course its your show.

    Also, I would prefer the following name if possible: Sun Java MySQL Cluster Server Forte 10: Community Edition with NetBeans.


    Simon

  13. 13 Karl Katzke

    Jon, what I had ‘heard’ (rumor, blogosphere, et al) is that since Oracle bought the rights to the InnoDB storage engine, that it would not continue to be featured as MySQL’s transactional engine in favor of Falcon and a GA release featuring InnoDB would not be released.

    I think our problem as a community is that it’s difficult to tell the difference between MySQL’s marketing FUD spread in order to get people to buy the licensed version, and what’s actually happening from an engineering and community standpoint.

  14. 14 Sheeri Cabral

    But for a newbie coming to mysql.com the site does a pretty good job of directing people to what they want to get.

    Ryan — except for pages like “learn more” (for instance the “learn more” page for the MySQL Query Browser and other GUI tools) that don’t even include a direct link to download. Instead, you have to “learn more”, decide “hey I like this product! I want to download it!” and then somehow realize you have to click “downloads” and then “GUI Tools”.

    Would be much easier if they just had a “download now” link off the “learn more” page.

Leave a Reply

Please do not use this blog to get help with problems or bugs in Maatkit or innotop: use the appropriate forums, mailing list, or bug trackers. If you're asking for help with MySQL, please use the MySQL mailing list instead.