As a contractor I use github all the time to connect with client code and work on major projects. Github works incredibly well and will be a service I can see myself using for a long time.
My Problem
Where github falls down for me is for all the little projects I have that I want to keep in a DVCS but do not want to make opensource. Github charges by the number of private repositories rather than users so for someone who wants to keep maybe 20-30 projects on the go I could easily look at having to spend $50-$100 a month on storing and managing little projects that will probably never make any money because they will probably never be finished.
I will continue to use github to connect with clients and their code as it is by far the most popular service out there but for all those little projects I have been looking for a cheaper solution.
I have two basic requirements
- Distributed Source Control
- Issue Tracking
Source Control
BitBucket
First I am looking at bitbucket. Bitbucket now supports git as well as mecurial and charges by the number of users rather than the number of repositories which for a 2 man company like mamooba (Mamooba is the limited comapny that acts as a holding company for all my consulting and developing work and iDeveloper TV) is ideal. It has a nice interface and as far as git in concerned works in the same way as github. Bitbuket is free for up to 5 users which seems really generous.
Kiln
I am also looking at kiln from the folks at fogcreek. Kiln is based on Mercurial rather than git which I am a little uncertain about but know it’s close enough to git to not be a problem and used by enough people to proabably not go away. As these are all my own experimential projects interacting with others is not a big issue. Like bitbucket fogcreek charge by the user (A lot per user at $25 per month per user) but offer an unlimited 2 user account for free.
Issue Tracking
Having issue tracking for my own little projects might sounds a little over the top but in fact is incredibly useful. These are projects I work on in my spare time of which I have very little. However I will very often have an idea for one of them and being able to quickly add an issue/feature so that when I come back to the project possibly months later having all my thoughts right in front of me is really helpful.
BitBucket
I didn’t initially think that bitbucket supported issue tracking until I was told the other day that it does but you have to turn it on. As I didn’t know tit was there I haven’t actually tried it and have no idea if is any good or not
Kiln
Kiln is from fogcreek the makers of FogBugz an incredibly well known bug and issue tracking system. The free two user Kiln account also comes with a fully integrated FobBugz account. Now I know that FogBugz is probably massive overkill for my requirements but it does have the advantage that should I not get on with Kiln it can integrate into other DVCS systems so I could keep my issues tracker while changing my source control system.
Conclusion
I decided I wasn’t going to spend months trying systems I was just going to have a play , pick one and give it go on the basis that I believe (Possibly wrongly) that moving to an alternative at a later date will not be a huge issue.
I have suprised myself. I am going to start by trying out Kiln/Fogbugz. These are systems designed for hundreds of users and far larger than I will need. It also means I will be trying mercurial which also suprises me as I am a big git fan. It’s too early to tell if this is a move of genius or madness but feel quite confortable with my trial and will try and keep you posted on how it’s going.