MySQL

The world's most popular open source database

Contact a MySQL Representative


  • MySQL.com
  • Developer Zone
  • Partners & Solutions
  • Customer Login
  • DevZone
  • Downloads
  • Documentation
  • Articles
  • Forums
  • Bugs
  • Forge
  • Blogs
 
  • Pages

    • About me
    • Bio
    • Press Release: “Kaj Arnö Appointed MySQL VP of Community Relations”
  • Archives

    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • April 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • October 2005
    • September 2005
  • Categories

    • Architecture of Participation (55)
    • Connectors (12)
    • Documentation (4)
    • Events (50)
    • Falcon (5)
    • GPL (9)
    • GUI (3)
    • Licensing (12)
    • MySQL (219)
    • MySQL Cluster (5)
    • MySQL Proxy (4)
    • MySQL Server (32)
    • MySQL Users Conferences (27)
    • MySQL Workbench (5)
    • Photography (11)
    • PHP (9)
    • Release Policy (20)
    • Ruby on Rails (5)
    • Running (6)
    • Summer of Code (8)
    • Sun (53)
    • Sun visits (24)
    • Travel (22)
    • Uncategorized (1)
    • Use cases (12)
    • Virtual company (37)



Observations by Kaj Arnö @Sun
« The Why and How To of Localising Presentations beyond English
Symbian is FOSS »

Version Control: Thanks, BitKeeper — Welcome, Bazaar

During the last month, MySQL code has been migrated from BitKeeper to Bazaar. Bazaar is a distributed, free revision control system sponsored and supported by Canonical, the company behind the fast-growing Linux distribution Ubuntu.

We have migrated all MySQL code trees that were available in BitKeeper. This means not just current GA and development versions of MySQL Server and MySQL Cluster, but also the history all the way back to MySQL 3.23.22 released about eight years ago. And we’ve also migrated non-MySQL-server FOSS applications to Bazaar, such as MySQL Workbench (formerly not in BitKeeper but in Subversion, also known as svn) and our internal QA suites.

We would like to thank BitKeeper for the fruitful relationship that has lasted for 5 years. BitKeeper has helped MySQL to achieve its goals in a professional way and to scale from simple version control to a more productive workflow.

Despite BitKeeper’s strong features, we wanted to find a more open product, since our goal remains to expand our external contributor base. For that, we need a freely distributable product to build a new policy of cooperation. For this, BitKeeper had published a free client for the community; however, this client is unfortunately limited to a few read-only operations. The community has been asking for more functionality, and we have taken these requests to heart.

It is because of our commitment to the development community that we decided to switch. We can’t encourage contributions without providing the appropriate tools for the task. Before opting for Bazaar, we evaluated several candidate Revision Control Systems, looking for the following features:

  • ease of use for a distributed development organization
  • feature set compatible with BitKeeper
  • availability in all major operating systems (Linux, Windows, Mac OS X, Solaris).

All the above requirements have played a decisive role in our choice, and countless email messages have been exchanged in the internal mailing lists to weight the pros and cons of replacement candidates. In the end, the features and openness of Bazaar was agreed to be the best alternative. The engineers at Canonical, under former MySQLer Elliot Murphy’s guidance, have worked wonders in adapting Bazaar to what they know about our requirements. Bazaar has been under intense development lately, resulting in 5 releases that have enhanced and stabilized the product since January, and these fixes have been of great benefit to us.

Side note: After being acquired by Sun, we learned that Sun will standardise on Mercurial. However, our decision on Bazaar was in the works already before MySQL was acquired and won’t affect Sun’s policy.

What is in it for the MySQL community? A more open environment for sharing MySQL code, and for working on it. Using Launchpad (http://launchpad.net), the Bazaar public web interface, Sun can now offer a better code repository for internal and external work on MySQL. This repository is now available at http://launchpad.net/mysql-server.

For readers not familiar with Bazaar and Launchpad, I recommend Canonical’s Projects page for clarifications. However, do note one thing: That page says that “Launchpad is a collaborative system developed by Canonical, and used to keep track of many aspects of open source development including bug tracking.”. We’re using Launchpad as a code repository, but we’ll continue to use our own same bug tracking system, at http://bugs.mysql.com.

The “Installing from the Development Source Tree” chapter of the MySQL 5.1 manual has been updated to reflect the switch to Bazaar.

Over the weeks and months to come, you can expect articles and blog posts about how to work with Bazaar. As we are still in the infancy of this new experience, we will welcome community advice and articles on this matter. Please contact us at ‘community’ ‘AT’ ‘mysql’ ‘DOT’ ‘com’, or just blog about your thoughts. We are listening!

Links:

  • BitKeeper: http://www.bitkeeper.com
  • Bazaar: http://bazaar-vcs.org
  • Ubuntu: http://www.ubuntu.com
  • Canonical: http://www.canonical.com
  • Canonical’s Projects page: http://www.canonical.com/projects
  • Launchpad: http://launchpad.net
  • MySQL’s code repository: http://launchpad.net/mysql-server
  • MySQL’s related projects: http://launchpad.net/mysql
  • Elliot Murphy’s Launchpad page: https://launchpad.net/~statik
  • MySQL 5.1 Manual page: “Installing from the Development Source Tree” http://dev.mysql.com/doc/refman/5.1/en/installing-source-tree.html
  • Daniel Fischer’s article “Getting started with Bazaar for MySQL code“: http://dev.mysql.com/tech-resources/articles/getting-started-with-bazaar-for-mysql.html

This entry was posted on Thursday, June 19th, 2008 at 13:24 and is filed under Architecture of Participation, MySQL, MySQL Server, Sun. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

17 Responses to “Version Control: Thanks, BitKeeper — Welcome, Bazaar”

  1. Antony Curtis Says:
    June 19th, 2008 at 14:49

    Yay!

    Hopefully, it would now be easier for the community to track the MySQL code and provide patches! This has taken a very long time: It was in February of 2005 when it was announced the discontinuation of free BitKeeper. More than three years have passed since then.

    Regards,
    Antony.

  2. Jay Pipes Says:
    June 19th, 2008 at 15:14

    WOOOOHOOOOO!

  3. D Rickard Says:
    June 19th, 2008 at 15:27

    After being acquired by Sun, we learned that Sun will standardise on Mercurial. However, our decision on Bazaar was in the works already before MySQL was acquired and won’t affect Sun’s policy.

    Does this mean that MySQL will eventually be moved to Mercurial? It’s unclear from the “won’t affect Sun’s policy” comment.

  4. kaj Says:
    June 19th, 2008 at 15:32

    @ D Rickard:

    No plans for us to move away from Bazaar. My point was: Other parts of Sun remain with the Mercurial policy.

  5. MB Says:
    June 19th, 2008 at 15:52

    this is very bad news given that Launchpad is closed source, *i’d like to know why exactly bazaar was chosen over mercurial.*. clearly mercurial is well (or is the best) supported by a wide variety of IDE, could you say the same for bazaar, just compare mercurial against bazaar for either the eclipse or netbeans plugin. i’m looking forward to your reply.

  6. website design Says:
    June 19th, 2008 at 16:16

    Interesting. I read most of the article look for their reasons for bzr over something else (darcs, git, hg, etc), but they didn’t say much. Seems like git is out due to their requirements for windows ease-of-use, but the rest? Anyone who decided on bazaar have any input?

  7. Elliot Murphy Says:
    June 19th, 2008 at 17:41

    @MB, Bazaar is open source, GPL, a GNU Project. The bzr code browsing functionality in Launchpad is open source too, a project called Loggerhead. Launchpad is just a central place to register and publish branches for free.

  8. Mike Says:
    June 19th, 2008 at 19:17

    Do I need to register in Lauchpad to branch?

    If true, that’s insane.

  9. Elliot Murphy Says:
    June 19th, 2008 at 20:03

    @Mike no, you don’t need to register in launchpad to branch. If you want to upload a branch to launchpad, you need to register so that you have an area to store your branch in, and so that we can keep people from overwriting each others work. But any branch published on launchpad can be branched anonymously, as you would expect.

  10. Ronald Bradford Says:
    June 19th, 2008 at 20:38

    Amen to that.

  11. Daniel Hahler Says:
    June 19th, 2008 at 21:42

    Congratulations! :)

    Elliot: “bzr branch lp:mysql-server” should get you the main branch (trunk), which just took about 35 minutes here.

    See also http://datacharmer.blogspot.com/2008/06/from-bazaar-to-sandbox-in-5-moves.html for more technical information.

  12. Lenz Grimmer's blog Says:
    June 19th, 2008 at 21:54

    The MySQL source code has moved!…

    Even though we had been preparing the migration to Bazaar for a while now, today’s announcement kind of caught me by surprise. But I am very happy about this move!
    While BitKeeper is an excellent tool and served us well the past eight (!) years, I wa…

  13. James Henstridge Says:
    June 20th, 2008 at 9:31

    MySQL Announces Move to Bazaar…

    It has been a while coming, but MySQL has announced their move to Bazaar for version control.  This has been a long time coming, and it is great to finally see it announced publicly.
    The published Bazaar branches include 8 years of history going back …

  14. anonymous Says:
    June 20th, 2008 at 16:18

    I prefer gitorious or ShareSource because those sites are not closed-source like Launchpad.

  15. Lenz Grimmer's blog Says:
    June 25th, 2008 at 19:57

    The mylvmbackup source tree has moved to Bazaar/Launchpad…

    JFYI: today I migrated the mylvmbackup source tree from my local Subversion repository on http://www.lenzg.org/ to a Bazaar repository on Launchpad.net.
    This will hopefully make it easier for contributors to work on the code and share their modificati…

  16. Lenz Grimmer's blog Says:
    August 1st, 2008 at 19:23

    Thoughts about OSS project hosting and the importance of controlling downloads…

    In a recent article, Matt Asay was musing about the aspects of hosting an Open Source project by yourself vs. using a public project hosting service like SourceForge, GitHub or Launchpad. He concluded that it’s important for commercial/sponsored open …

  17. Mark Says:
    August 3rd, 2008 at 6:24

    From Linus:

    And that’s where it’s important that the tool not
    separate out “top maintainers” from “other people”.

    Does Bazaar follow this ‘philosophy’?

Leave a Reply

Observations by Kaj Arnö @Sun is proudly powered by WordPress MU running on Blogs.mysql.com.
Entries (RSS) and Comments (RSS).