GitLab is Far Superior to GitHub
Everyone should use GitLab as their primary Git service provider. We are all required to still have GitHub accounts to stay connected to the 10 million users over there and work on projects that insist on keeping GitHub. But know that GitLab is far and away the superior service. Here’s a collection of all the objective measures of GitLab’s superiority, technically, ethically, and as a business.
💡 The only reason you really need is that GitLab is open source and GitHub is not. That means you can deploy your own GitLab portal if you want at your organization or home and make contributions back to the source code. You simply cannot do that with GitHub and will never be able to.
|MIT open source license.||Proprietary closed source.|
|Full DevOps toolchain.||Depends on third-parties.|
|Private company.||Owned by Microsoft.|
|Open core business model.||Traditional closed business model.|
|100% tranparency.||Zero transparency.|
|Promotes green work-from-home.||Requires on-site.|
|Clean business history.||Multiple harrassment scandals.|
|Hosted on Google Cloud Platform.||No one knows how hosted.|
|Containerized project repos.||Repos share resources.|
|Everything is free.||Organizations and more not free.|
|Can be installed at home or on site.||Cannot be installed.|
|Accepts community contributions.||No public contributions.|
|Cleaner Vue-based user interface.||Ancient bootstrap-based design.|
|Multiple groups and subgroups.||No sub-organizations.|
|800,000 users (2019)||10 million users (2019)|
|Agile progressive architecture.||Massive technical debt.|
|New repos pushed with
||Repos must be created using web.|
|Push and pull full repo mirrors.||No mirroring whatsoever.|
|Groups and projects get icons.||No icons except for users.|
|Powerful WebIDE.||Broken web editor.|
💢 If you are still using GitHub after knowing this information either because you are too lazy to migrate or just don’t care about these very important differences you frankly deserve what you get. Just know you are promoting a proprietary platform from a company who has a proven track record of putting it’s business interests and profit above customer needs and improvements.
GitLab Subgroups are Not Even Possible on GitHub
Perhaps one of the most elegant solutions GitLab provides to the world (that GitHub simply does not) is subgroups. Only those creating APIs will likely appreciate this. Subgroups allows APIs to be implemented in different languages without creating annoying prefixes and suffixes in the repo names.
For example, here are some Go packages hosted on both:
Sure the path is longer, but the resulting directories and project repos are so much easier to navigate. Navigating to https://gitlab.com/skilstak is so much cleaner. Permissions can be setup cleanly as well with each subgroup. This is not only not even possible on GitHub, but would cost quite a bit. It’s free on GitLab and if needed could be setup internally using their open source offering. GitHub has nothing similar.
It’s funny because GitHub just announced their packaging services like it was a big deal but they haven’t even figured out something as basic as subgroups, a simple, helpful advantage that has been available in GitLab — for free — since the beginning.