Github API integration is stellar, API token permissions can be configured granularly, Github apps marketplace is awesome way to start using third party services.
First class integration experience is opposite from Gitlab goals, they try to be everything and capture every single usecase and it shows .
Because of this, we do offer our API and the ability for our community to contribute integrations directly to the codebase. We have a pretty rich set today, you can see at: https://docs.gitlab.com/ee/user/project/integrations/project...
We're also working to further improve our integration options, with a dedicated team: https://about.gitlab.com/direction/ecosystem/. This team will be responsible for our broader API, an upcoming SDK, as well as continuing to improve our existing integrations like JIRA and Jenkins. This team is just getting under way, but I wanted note our investments here.
> Github API integration is stellar, API token permissions can be configured granularly, Github apps marketplace is awesome way to start using third party services.
PAT granularity has indeed been a pain point, and we should be solving this soon by offering the ability to restrict them by groups/projects: https://gitlab.com/groups/gitlab-org/-/epics/182
Gitlab has many strengths, but integrations is by far the weakest one.
It's the ongoing thoughts that go through your mind like using github 99% of the time but having to context switch to a completely different app / UI for that 1 other project that uses gitlab. Unless that 1 project is incredibly useful then most of the time you'll talk yourself out of signing up or even browsing the repo (let alone contribute to it).
It's almost like people who use mailing lists for bug reports. It's such an out of place / cumbersome thing to sign up for vs filling out a github issue that you've done a 100 times already.
The power of familiarity is real. It takes astronomically sized benefits to get people to switch and from what I've seen gitlab has not done that (not because they are bad, it just hasn't happened yet) and the proof is in the results. If they did offer a massively better service than github then people would have already switched for open source projects.
On switching -- from GitHub, yes you might need some compelling reasons to go through all that resetup work. Migrating to GitLab from some ageing bespoke system is a much easier choice.
That said I must say it has worked well enough for us, that the occasional swearing that it does not do what we want has been the more comfortable solution than really patching it:)
Now assume you're starting a new open source project. Most of the other open source projects you've seen are hosted on GitHub. Most of the other developers you interact with have GitHub accounts. GitLab has all the same features and is slowly growing, but still isn't nearly as popular as GitHub is. Which platform do you choose for hosting your project?
GitLab is certainly a worthy competitor, but unless there arises a strongly compelling reason to switch I can't really see it overcoming that barrier and becoming the new de-facto standard for open source projects for quite some time.