Gitlab VS Github VS BitBucket. Which one deserve your time ? ⌚️👀
🎊 Happy New Year ! 🎊🎉 (I know I'm late 😂)
Here is it ! My first article of 2020, I hope this year we'll have as much fun as we had last year. And I hope it will be a year fulfilled with success and happiness for you! 😄
Funny fact. During my research, I found a comparaison of Gitlab and Github by Gitlab itself ! It made me laugh 😂. Honestly, I did'nt read it, but you can find it here.
- Google Trends
- Presentation of each platform
- Which one should you choose ?
Nowadays, nobody, uses git alone. Every developer, at some point used one of the three major hosting platforms, if not all three. The most famous of the three is Github, even if I first used Bitbucket to download Minecraft plugins when I was younger 😂.
So, first of all, I will describe each of the three platform, and tell we will try to comparate them and maybe make a thoughtful decision.
/* My sources for the history of each are highly inspired by Wikipedia, if you want to know the details, you can check the wikipedia of Github, Gitlab, or BitBucket.*/
First, let's see the interest of each platform on Google Trends during the last five years :
We can clearly see that people do a lot more research for Github on Google, it's the most popular platform, it's not surprising.
Now let's detail each of the platforms to be able to compare them correctly.
Presentation of each platform
A little bit of history :
The company Github, Inc. was founded in 2007 in San Fransisco. Github has been developed with Ruby On Rails by Scott Chacon, P. J. Hyett, Tom Preston-Werner and Chris Wanstrath.
On June 2011, ReadWriteWeb, now called ReadWrite (a Web Technology blog) announced that Github had surpassed Google Code and SourceForge in total number of commits during January to May 2011.
In 2016, Forbes was ranking Github at the 14th place in the Forbes Cloud 100 list
On February 2018, Github was victim of the second biggest DDoS (peack of incoming traffic of 1.35 terabits per sec, only 🤯!)
On June 2018, Microsoft announced that they had an agreement with Github to acquire the company for $7.5 billion ! You probably saw that the purchase was done on 26 october of 2018.
Two weeks later, the Github Education was offering free education bundles to all the schools.
Github has more than 40 million users, including 10 million who joined the platform in 2019. Github represents more than 44 million repositories created last year. And it's more than 20 million issues closed last year. Source.
First of all, it's important to note that since the acquisition of Github by Microsoft many people have moved away from Github to other platforms and most likely Gitlab or Bitbucket. The reasons are obvious, even you reading this, you probably wondered about it, didn't you?
Microsoft had surely foreseen the situation and for some time now we see Microsoft investing more and more in open source. We can mention the famous Visual Studio Code or .NET Core which became open source, ...
Let's get back to Github.
Microsoft is developing Github and adding more and more features in it. You can now have a private repository for free, ...
You have now a sort of Kanban board for your projects.
You can create private and public repositories for free.
They offers you a pack of services for free if you are a Student.
A lot of Integration possibilities. (Heroku, Google Cloud, Zendesk, ...)
Microsoft's control over the product.
Only support Git.
The Cyber security attack they faced in 2018 is scary.
They should rename Pull Request, by Merge request 😇.
Some bytes of History :
At the beginning, it was called Gitlab and it was completely free and opensource under the MIT license (I didn't know that we can change the licenses wow).
In July 2013, they decided to split the product in two different version (Gitlab CE: Community Edition && Gitlab EE: Entreprise Edition) but at that time, they were both free and on the MIT license. (We all know now that that's not the case anymore ^^)
In 2014, Gitlab announced that the EE version was now on a restricted license while the CE version will still be maintained and will remain free.
In March 2015, GitLab bought Gitorious (a Git hosting service competitor with ~820k registered users). They encouraged users to migrate to their platform and Gitorious was stopped in June 2015.
Prepare yourself this one is funny 😂😩.
In 2017, after a cyber attack, a database admin deleted the production database ! Six hours of issues and merge requests lost ! The recovery process was completely streamed on Youtube (A way to recover the costs of the recovery ? 😂)
In August 2018, Gitlab moved from Microsoft Azure to the Google Cloud Platform which caused the service to be unavailable to several countries due to restrictions by the Office of Foreign Assets Control of the United States. (Iran, Syria, North Korea, ...)
No information ?
A big advantage of Gitlab is that you can self host a Gitlab server. I already tested it once. Personally, I liked it.
CSV file export. You can export issues in CSV files to default notification email addresses as attachments.
Confidential issues. Gitlab allows you to create confidential issues that are visible only to the project member(s) with the Reporter role or above.
You can also visualize your branches with a graph, which is useful sometimes.
Gitlab is open source, so if something bothers you and you know Ruby, you can change it as long as you don't break it 😂.
You don't have that much features for free.
The "premium" offers are expensive.
Very small community compared to Github.
A lot of hidden functionalities in menus and submenus. (Complex UI)
No joke, sorry 😂 (History) :
Bitbucket was at the beginning an independent startup founded by Jesper Nøhr. (I didn't find the date)
Atlassian acquired it on September 2010. At the beginning, it was only hosting support for Mercurial projects.
In October 2011, Bitbucket announced the support of Git project hosting.
In August 2019, Bitbucket showed their plan to stop supporting Mercurial repositories in 1 June 2020. And Stop supporting Mercurial means deleting all traces of Mercurial in their API and deleting permanently all the Mercurial repositories (Public & Private).
You should check if you have something left out there. Stop reading and go check if you have something to get back. Don't be that sad database admin guy 😂😭 But come back after doing that 😇
(ed. I would just make a quick pause. I just have been saved by an AMAZING feature called an Alert Box 😂 (Love you @thepracticaldev 😘)
Here is my hero: (Yes, I'm using Brave)
Bitbucket claimed to have 10 million of users in a blog the April 17, 2019. The article say that they have ~28 million of repositories.
You can find the article here.
It's interesting to see the availability of public numbers from Github and the lack of information from Gitlab and Bitbucket.
One huge advantage of Bitbucket, is its integration with all the Atlassian services like JIRA, Confluence, Trello, ...
Bitbucket's search algorithm includes several languages, which makes it possible to classify the results. The definition of a function or variable appears at the top, then the uses. You can determine the utility of a keyword very quickly.
You have access to all the extensions available on the Atlassian marketplace.
Very small community compared to Github.
Sometimes seems buggy or unresponding.
Self hosted configuration is complex to deploy.
Which one should you choose ?
Personally, even if Microsoft bought Github, I will stay (as a person) on Github, because since the Microsoft era, I can have access to private repositories for free. I have access to a Kanban board which gives me a good point of view of my project.
At school we use a self hosted Gitlab server, and I have to say that it does the job pretty well. Of course, we don't use all the power of it but I think that each platform has its pros and cons like we saw earlier.
I'm sorry I didn't go into details, but I don't think I have enough knowledge to be able to present them to you properly (CI, pipelines, ...) I've already been confronted to these technologies in the past during previous jobs but I've never touched them personally (for now), when it will be the case, I might write something about it.
It is very difficult to choose, and it also depends on everyone's preferences. I would say that each system can coexist, especially since it is possible to import a Github project in Bitbucket and vice versa, ...
I would suggest you to try each or 2 of them and make a decision. You can also find on internet more informations to comparate by yourself.
Here is some interesting links :
- GitHub now offers free private repos for up to three collaborators – here are our thoughts -- 😂
- github vs gitlab - Slant
- Bitbucket vs Github - Upguard
What I find funny and sad at the same time about developers is that they create software that are so complicated sometimes that they have to write software to help them using the first one 😂😭. #inception
I would like to add, that I did my best to give the most objective and relevant information and I learned a lot about these platforms while preparing this article. I hope that you have learned something from this reading as well.
Let's discuss in the comments, I would love to hear your opinion and experience with those platforms 😁👌🏼
I just created a Twitter account, because I saw that a big part of the community was on Twitter. This year I want to be closer to my followers. (~3700 for now, you are AMAZING 😇😍)
Carlos Trapet3 years ago
My TL;DR opinion based on experience:
Bitbucket: absolutely trash and extremely unresponsive. Would never use professionally again.
GitLab (not self-hosted): Merge Requests and other tasks take literally ages to do (the server responds with a timeout...) and sometimes get lost. Utter trash, would never use again.
GitLab (self hosted): currently using it and it works wonderfully. I'd encourage everyone who is working in a team/professionally to go for it.
GitHub: Use it for personal projects or if your team cares about open source
Glenn Carremans3 years ago
I use both Github and Bitbucket.
Wanted to add that this might be interesting to mention in your blog post: Employees of Microsoft’s GitHub demand company cancel its contract with ICE
Younes3 years ago
Palash Bauri 👻3 years ago
I use both GitHub & GitLab. After Microsoft acquired GitHub, I host my public facing projects on GitHub and some secret out of the world projects on GitLab 😁
yokotobe3 years ago
i vote for gitlab since it has the best functions for documentation(wiki) and issue managemnt. Everything is connected, supported copy&paste to upload picture to document.
Arpit Vasani3 years ago
You got to be very bored to write a post which is this much funny !! 😂🤣 !! great job really !!
Ian Wijma3 years ago
Atlassian: creator of usefully software, with complex UI and even more complex Admin UI.
s_yasunaga3 years ago
GitLab CI is so useful so I think it should be added to Pros of GitLab.
GitLab's CI config file is easier to read and write than Circle CI's config file.
Andy Fragen3 years ago
If self hosting, another option worth looking at is Gitea.
Jakob Christensen3 years ago
I am not sure this is a bad thing. GitHub was kind of stagnant before MS took over. Lots of good things have happened to GitHub under MS, including free private repos. Nat Friedman seems legit and dedicated.
I used to like Bitbucket better than GitHub but now I am not so sure. Bitbucket is often slow and unresponsive and I never liked Jira. But I do not plan on moving my code from Bitbucket anytime soon.
Jason Reed3 years ago
I've been using Bitbucket for personal projects for a few years now and have had no serious problems. I went with them initially because GitHub didn't offer private repositories at the time. The one thing I like better with GitHub is the issue handling. It's a little more versatile than the default with Bitbucket unless you are willing to pay for JIRA.
SyntaxSeed (Sherri W)3 years ago
Totally screwed their long-term Mercurial customers. 😡
Siddharath shankar bhardwaj3 years ago
i can not see any repo in bitbucket how to get search them??
Neil Walker3 years ago
I just wanted to say 😂😂😇