Some of you may have noticed, we recently migrated all our public projects from GitHub to GitLab. We explain here the rationale behind this decision.
Two very good platforms
Since its inception, GitHub has been a major contribution for the OpenSource software. This platform, based on Git and designed as a social coding platform, allowed for more collaboration between developers around the world, and better efficiency.
Since then, it grew a lot, adding features along the way, and became ubiquitous. Any developer in the world knows how to use GitHub, and most of the time already has an account.
GitLab emerged later, and positions itself as a complete DevOps platform. GitLab has a fast and impressive growth, be it in terms of features, users and overall quality.
Nowadays, both platform co-exist in the software development landscape, both providing very good user experience for the better of developer’s lives.
Favor OpenSource software
At Oslandia, we design and develop free software for the geospatial industry. OpenSource software is our DNA, and our mission is to contribute to common goods. As such, apart from our contributions, we promote and support opensource in general, and try to rely exclusively on OpenSource software for our operations.
We acknowledge that GitHub is a great contribution to the OpenSource world. And the current motto is “Microsoft ❤️ OpenSource”, which shows a strong change and a good way forward. But still, GitHub is a proprietary platform, and a dependency of the whole opensource world on it is not desirable.
While GitLab has an OpenCore business model and licence, they try hard to stay good opensource citizens, providing the community edition with a lot of features, without being aggressive on pivoting users to their proprietary version.
This is one of the reasons for the migration : push even more OpenSource software whenever we can.
Coherency with internal organization
As GitLab has a very good community edition, we use it extensively internally on a self-hosted instance. Of course, all our client’s development projects are hosted on this internal GitLab platform. But we also use GitLab for non-development tasks and organization. Our commercial lead tracking system is based on GitLab, our internal project management system is based on GitLab, etc, etc. Everything happening at Oslandia is stored, planned, discussed, tracked on GitLab.
This has proven to be really efficient, and we now count more than 22K issues and 200K comments on this platform.
GitLab, we ❤️ your product !
More than software
Working for the common good is more than writing code and developing OpenSource software. At Oslandia, we value our collaborators, and we pay attention to how we work as much as to what we work on, to keep the global coherency. You can see the video of the presentation from Vincent Picavet at FOSS4G 2019 in Bucharest on this topic : Behind the mirror, how we run an OpenSource company.
Oslandia is a 100% remote company. We constantly improve our organization based on continuous feedback, and innovate on management methods, distributed work, collaboration tools and methods. We build on the opensource experience, years of worldwide distributed collaboration between thousands of people.
We are not on our own working in this direction, and we are heavily inspired by companies like Red Hat, Valve, and especially GitLab. As a matter of fact, GitLab has been doing a tremendous work innovating in remote collaboration and management, in an incredibly transparent manner. Their handbook documenting their internal organization is thoroughly detailed, and has been a great source of inspiration for us.
Also, working for the common good also means ethics is important. Lately, GitLab has proven to be a better citizen than GitHub.
GitLab, we ❤️ you !
Practical aspects of the migration
The migration had some consequences, and if you have been involved in some of our public projects, you may have noticed some changes. Please note the following points.
- If you have no GitLab account yet, then you can directly login to GitLab with your GitHub account
- When we did the migration, some issues where changed owners if their original author had no GitLab.com account at the time. This is mentioned in the new issue as a note
- Travis CI is not supported by GitLab, and we will port travis CI to GitLab CI for projects needing it
- Git remote paths have changed and should be updated wherever needed
- All our projects on GitHub are now archived and read-only, with mentions of the new home at GitLab.com
- One exception is SFCGAL, which will be migrated end of this month
There are probably implications that we did not foresee. Should you be impacted by this migration, please contact us and we will try to fix the issue as soon as possible.
Photos by Tim Mossholder and Steve Halama on Unsplash