Software creation is a massive business. Some of the most successful companies in today’s economy are built upon binary code. New reiterations and versions of these companies virtual platforms and products consist of hundreds of thousands (to millions) lines of code, thousands of man hours, and millions of dollars worth of protected IP. This new code is the life blood of any technology company, the next step in their evolution. All of this incredibly valuable new code sits in what is known in the development space as a Code Repository. This platform is responsible for holding and managing all existing and new additions to the software code. While there are a number of code repositories out there, the industry is skewed very heavily towards two products, GitHub and BitBucket. If you are working for a medium to enterprise sized organization, it is a good chance you are using one of the two.
At this current moment, what repository does your team use for version control? If you did not answer BitBucket, you might want to consider switching over your code. The two largest hosting services for source code and development projects on the web are GitHub and Bitbucket, holding around 52% and 11% of the market share respectively. As you can expect, each have their strong points and their weaker points. The platforms share a number of features that are necessary for modern development teams; from Pull Requests, to third party integrations, to inline editing and issue tracking.
While GitHub is widely known, and has more than 20 million users compared to Bitbucket’s 6 million, there are definite downsides to using it as opposed to utilizing Bitbucket. As it stands, the public repositories for GitHub are free which obviously contributes to its major popularity and impeccable market share, especially within the open source community. However, if we consider what is being kept in these free repositories you might start to reconsider. Literally millions of dollars of code sit on GitHub with no contractual (payment) in place. If code is lost, GH is hacked, or their website goes down there is little reprisal users can actually take to recoup losses. GitHub is known for their customer service but none of that matters in the case of a catastrophic issue. This is why, for development teams, Bitbucket is going to be a better option for a few reasons.
BitBucket gives you more flexibility in terms of storing, branching, and managing your code. Branch permissions in Bitbucket give you control over who can write or merge to specific branches. This way only the right people on your team can make the right changes. If and when something in your repository does change, different views in Bitbucket helps you better understand what those changes are and where they were made. Continuous integration and delivery is also built into Bitbucket, so there is no need to manually set up and manage users, repositories, and servers.
With regards to storage, in GitHub you need to pay for a private repository if you do not want a public repository. Bitbucket offers free unlimited private repositories with all of its versions. The free plan for both GitHub and Bitbucket is targeted at smaller teams and solo users, so in Bitbucket you get unlimited private repositories but are capped at five users, while in GitHub you get unlimited users but no private repositories. Essentially, the pricing is much better for Bitbucket if you want to keep your code private.
In the same line as keeping code private, many repositories migrated over to Bitbucket from GitHub following Microsoft’s recent acquisition of the platform. Some are worried about how the transition will affect many of the aspects users have cherished.
Managing your team and your code is also much easier using Bitbucket. Unlike GitHub, Bitbucket allows you to choose between Git and Mercurial. Branch permissions in Bitbucket also give you control over who can write or merge to specific branches. This way only the right people can make the right changes. Bitbucket’s semantic search software is also smarter, it crawls your syntax to find definitions that match the query, rather than just variable names. Bitbucket also has direct integration with Bamboo, Jira, Crucible and Jenkins as well as supports external authentication with GitHub, Facebook, Twitter and Google. Furthermore, Bitbucket supports Git Large File Storage (LFS) which means shorter clone and fetch times for those working with large files.
While GitHub may have a larger community from its open source popularity, the recent Microsoft acquisition shakes GitHub’s popularity among individual developers. Bitbucket is more enterprise feasible with its unlimited repositories, and is the only hosting option for Mercurial users. If you are looking to make a change and implement Atlassian platforms to increase your Agile capabilities, please reach out to Clovity us at firstname.lastname@example.org. We are certified Atlassian Solution Partners and can assist you throughout the whole journey.