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.

Summary

Introduction

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.*/*

Google Trends

First, let's see the interest of each platform on Google Trends during the last five years :

Trends

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

1. Github

Github image

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.

Numbers

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.

Some Facts

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.

Pros

  • 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, ...)

  • Github pages.

  • Security notifications.

  • Dependency analysis.

Cons

  • 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 πŸ˜‡.

2. Gitlab

Gitlab image

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, ...)

Numbers

No information ?

Pros

  • 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 πŸ˜‚.

Cons

  • 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)

3. BitBucket

Bitbucket image

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) my hero

Numbers

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.

Pros

  • 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.

Cons

  • Very small community compared to Github.

  • Sometimes seems buggy or unresponding.

  • Not intuitive.

  • 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 with 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 :

Conclusion

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 πŸ˜‡πŸ˜)

{% twitter 1212508100114169856 %}