This article is part of a series of articles about why I feel Launchpad is a great home for your Open Source project. I am writing these articles not as an employee of Canonical, but instead as a happy Launchpad user who gets agitated that not enough people know how cool Launchpad is.
One of the things I love about Launchpad is that getting, hacking, sharing, merging in code is dead simple. Much of this is because of it’s tight integration with the Bazaar version control system. Together it provides a kid-in-candy-shop level of awesome if you like to run and hack on code.
One of the things I love about Bazaar is that it is focused on simplicity, and having used CVS and Subversion in the past, and a little bit of git recently, I find Bazaar by far the most naturally connected with my workflow. The reason for this is that I don’t want to care about version control. I am not interested in it, I don’t want to learn it, I don’t plan on sending it a Christmas card; I merely want to learn enough to get code from somewhere, upload it somewhere and rock with it. Bazaar is well suited to my needs because it’s simplicity means that it doesn’t feel like a pain to use.
Getting code is simple. I can click on the Code part of a Launchpad project and Launchpad tells me what command I need to run to grab a branch. As an example, if I want to download code from the Lernid project, I just run:
bzr branch lp:lernid
This gets me a branch easily, and I am ready to hack on it. when I have my feature or fix ready, I can then push it really easily with:
bzr push lp:~jonobacon/lernid/my-new-feature
my-new-feature for whatever branch name I want to call it. At this point my branch will appear with the other branches in the Lernid project, so the other developers can download and try it. If I would like to ask the Lernid developers to merge it into their main trunk branch, I can Propose It For Merging in Launchpad which provides a user interface for the developers to review the branch, ask me comments, request changes and otherwise have a conversation about the proposed merge.
This all makes grabbing code, hacking on it, sharing it with others, and asking for it to be merged dead simple.
Not only this, but if you are interesting in contributing to Ubuntu, all source packages are held in Bazaar which means that the same tools and commands for working with code apply to working on one of the most popular Linux distributions too. You can read more about this here.
See a list of all of these Why Launchpad Rocks articles here.