If you found your way here Googling Github vs. Bitbucket instead of Bitbucket vs. Github, I forgive you. It was my natural instinct to type it up like that as well. Maybe I had some SEO tactics in my mind as well when I came up with this title. Anyway, if you came here to find out about yet another comparison between both services, you are at the wrong place. Some people have very strong opinions about this. Most points are moot I think, encounting the fact that Github itself releases their code to the people, and I have a good guess they don't just to that so you can admire their indenting styles. I have to warn you in advance, i copied a lot of titles from R E W O R K, on purpose.
Everyone copies everyone(ssssshht, I myself nicked the cowboys image there). Sharing knowledge depends on that. I'm just here to say I like BitBucket a lot. This is a totally biased post, in fact I still use them both but as so many people are saying, I put my own private code at Bitbucket, since I get free private repos there. I'm not earning a single Euro with that work, and I want to keep it offsite somewhere private and safe.
Underdo your competition
I don't believe they are fishing in the same pond either, Bitbucket looks more commercial, which is fine with me. Github is more social, that's a fact. But nothing keeps Bitbucket from becoming more social. They have a very nice product line. They seem to realize that small companies who don't want to shell out -yet another- small amount for another single service somewhere have a tight budget. This gives space to grow, becoming larger and establishing a long term relationship with them. If that is the whole idea behind it, I'm all for it.
To illustrate, an average software company who's into outsourcing instead of putting up their own servers would need:
- A support portal (e.g.FogBugz)
- Project tools (e.g. a Trac alike service somewhere)
- A CRM (e.g. Sugar CRM)
- File service (Google drive)
- Source code repository (Github, Bitbucket)
- Your own website
- Your Email
- .... and so on
I could just go on and on mentioning every service we all know we use everyday, the point is that if you need to shell out just a few euro/dollars per month on each service, you eventually spend much more than the most basic Linode VPS who will do this all if you aren't too big and choose the correct software. All it takes is someone to configure/set it up once. You select a backup plan for 'a few dollars', ironically Now you have piece of mind. Either that or put it all on Google Apps. Which would turn my stomach around thinking I would have to hand it all over to them...
Who cares what they're doing?
So why is this relevant, I think someone at Bitbucket must have thought about this and realised, even if it's a small price, it is yet another cost per month. They stack up. I'm not claiming that a VPS is better or that you should do what I explained here above. It's just a matter of doing the PRO/CONTRA thing.
As I said, this is just an opinion. My personal feelings on both services is that I actually really like Bitbucket, they still need to document more, Github has a lot of docs about using their service. Some suggested git commands didn't work right away, which can be confusing for beginners. One big difference between them is that Github only does Git. I moved 2 repos to Bitbucket, and they work well. I expect nothing more.
I have a few problems with GitHub. When free users and all those useless forks out there grind the service to a halt, paying users get their share of the outage. (Try forking Nominatim, that thing is huge, I forked it, just to analyse their updated code since 2 years against my own local patches, send back a fix or 2). Countless of people are saying this, just Google it, don't believe me like that.
Decommoditize your product
Another problem I have is the whole, you copied me, evil you attitude. It sounds soooo evil when not being used in the same sentence along with open source. Go read REWORK and stop feeling bad, learn how to train yourself to not look at the competition and keep doing what you do best. I really doesn't bother me. I find both a basic site, and Github has a relatively nice interface, why would Bitbucket make something entirely different? To hassle their users ? Why does almost every webmail client look basically the same with some juicy CSS mojo? Because they are built around the same service AND people expect them to be function more or less in the same manner.
Take a deep breath
Now in general I noticed the following strategy coming up from users:
"I use Github for my public repos, and Bitbucket for my own small private projects". I think that is a clear signal. That I read almost everywhere in the comments sections of a Github VS. Bitbucket post.
But the biggest thing I hate about Github is that their search functionality sucks like hell. I can find a single variable in some source code line but I cannot find my own repos back using their search. It's probably at page 2967 in the results set. Well that's because you give result priority to what's in the code, rather than whats in the README.* file(s).
Try finding my repo using "reverse geocoding" knowing it's written in PHP. It will be 'everything' or 'repositories' and I cannot find it within 15 minutes. Those are the first 2 words in my README.md file. So yea, I think their search engine sucks. To be fair, I can't find it back at Bitbucket either but I only checked it in for an hour when I tried it, maybe an indexer needs to roll over it first. I'll try again though.
Another bad idea is to show popular repos first. Now let me fill you in on a secret: nobody goes to look for a popular repo on github. They already know it's there and it's probably hyperlinked thousands of times on the web. You find that back with a search engine. The reason I want a decent search functionality, is for the unpopular little tool I won't have to write myself later on, but given a fork I can build upon work of others. I do NOT want to know what's popular, I want to know what repo matches my keywords the closest. If I can't find it in the first place, there is not much community left out there.
Out-teach your competition
Remember the days that when you wanted some small piece of software, you either went to freshmeat.net or sourceforge.net ? You just slammed in your Nokia type number and you discovered how many packages could be used for a potential SMS daemon. Just an example to say, a good search function is essential to a good service like this. Github is a search mess.
And still, I'm a fan of both. They live next to each other, on the first 2 screens that pop open when I start Chrome. It's truly Ironic that the ones claiming to be open source minded have a .com domain and the ones that are more commercial use the .org one. Nothing seems to beat free.