Nowadays, there are a lot of source code hosting services to choose from — all having their pros and cons. The challenge, however, is to pick the one that will fit your needs best because the price is not the only factor that should be considered.
In this article, we’ll take a look at the key features of the most popular source code hosting facilities to help you make a wise decision. But first let’s take a brief look at what source code hosting service is because, as we see, there are some confusion about this term.
What is a source-code Hosting Service?
In short, source code hosting services or simply source code managers (SCM) are the services for projects that use different version-control systems (VCS). The latter ones are also sometimes referred to as “version control tools”.
Basically, a VCS is software and, in general, its main task is to allow programmers to track the revisions of a code in course of software development. Such revisions may be shared among all the team members so everyone can see who made a particular change and when. The list of the most popular version control tools includes Git, Mercurial, and Subversion.
At the same time, a source code manager is not software, it’s service. To put it more simply, it’s a space to upload copies of source code repositories (i.e. storage location for one project). Unlike version control systems which are just command lines, source code hosting service provides a graphical interface.
Without a source code manager, the work on a software development project would be difficult if possible at all.
The choice of SCM is not accidental. Because if you ever ask someone what is a source code hosting service, Github will probably be the first thing they’ll start talking about. And it’s no wonder: it is ranked No.38, according to the Moz’s list of the top 500 websites.
Here are the key benefits of GitHub:
- free for open-source projects
- contains wiki, a platform for sharing hosting documentation
- has an integrated issues tracking system
- makes it possible to receive and issue contributions to projects
- has a well-developed help section with guides and articles
- has gists, a service for turning files into git repositories
- has GitHub pages that host static websites
- allows for convenient code review (in-context comments, review requests etc.)
- has embedded project management features (task boards, milestones etc.)
- offers team management tools (integration with Asana)
The above list contains only the most essential advantages of GitHub for you to understand why this source code hosting service is so popular among programmers. Yet, there is a risk that the great era of GitHub will soon come to its end. In October 2018, it was acquired by Microsoft and this raised some concerns among developers. But we’ll see.
- free – for open-source projects
- $7 per month – for individual developers
- $9 per user/month – for teams
- $21 per user/month – for businesses (either business cloud or installed on a server)
GitLab is also one of the handiest source code hosting services. As of today, it has fewer users than GitHub but does its best to conquer developers’ hearts. If you’ve ever used each of these host platforms for code repositories, you might have noticed that GitLab looks and feels like GitHub in many aspects. Yet, it also has some features the latter is lacking, so we may not say that GitLab significantly lags behind it in terms of functionality.
Speaking about main GitLab advantages, they are the following:
- an open-source software
- can be installed on your server
- contains wiki and issue tracking functionality
- has a user-friendly interface
- has integrated CI/CD
- comes with a deployment platform (Kubernetes)
- allows for exporting projects to other systems
- convenient for Scrum teams since it provides burndown charts as a part of milestones and allows teams to manage issues using Agile practices
- has time-tracking features
It’s worth mentioning that GitLab also offers a convenient and easy migration from GitHub. So if you’re among those who feel uncomfortable about Microsoft’s acquisition of GitHub, GitLab would be the best option for you.
- Free – for open-source projects, private projects
- $4 per user/month – Bronze plan
- $19 per user/month – Silver plan
- $99 per user/month – Gold plan
BitBucket is also a widely-used source code management tool and it’s a common second choice of many programmers (after GitHub). There are currently two versions of BitBucket: a cloud version hosted by Atlassian and a server version.
The main benefits of BitBucket are:
- free private source code repositories (up to 5 users)
- supports both Git and Mercurial (unlike GitHub and GitLab that can host only Git projects)
- integrates with Jira and other popular Atlassian tools
- allows for convenient code review (inline comments, pull requests)
- advanced semantic search
- supports Git Large File Storage (LFS)
- has integrated CI/CD, wikis and issue tracking (only cloud versions)
- offers team management tools (embedded Trello boards)
On top of this, BitBucket allows for external authentication with Facebook, Google and Twitter which makes this source code hosting service even more convenient for developers. It’s not as similar to GitHub as GitLab, but you can also easily migrate from GitHub to BitBucket.
- Free – for small teams (up to 5 users)
- $2 per user/month – for growing teams (starts at $10)
- $5 per user/month – for large teams (starts at $25)
SourceForge is one of the most well-known free host platforms for code repositories. It works only for open-source software development projects, but we could not ignore it in this article because SourceForge was of the first tools of this kind. Actually, before GitHub was even “born”, SourceForge already topped the market.
Why you may want to choose SourceForge for your project? Well, here are its main strengths:
- free for open-source projects
- supports Git, Mercurial, and Subversion
- offers the issue tracking functionality
- offers an easy download of project packages
- allows for hosting of both — static and dynamic pages
- Has a huge directory of open-source projects
- does not restrict the number of individual projects
The main downside of SourceForge is that it’s not very flexible and can be used only for open-source projects. So when it comes to the private app or web development, this source code manager is usually not even on the list.
Prices: the service is Free.
In this source code management tools comparison, we outlined most widely used or promising services. Of course, there are a lot of other similar solutions which you may also consider for your app or web development project. But if you don’t have time for deep research, as professional software developers, we may recommend Github or Gitlab vs Git. These platforms are considered the best code hosting services since they are quite versatile and can satisfy a wide range of programming needs.