This post covers 4 free GitHub alternatives to host private projects. In the following post, I will talk about some free GitHub alternatives that you can try in 2018. Most of the following websites offers same features same as GitHub for free and thus can replace GitHub easily. Following websites cover features like Git version controlling system, private repositories, public repositories, issue tracking, pull requests, create branches, commits, creating organizations, exploring other repositories and some more. You can create a free account on these websites and start creating your repository and some of them even allow you to fetch a repo from GitHub as well.
Microsoft recently acquired GitHub for 7.5 Billions and now the developers are looking for cheaper options for moving from GitHub. Specially, if you have an organization created on Github, then you can move to the other cheaper alternatives with similar set of features. And I will talk about 4 of them in the following post.
4 Free Alternatives to GitHub to Host Private Projects:
GitLab in my opinion is the best free alternative to GitHub right now. You will find almost all the features of GitHub here along with some additional ones too. Before Microsoft acquired GitHub, it used to be a paid service but as soon as Microsoft bought GitHub, GitLab introduced a free plan for open source projects with similar set of features. And this is the biggest reason that a lot of people are approaching GitLab right now. In the free plan of GitLab, you can spend 2,000 CI pipeline minutes per group per month and create unlimited private projects. And the best part is that GitLab is a self-hosted service too and you can host it privately on your own server as well. Below is the list of all of its interesting set of features.
- Unlimited Projects: GitLab allows you to create unlimited projects and host them. You can host public as well as private projects easily. You can create unlimited files from the web interface or command line.
- Unlimited collaborators: Apart from unlimited projects, there can be unlimited collaborators as well. You can work with intelligent collaborators on a specific project easily.
- Issue Boards: Issue boards helps you to manage different tasks while you are working on a project. It allows you to create a custom issue board and you can easily add list of tasks there.
- Wikis: Just like GitHub, here it allows you to create a beautiful documentation of your projects. And while creating a Wiki for your project, you can use rich text formatting or markdown syntax which is popular these days.
- Merge Requests: It is same as the native pull requests on GitHub. If your project is public, then people can contribute to your code and you can merge that in the master branch of your project after reviewing it.
- Issue Tracker: GitLab is equipped with a nice issue tracker. You can receive issues about your repositories and create other repositories as well. You can see the list of all issues and even add labels to them.
- Supports of Snippets: Snippets in GitHub are called Gists but in GitLab, it simply call it “Snippets”. Just like the repositories, you can create code snippets and share them. Also, while creating a snippet, you can mark it as private or public.
These are the main features of GitLab that I am sure you will like. You will get all these in the free plan of GitLab. So, no matter if you choose the hosted or self hosted version of GitLab, you will be easily able to manage it. The main interface of the repositories is similar to GitHub and you can easily clone it from the command line. However for using the command line, you will have to generate SSH keys for you.
BitBucket by Atlassian was already a good alternative to GitHub as it is cheap for teams. And thus I am listing it here in this post. There are a lot of features of GitHub are in BitBucket that makes it one of the best alternatives. And there are some other features well that will help you and your team. It offers a code explorer that you can use to look for the public repositories that are hosted by others. You can see them and even contribute to them. In the free plan of BitBucket, you will get all the main feature of GitHub plus cheap rates if have a team with you.
If you have a team of 10 people, then GitHub charges you around $250 per month and while on BitBucket, you just have to spend only $50 for the same. And in the free version, you can have a team of 5 people. And you can see the main features of BitBucket below.
- Unlimited Projects: The very first main feature of BitBucket is that you can create unlimited projects. And you can explicitly mark them as private or public as well.
- JIRA Integration: If you know about JIRA then there is no need for me to explain about this. BitBucket comes equipped with JIRA that helps you track bugs and issues in your software projects in an efficient manner. You will find that in your dashboard easily.
- Trello Integration: BitBucket supports Trello integration. Here you can connect to your Trello account and then manage all your tasks collaboratively in an easy way. It really helps in tracking the development cycle of a specific project. There is a seperate section for Trello in “Boards”. You can configure it from there.
- Branches and Pull Request: Just like GitHub, here you can also create different branches in your project. Also, you can manage the pull requests and track them. You are allowed to commit to any branch just like GitHub.
- Downloading repositories: Just like GitHub, Bitbucket offers an explicit option to download a repository. You can download any public repository or yours as a ZIP file in one click. Though, you can also use the cloning method to do the same using the command line.
These are the main features of BitBucket and I hope you will like them. However, the biggest advantage is that it is very cheap as compared to GitHub. So, no matter if you want to use it for hosting open source projects or a team based project, you can use it easily. The built-in integration of Trello and JIRA is really amazing and it will make the development work more efficient.
Sourceforge is probably the common term every techie has heard of. It is quite old as well and there is a long list of open source projects already in it. Apart from hosting open source projects, it also lets you host various Linux distros as well. It supports Git, SVN, Hg like version controlling systems and there are other advantages of it as well. You can create and register unlimited repositories and host them as well. It also provides a web page for hosting a dedicated page about your project in its own subdomain. One of the biggest advantage that I see of Sourceforge is that it offers a Discussion Forum about a project where you can openly create long discussion about a topic. This feature is missing in all the websites that I have listed in this post.
- Unlimited Projects hosting: Just like all the websites that I have listed so far, you can use it in the same way. You can create unlimited repositories and then add files in them. While creating a repository, you can set user permissions. If you want to create a private repository then simply revoke access to it by everyone. Also, if you only want to hide the repository from anonymous users, then you can do that.
- Discussion Forum: Sourceforge offers a discussion forum where you can discuss about a specific project in a thread with multiple people.
- Import code from GitHub: One nice feature of Sourceforge is that it has given an option in the admin panel to grab a repository directly from GitHub. You just have to specify its URL and it will get you the repository in a few seconds.
- Code review: Sourceforge allows code reviews. Means anyone can look in to your code and write a review about in comments like threaded manner. Along with the reviews, users can also give rating to your projects.
- Bug tracking: Just like the issue tracker in the above websites, Sourceforge offers a bug tracker. You can use it to track the status of the latest bugs and check whether they are fixed or not.
Sourceforge has already been through a malware attack but now its safe to use. However, the only big limitation that I see here after comparing it to GitHub that the collaboration is not possible in it. You will have to manually change the code every time someone suggest some fixes. But it is good for small projects hosting and I really liked the fact that it supports multiple version controlling systems.
NotABug is the last free free GitHub alternative that you can consider. It offers similar features to GitHub but they are very few. The user interface of this website is simple and quite similar to GitHub. You can simply create an account on the website and then you can start creating repositories. You can create unlimited repositories here and even make them public or private. Here it offers a repositories explorer that you can use to discover new and older repositories by others by simply searching them on the website. It only uses GIT as a version controlling system, however, you will have to manually create project files here. It doesn’t offer an online editor to create the project files on its main website. You will have to use GIT command line to push files from your computer to the website.
In addition to the repository creation, this website offers you an issue tracker and handling pull requests. You can merge the branches after someone reviews your code and suggests some changes in it. You just have to create a free account on the website by using your email address. After that, generate the SSH keys for you and then start using GIT command line to create, push files. The website can also be browsed anonymously and you can browse through other repositories and do whatever you want. All in all, if you want a minimal alternative to GitHub, then you can consider NotAbug. Here you will find some features of GitHub that you may like and on a simple distraction free interface.
These are the best free GitHub alternatives that I have found. You can use any website from the above list and start migrating your projects from GitHub. Some of these websites offer really fantastic features that are still missing in GitHub. Also, if you want to consider the pricing factor then still some of the above websites can be a good alternative to GitHub. If you know of some other GitHub alternative out there then you can tell me.