GitHub and BitBucket (2011)
pocoo.org
pocoo.org
I'm also not sure that I buy the main premise of the article, that GitHub's and BitBucket's "communities" warrant comparison. Of course they don't.
GitHub's pricing model offers you open collaboration for free, and charges you for private repos. Thus it is ideal for open source development, and open community.
BitBucket's pricing model offers you unlimited private repos for free, but charges you by the number of collaborators. It also integrates well with JIRA, a very popular task/bug tracking system in small to midsize shops. In sum, it's not really trying to be an open source "community"... it's trying to compete for the in-house business of small to midsize shops.
If you're trying to draw collaborators to your open source project, then BitBucket is a poor host. Likewise, if your company has one or two dozen developers and a large number of repos, then GitHub makes no sense as a paid host.
All of my personal projects are on GitHub, and my company is all on BitBucket. I'm not so much interested in their "innovation vs. creative bankruptcy" as I am in the choices they've made with structuring their pricing models.
That all being said, I still use Github for OS projects for visibility, I just don't accept pull requests, and Bitbucket for private projects because of unlimited free private repos. And I find them both useful, just not groundbraeking.
Back in SVN days I also used to be quite fond of Google Code as it is was much cleaner and simpler than Github to my eyes (bearing in mind that a lot of Git terminology was unfamiliar to me back then).
But once I learnt enough Git to get by, I started to love Github.
My standard workflow when I need to use a 3rd party app for a project is:
1. Find the original repo on Github, 2. Browse the network to see if any of the forks are more actively maintained or have enough additions to be worth considering pulling from. 3. Fork the best fork to my own account. 4. Make the changes I need and issue pull requests if I think upstream would be interested.
I've never learnt how to use patch sets. If someone sends me a pull request, it's 2 clicks to merge it. I'm sure patch sets aren't terribly hard but I can't see how they'd be easier than that.
It's a few clicks if all you want is just to _blindly_ accept and merge it, without having it on your own computer before merging and being able to compile it, run a test suite, or perform some non trivial modifications to patch.
For this purpose, to me is much easier to just apply the patch set in my local tree, or add a new remote and checkout branch then to deal with github pull request.
(and slightly more sadly) What is this 'test suite' of which you speak? :-(
But as for you, I'm a bit confused as to what you really want. You say issues are unusable, which I can only assume is because they do not have the extensive feature set of proper bug tracking systems, but then you also say that pull requests are too much work. GitHub is clearly trying to do for programmers a bit of the 80/20 thing that Apple does for consumers, or what 37signals did for project management—give simplified tools and workflows that are easy to learn and use even if they aren't suitable for all use cases. If you're a long-term *nix hacker with a keyboard fetish then I can see how it might not seem that novel or useful, but for new developers coming up without the baggage, GitHub is bringing tremendous value, as demonstrated by the surging user uptake.
We love open source and want to contribute back. Since most people are on github and not on bitbucket we open source our stuff on github. Just to make it easier for the community.
The missing/invisible bitbucket community is certainly a big thing... :(
The public-or-pay on github effectively forces one to pay for starting a project. Starting a project should be free, easy and obvious. Github satisfies none of those.
I don't agree that this is the main difference between github and bitbucket though. I would argue bitbucket is support for their other services (basecamp and whatnot), and team-based development is what you pay for.
Github's features seem directly oriented to make github's administrator's jobs easier. Anything that is a bit of a problem, or doesn't fit in the original design doesn't get made at all or gets cut (ie. file attachments, project downloads). And "darling" features, like the network graph, that are unusable due to speed and bad UI get pushed into the spotlight, despite that.
The public-or-pay on github effectively forces one to pay for starting a project. Starting a project should be free, easy and obvious. Github satisfies none of those.
(edit: here's the apology we were thinking of http://schacon.github.io/bitbucket.html)
GH: popularity
Github is as you say popular, and has partially become a CV/resume replacement so that it is risky to not have an active account on GH. Also project discovery and sharing on the one popular site is much more likely to happen.
No-one finds my bitbucket projects unless I tell them about it. Perhaps if github extended the fork link for a project to upstream/downstream links to external sites it would get more traffic. But that would probably not be in Github's economic interest.
This is as a person, for a company there might be different scenarios of what is important. If costs are important then bitbucket is probably a better start. However after a while Stash, Github Enterprise, Gitorious, Gitlab etc will be more suitable for day-to-day hosting.
I don't think they go beyond that as they probably don't have the skillset for that, nor do they check any other code hosting sites.
But for the anonymous early filtering to get your foot in the door it makes sense to have a semi active github account until you get reviewed by/speak to a proper technical interviewer at which point that sugaring is unnecessary.
There's something to be said about having all my projects in one place, which is why everything is on GH and I'm starting to duplicate private repos to BB.
Competition is fierce in the space right now, but I'd feel better if BB was charging some tiny amount for a year of unlimited private repos (like $5 or $10). I think I'd feel much more comfortable they weren't going to retire it.
For comparison's sake it would have been fun to see screenshots of today's products next to the old ones as well.
Imagine if each email service provider re-invented the layout of mailbox !
I like BitBucket's model of unlimited private repos and charging by the number of people accessing them instead.
I've only done this because I was curious and had a slot available to waste if it did cause a problem. With the organizations that I've worked with, I've just always been added to their organization and repo and just used local copies with their GitHub repo as origin.
I personally didn't see any striking resemblance between any of the pages. Most have obvious content which needs to be displayed (seriously, this guy is complaining about the source code tree being shown the same way? SERIOUSLY? How else do you expect them to display it?).
Probably doesn't help that I enjoy the layout of BitBucket more, but this article has been the kick in the shins I needed to get off of GitHub for good. There's obviously something that BitBucket is doing correctly to warrant this amount of attention from the employees of Github, might as well jump ship before it sinks.
Github was the first VCS hosting service that took design seriously and kept clutter and bullshit off of all of these different pages (or provided them all). They were the first VCS hosting that realized the power of social interactions around code, before every app under the sun had a social timeline.