Today I want to start contributing to a solution for something that has been agitating me for a while. That is, simply not enough people know who wicked-cool Launchpad is.
I am what I would describe as an opportunistic programmer. I like to write programs in my spare time that are fun and interesting, and I like to share those programs with other people. I like to work together with other programmers to make these programs better so everyone who uses them benefits.
As such, I have tried a bunch of collaborative development websites. I tried SourceForge, I have used Trac, I tried setting up my own infrastructure, and ultimately I have always settled on Launchpad. The more I have used Launchpad the more I have discovered just how ideal it is for Open Source contributors to work together on software. Unfortunately, so many contributors have no idea of all this cool stuff that Launchpad can do. So, I am going to spurt a bunch of blog entries onto the Internet to help spread the word.
Now, let me be clear in my intentions and drive here. While I do work at Canonical, I don’t work on the Launchpad team. I am not responsible for building a Launchpad community. I am not responsible for telling people why you should use Launchpad, and the Launchpad team has not asked me to write these blog entries. Instead, I am writing these articles with my opportunistic developer hat on as opposed to my Canonical hat, and I hope you interpret these posts as such.
I plan for these posts to mostly short and sweet and enough to get folks started in exploring a particular feature in Launchpad. I hope you like them.
Just Enough Goodness For My Project
One thing I love about Launchpad is that it gives me just enough of what I need for a software project. Back in the old days I used to use SourceForge to work on projects. It felt like a ten tonne hammer to crack a very small nut. I struggled along with it’s overly complex interface, filled with features I was never going to use. Like many developers, I found myself battling more with SourceForge than actually writing code for my programs.
So, I decided to give Trac a whirl. I loved it, and we used to hack on Jokosher in Trac for that very reason. While Trac was great for providing code-hosting, viewing and a built-in wiki, it’s issue tracker didn’t really meet our needs for a bug tracker. It also provided no answer tracking or translations features. As such we decided to move over to Launchpad and the project has been there ever since.
I feel Launchpad gets the right balance. It doesn’t overflow you with meaningless features that you will never use, but instead provides a well designed set of core tools that I have used for pretty much all of my projects. This includes:
- Bug Tracking – a place to file bugs, triage them, attach fixes to them and manage them.
- Code Hosting – a place to store and view your code and manage those branches.
- Translations – a place where non-developers can contribute translations to your program.
- Package Building – a place to build packages for Ubuntu and deliver them to users.
- Specification Tracking – a place to plan features to be used in projects.
- Community Support – a place where questions can be asked and answered.
My projects use all of these features and this is most of what I need in a development forge, with the only additional features that could be nice being a wiki and possibly a testing tracker. Not only does Launchpad give me enough of what I need to be productive, but it also integrates all of these components. As an example, branches in the code hosting component can be attached to bugs in the bug tracker.
See a list of all of these Why Launchpad Rocks articles here.