I have not used KiCAD in a little while, as I have not had to do any PCB design. I fired it up a week or two ago and went to update my libraries and discovered that KiCAD has moved everything to GitLab. While I do not have an opinion on the GitHub/GitLab debate, I wanted to see their reasoning, but all I can find is that they wanted to move off of Launchpad. Why did they decide to move to GitLab when they already had a GitHub organization set up?
EDIT: For anyone with the same question, to save time scrolling the thread, I have compiled the reasons that the development team responded with in the 11th post on this thread.
As far as I know GitHub also has such hooks like GitLab. But generally developers like GitLab more than GitHub.
If you ask me, I stand on a non-development issue side, rather a political issue. GitHub bought by Microsoft and now it is acting politically. I don’t know the latest status but last time I remember they had prevented access from some of the countries without any warning. Some of them even couldn’t clone the repo or export the issue list somewhere else. This isn’t correct from where I look.
If you have a problem with certain illegal repos you can close them anytime. But preventing access from a whole country is just a political maneuver.
The sourcecode was never on github. It was on launchpad. This was a massively limiting factor for the development as all contributions still needed to be handled via patches send by mail.
Gitlab (but also github, bitbucket, …) allow for a nicer workflow here via their merge (or pull) requests.
Gitlab and github have a very similar feature set (gitlab is slightly more powerful with regards to project management features as it has better ways to group issues). And gitlab can also be installed on your own server which means it is a lot easier to get away from their cloud solution should there ever be a problem with it.
GitLab is very developer friendly and continually takes feedback and improves. GitHub refuses to pull their head of their butts when it comes to improving anything other than visual effects.
GitLab has a whole array of “organization” oriented features that makes managing kicad’s dozens of repos a breeze. Even having a neatly organized index page for the org is a game changer compared to the disaster that are GitHub org pages.
Eh, this has nothing to do with politics and everything to do with US law that all companies must comply with, even Europeans one if they don’t want their European banks closing their accounts. (Because US banks will threaten to freeze European bank transactions). There’s really no legal basis for a company to refuse to comply with sanction law which is pretty cut and dry, they can only play dumb until the US DoJ gives them an angry comply or go to jail letter.
I did not realize that GitLab has more project management features. That would make sense. My main surprise was due to the fact that they already had a GitHub org.
We considered both and picked GitLab in the end. The GitHub org was not used for any code-related things, so there was not going to be any less migration needed to move the code to GitHub vs. GitLab.
In addition to @craftyjon and @marekr’s comments, we also considered that GitLab is FOSS to its core. Where possible, we like to support and promote FOSS solutions. Toward that end, we use Zulip for team coordination, Weblate for hosted translations and, of course, GitLab.
GitHub is nice for many things but at the end of the day, they are a tool built on open source that isn’t open. So when you host your code there, you are trusting that supporting open source in a way that we require remains profitable for a closed source company.
Thanks everyone for your response. Your explanations make sense, I have never used GitLab, so I was wondering what advantages it had that led to KiCAD moving to it. The bit about being fully FOSS was interesting. I did not realize that it was fully FOSS.
I am adding a summary of the reasons here, and editing my original post to indicate that I got an answer.
In brief
GitLab has better project management features
GitLab has better issue grouping
GitLab is eaiser to self-host, which could prove useful for KiCAD in the future.
GitLab is 100% FOSS, while GitHub is not fully FOSS
The organization GitHub account was only used for libraries, so it would not be complicated to move them to GitLab as well.
@Rene_Poschl I realized I referred to your discussion of project management as a “theory”. My apologies. I was scrolling through the replies really fast and not paying attention to usernames and the time, so I missed that you are a developer.