Github is awesome. I’ve used it for open source projects and with companies I’ve worked for. The pull requests, comments, gists, and tools are fantastic. So much so that I’d even go so far as to recommend large enterprises checkout Github enterprise. Despite all of this I find myself happily using Bitbucket for personal projects that aren’t open source. There are cases where using Bitbucket just makes sense for me.
Some Background
I first learned about Bitbucket when it was used solely for Mercurial hosting and Nathan Smith had moved his 960 grid over there. Git won the distributed VCS wars and 960 moved back to Github. But, I was introduced to Bitbucket.
Since that time Bitbucket added support for Git, improved the UI (though it’s not as good as Github), and was purchased by Atlassian. Atlassian purchased SourceTree and made it free. SourceTree is a Git/Mercurial/SVN Mac GUI that integrates with Github and Bitbucket nicely. Bitbucket pricing has also been made really friendly.
Why I Use Bitbucket
Not every project I do is open source, for work, or something I want to share with the world. I used to run my own git server for these projects. Sometimes I would want to collaborate with others on these projects or share links to changes with others. Yet, they still weren’t meant to be public. To make my own setups have the features I wanted was more work than I was willing to put in.
Github plans are nice for some cases. For example, a team working on a product where they just need a handful of repos. Or, for an individual collaborating with a few others on a project. But, when you get into a company doing client work and they have a lot of clients you need to have a plan for repos you aren’t actively working on. This may be an issue if you have a lot of clients you are supporting who aren’t in active development. Or, you can pay quite a bit per month. What if you are an individual who want’s to collaborate on a hobby project with 3 or 4 others on a private project? Or, you have 5 or 6 or 7 personal sites plus backup scripts and you want them in VCS.
If there were no other options I would probably recommend paying Github. But, there is competition in this space so I’m embracing it. Of the different alternatives I’ve found myself using Bitbucket and have been happy with it. For my personal private projects it’s turned out to be the alternative I’m the most happy with. Atlassian is a successful stable parent company. If you are looking for an alternative for some cases consider Bitbucket alongside Github.