Choosing different IT services is like choosing a car. Apparently, all cars have four wheels, an engine, and they can be driven. But in the end, differences are much bigger, and the final choice depends on many factors. Of course, we always take into account the price, but not only. First of all, the choice depends on the purpose and usability. After all, we will not take a sports car to drive on muddy forest roads. Personal preferences and habits also matter. If two cars are very similar to each other, and we used to drive one of them and it suited us, then we will probably choose what we know. Could choosing a Git hosting service be any different then? Let’s find out.
Short intro or what a hosting service is
Let’s start by explaining what a hosting service is. Well, this is a fairly broad concept that covers various types of software, infrastructure, or all kinds of web services. “Hosting” here means that as users we do not have to worry about the server, availability, etc. It is the Host that makes sure that we – as users – have access to what is offered to us. Let’s have a look at Wikipedia:
“A web hosting service is a type of Internet hosting service that hosts websites for clients, i.e. it offers the facilities required for them to create and maintain a site and makes it accessible on the World Wide Web”
Like everything else, it has its pros and cons. A definite plus is the lack of the need to create your own infrastructure, taking care of safety and operating time. What I mean here is how quickly we can move from an idea to its implementation.
On the downside, of course, there is the cost (although you can discuss here – after all, own infrastructure also costs money), and above all, dependence on a given service provider.
Now let’s move on – how is Git different from GitHub, GitLab, or any other Git repository hosting services?
The question seems trivial, but it turns out that it is not. And this is not a mere guess, just have a look at this thread on StackOverflow.
Okay, maybe it’s an old thread (late 2012), but it’s been viewed 357k times so far! As of today, this gives us an average of around 122 views per day. Moving on, popular videos on youtube.com, answering the same question, have tens of thousands of views. If the question was trivial, the topic would not be of much interest.
Well, as part of the answer, I refer to the above-mentioned thread, but in short, the difference is quite simple:
- Git is a version control system, a tool or engine that anyone can download to their device. It’s a free and very fast VCS.
- GitHub/GitLab etc. – hosting services, allow you to host projects that use Git. They have all the functions of the Git engine and various other additional features.
Okay, we’ve got the basics down, but now you can ask yourself – “which one is the best Git hosting service?”. Of course, there is no definite answer here as it all depends on the given context. The context of our needs and our organization in relation to what various services offer us. Let’s analyze the most popular ones.
The number one, at least in terms of popularity, is definitely GitHub – the most famous web-based Git repository hosting service. Officially over 70 million users are registered there. This is not a coincidence as GitHub provides many useful features and is in many cases free, e.g. for open-source projects. Speaking of which, this platform is very friendly to this type of projects, not only because of the price. Code review and other collaboration features work great here. Tools for handling issues or internal wiki are also very important and easy to use in this case. There is a reason why such popular projects as Ruby on Rails or jQuery are hosted here.
GitHub strongly supports not only the development of open-source projects but also students and teachers and nonprofit organizations. This is another factor for its popularity because many novice programmers turn to GitHub while still learning.
Git improved your software development process? Do the next step and secure your code with the first professional GitHub, Bitbucket, and GitLab backup.
Or maybe GitLab?
Another very popular website is GitLab. The difference is quite big, because we have about 30 million users here, but it does not change the fact that it is the second most popular Git hosting service. In terms of basic functionality, it is very similar to its main competitor, so I will not repeat myself here. However, the differences do exist, of course, and are not only cosmetic. Let me quote a note from the GitLab project repository (yes – GitLab is an open-source project):
“GitLab is an open-source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider.”
As you can see, we have two basic features here that may encourage us to use this provider – CI/CD tools and the possibility to self-host GitLab on our own Git servers.
GitLab is losing the “war” for open-source projects with GitHub, but it has long been aiming for their platform to be a comprehensive end-to-end solution, and in this aspect, they seem to have an advantage. In December 2020 GitLab ran around 256 million builds, at the same time on GitHub it was around 70 million. GitLab claims that they have achieved this level at the end of 2018, so it looks like they are a few years ahead. On the other hand, the CI/CD tool was added to GitLab 5 years earlier than GitHub Actions, enabling a similar operation. We will see what the future holds and who will win the fight in this field.
Atlassian and Bitbucket
Another big player in the Git hosting services market is the industry giant Atlassian with its Bitbucket, which has over 10 million registered users. Of course, we have basic functionalities for cooperation here, such as support for the pull request and code review, issues, wikis, many add-ons, and of course it is cloud-based. In terms of payments, we have here, just like in competing companies, paid and free plans, depending on our needs. There is a big difference at the user interface level. When using GitHub and GitLab, we feel a bit similar and we will easily find ourselves in a new environment, knowing one of them. This is not the case with Bitbucket. Even I sometimes get lost in this UI. It’s not that it is illegible, on the contrary, it is just different from the above services that I was familiar with before. This is a very individual matter but for sure it is a difference.
However, a huge advantage of this tool is who its creator is. Or rather, what other tools we might have in the package. Jira, Trello, Crucible, Bamboo, Confluence, and Git hosting service – Bitbucket. It all integrates very easily with each other. When we create a new task in Jira – here you go, we can immediately create a dedicated branch in the repository. Code written we upload a solution, Bamboo is just waiting for it, it automatically creates a new build. Of course, the mentioned task in Jira already knows about it and displays information about the status of this build. Such an integrated environment can be a huge advantage and significantly accelerate the efficiency of work in our team.
The big benefit of Bitbucket is also access to the Atlassian Marketplace. This is a big advantage if you want to use third-party apps. Of course, competing websites also have this type of marketplace, but the scale of integration available for Bitbucket is unbeatable.
In fact, the web-based Git hosting services described above are the most popular, most powerful, and far ahead of any other collaboration tool. But still, it’s worth exploring the alternatives. And these aren’t quite anonymous after all.
- Launchpad – besides Git repository hosting, it offers basic functions such as code reviews, issue tracking, and mailing lists. It’s hosting about 25k Git repositories, including Ubuntu or Inkspace. Currently, about 6.8 million users are registered there.
- SourceForge – a hosting site, which also allows collaboration with Git or SVN projects. Focuses on helping open-source projects development, hosts about 502k projects.
- CodeBase – not very popular, but an interesting tool addressed to software teams. Offers Git hosting and project management tools at once. Among the features, there are tickets, time tracking, sprints & milestones, or notebooks, which work like wikis. Unfortunately, there is no free plan here, on the other hand, the prices are quite low and a 15-day free trial is possible.
- AWS CodeCommit – currently AWS offers probably everything we can think of, including Git repository hosting. There are features that are characteristic of other AWS services, like security and scalability. It only offers private repos and it’s free for up to 5 active users. On the other hand, every additional one costs only $1 per month.
- Azure DevOps – offers code hosting, CI/CD, and planning tool. It’s a platform for any development stack and is addressed to business users rather than private ones. Fun fact – despite having such a platform, most open-source projects from Microsoft are hosted on GitHub. If you want to know why check this post – GitHub vs. Azure Repos: what are the differences?
Pricing and plans
Of course, we should always weigh the pros and cons from all angles. But at the end of the day, it is money that counts in business. Let’s compare the different plans and their prices among the top 3 Git hosting services:
|pricing||free||free||free (up to 5 users)|
|$4 / user / month||$19 / user / month||$3 / user / month|
|$21 / user / month||$99 / user / month||$6 / user / month|
|CI/CD||2000 min / month3000 min / month50 000 min / month||400 min / month10 000 min / month50 000 min / month||50 min / month2 500 min / month3 500 min / month|
|LDAP/SSO||only Enterprise plan||all plans||separate |
|marketplace||unlimited||unlimited, but very small||unlimited Atlassian Marketplace|
|focus||open-source projects||e2e solutions||e2e with the integration of other Atlassian products|
Statistics and trends
I have not found any research or data directly comparing various aspects and popularity of these websites. However, I mentioned the number of registered users above, GitHub has more than twice as many as GitLab, which in turn has about three times as many as Bitbucket. As for the Git VCS itself, certainly, Git repository hosting services can rest easy. According to a Stack Overflow survey from 2021, 94% of professional programmers use Git (87% in 2018), of which 85% are satisfied with this fact. Less than 83% of respondents use GitHub, and “only” 37% use GitLab. Unfortunately, I did not come across any research that would say anything about trends, but if I were to choose what awaits us in the future, I would bet on the increase in the popularity of CI/CD solutions on GitHub and the increase in the popularity of AWS CodeCommit, if Amazon would like to promote this service.
2022 Git Hosting Service – a summary
So now the conclusion – what is the best Git hosting service? You need to carefully consider your own needs and the context in which your business is located. If you are interested in open-source projects, you should take a closer look at the GitHub platform. Or maybe you want a stable e2e platform for commercial purposes? Then GitLab may turn out to be a more interesting choice. Also, consider the other tools and technologies you use. If you are experienced in this field and you already use tools from Atlassian, then Bitbucket may be right for your team. Or dive completely into the scalable world of AWS, perhaps this will be the best solution for you. For free Git hosting for educational purposes, the top 3 platforms would be the best choice.
Whichever Git providers you choose, no matter how secure they are, remember about backups and restoration plans. We should always keep it in mind, regardless of the technology chosen. Tools like GitProtect may be helpful. Currently, GitHub and Bitbucket marketplaces allow this solution, which could also be a factor in favor of these platforms.
On the topic of security, I also recommend that you read this article: Why backup GitHub, GitLab, or Bitbucket – the risk of data loss. It can save you a lot of potential trouble in the future.