Ask HN: Switching from GitHub to Gitlab for Ethical Reasons?

11 points by fariszr ↗ HN
After the Giveupgithub.org campaign, i started thinking about leaving GitHub. I don't have big projects on GitHub, but everyone moving will help the campaign, and send a clear message to GitHub leadership about Copilot.

I tried switching for a bit with Gitea(Codeberg) and Drone CI/CD. And it was OK, but i missed a lot of the niceties of GitHub, and i felt that Drone CI/CD is not that great compared to GH-Actions or GitLab CI/CD. I returned to GitHub due to popularity and the nicites of GH-actions but I'm now thinking of using GitLab. Yes its closed source(gitlab.com) and its limited on the free tier(especially for projects, even open repos), but its probably more funded and stable than community hosts like Codeberg, and the CI/CD is awesome, with 50,000 minutes for Public repos or self hosting. And there is no Copilot, at least not yet. Gitlab.com is not listed on the SFC's website, because its not open source, but i think its better than just sticking with GitHub. On the other hand, its still closed source, and its way more (free tier) limited and less popular than GitHub.

So what do you think? is switching to GitLab for Ethical reasons the right choice? or it doesn't really make sense unless its an actually open platform?

23 comments

[ 11.3 ms ] story [ 105 ms ] thread
Ethical reasons are never sufficient to replace practical ones, though they are important enough to cause one to evaluate the alternatives, which is never a bad thing, and can help to synthesize practical reasons to switch.

If one is not using vendor locked-in features, it's much easier to switch.

How about sirhat - https://sr.ht ?

I applaud you taking action, GitHub doesn't deserve us.

I understand why some people like SourceHut, but for me it's a non starter, its interface is very old looking and a bit clucnky, it doesn't have many of the modern features, and many other things I really didn't like. For many users if really doesn't fell welcoming to use.

For me the 3rd choice is clearly Gitea/Codeberg.

I moved from Github to Gitlab years ago due to ethical issues (open source vs closed).

I think that, at the very least, it's beneficial to prop up competitors to Github to prevent them from achieving a monopoly. Too many people currently see Github and git as interchangeable and that is potentially disastrous considering Microsoft owns Github.

I'm currently using https://sourcehut.org/ privately and professionally, and love it.

> I moved from Github to Gitlab years ago due to ethical issues (open source vs closed).

Do you think gitlab affected the reachability of your projects?

> I think that, at the very least, it's beneficial to prop up competitors to Github to prevent them from achieving a monopoly. Too many people currently see Github and git as interchangeable and that is potentially disastrous considering Microsoft owns Github.

Yeah that's one of the reasons I'm thinking of switching, its very clear where GitHub is heading, and I don't want to continue go use it, at least on a personal level.

> I'm currently using https://sourcehut.org/ privately and professionally, and love it.

I understand why some people like SourceHut, but for me it's a non starter, its interface is very old looking and a bit clunky, it doesn't have many of the modern features, and many other things I really didn't like.

For me the 3rd choice is clearly Gitea/Codeberg.

>Do you think gitlab affected the reachability of your projects?

Contribution yes, but not reach. If we understand reach to be the ability for me to share it or for people to find it. It very well may have inhibited contribution initially, but I don't believe that there is such a gap these days.

I also get why people would not like SourceHut and can completely emphasize with that viewpoint. Though, to me, SourceHut is a git repository done right, and not a GitHub clone. You can also contribute to SourceHut projects without a user account, using https://git-send-email.io/. That feature alone, to me, is worth more than UI.

It does target a market which prefer things such as IRC and mailing lists, so I don't really expect it to ever become mainstream.

Gitlab is hardly better than Github. I'd suggest source hut, or cgit and host your own.
I do not suggest switching to GitLab because it will not display anything if JavaScripts are disabled (although the git protocol will still work, but it is a bit confusing; I think fossil is much less confusing). There are other alternatives, such as Sourcehut (which does not use JavaScript) and Codeberg (which does, but it can still be displayed without JavaScript too, like GitHub).

However, you do not have to use only one service; it is also possible to make mirrors on multiple services, including GitHub and GitLab. If it is not the only mirror, then it does not matter that JavaScripts are required for one of them. Although, if you do not want to use GitHub then that is OK, too; there are many others.

I host projects on my own computer (using Fossil) but also mirror on Chisel. If you use Git then you will not use this, though; if you use Git then you can use Sourcehut or Codeberg instead.

Note that GitHub has API documentation. Codeberg also has, although its API documentation will not be displayed without JavaScripts, but it is using the Swagger format, so if you have a program that can display it then you can use it (or you can just view the JSON code directly). If similar features are implemented, then if you have your own then it can also be possible to implement the same API so that your service can be compatible.

> I do not suggest switching to GitLab because it will not display anything if JavaScripts are disabled (although the git protocol will still work, but it is a bit confusing; I think fossil is much less confusing). There are other alternatives, such as Sourcehut (which does not use JavaScript) and Codeberg (which does, but it can still be displayed without JavaScript too, like GitHub).

For me personally, not working without JS is not that big of an issue. I always use JS, I know the downsides, but its almost a modern necessity.

> However, you do not have to use only one service; it is also possible to make mirrors on multiple services, including GitHub and GitLab. If it is not the only mirror, then it does not matter that JavaScripts are required for one of them. Although, if you do not want to use GitHub then that is OK, too; there are many others.

Mirroring to GitHub almost defats the purpose. As the code will get parsed by copilot.

> I host projects on my own computer (using Fossil) but also mirror on Chisel. If you use Git then you will not use this, though; if you use Git then you can use Sourcehut or Codeberg instead.

Yup i use Git, but its more about the nicites around it more than just Git. Like CI/CD integration in the platform.

> For me personally, not working without JS is not that big of an issue. I always use JS, I know the downsides, but its almost a modern necessity.

It may be an issue for some of your users, even if not you personally.

> Mirroring to GitHub almost defats the purpose. As the code will get parsed by copilot.

Yes, although someone else can copy it there, anyways.

A bit off topic but why exactly are you disliking Drone?
I personally have no problem with Copilot. To me every source should be open for personal use. For commercial use this might causes a problem, Github profiting from established sourcecode under restrictive licenses. For me a neural network is using the same principles as the human brain. A network of cells generating an output using complex logic. Would you disallow a human that has read a copyleft sourcecode file to write code of similar structure? To me the answer is no. So I have no problem with Copilot. This is more of an ethical problem for me than a moral one. Moral wise you could force Microsoft to only train copilot on permissive licensed projects.
The thing is, if Microsoft is actually confident in how copilot generate unique code and not just copies code from other things.

Why didn't they train it on office and windows code? In the end it doesn't matter the code copilot generates is unique, and isn't bind by any license right?

More details here: https://sfconservancy.org/blog/2022/jun/30/give-up-github-la...

Lol good luck with that.

When u die ur code will be gone, mine will have a copy stored by github in the cold mountains somewhere.

Aliens will see my code, they wont see yours.

Lol, I have some repos stored in the arctic vaults too, so still some code will exists for aliens to marvel at.
As with other issues popping up recently, this can be mostly solved with decentralization by hosting your own server with Gitea, etc. The main thing that’s hard to give up is GitHub pages since it’s awesome for hosting. I haven’t tried Netlify but maybe it’s a good enough alternative?
Yes it's the right choice IMO. Copilot is license laundering and stealing code and we should not support that.

Im self hosting Gitlab. They offer a docker compose file that makes it super easy. You can use your self hosted Gitlab as the source of truth and easily mirror the repos to public hosts like GitHub if needed.

You can even use an old computer or a cheap server or Synology etc. to host it instead of renting a cloud server. It's a little bit of a learning curve but you can then self host all kinds of stuff. Git repos, media servers, photos, home assistant etc. The advantage is no monthly fee, guaranteed privacy, full control and a meaningful exit from the corporate controlled web where there is no privacy and no telling what will happen to your stuff. Check out reddit.com/r/homelab or search for "homelab" if you're interested!

I meant Gitlab.com, Self hosting gitlab really means zero discoverability.

As for mirroring, mirroring to GitHub defats the entire reason, as code will get parsed by copilot. I know how to self host, but I'm still not that heavy of a git user, and my project are mostly experiments and some CI/CD builds.

I have been researching this a bit, and I'm still conflicted about switching to gitlab.

On one hand, gitlab.com is still closed source, has very limited free tier, so any project that starts on GitLab can't really grow. And Gitlab's recent decisions really say "we are big enough, we don't need your good wil anymore", with things like limiting search to logged-in users، and the upcoming 5GB bandwidth limit, which includes people cloning your repo.(1)

On the other, its still the best GitHub alternative, the CI/CD is amazing, its well integrated, with full feature coverage.

On the other hand Codeberg, is more community feeling with a better interface(IMO) and no locked feature on purpose, but its still not very well integrated, not very well known, and the CI options are limited.

1.https://about.gitlab.com/pricing//#what-counts-towards-my-tr...

I think asking for both free and scalable is exactly why we end up with GitHub and ad tech models. It takes work to build and operate anything and they have to get some benefit. You can't ask for everything free and no ads and no paying with your data - that's a charity.

I think Gitlab is pretty good and there's nothing wrong with paying for it if your projects become big enough.

Anyways, by self hosting I meant also buying a domain and hosting it on the public web. Personally I discover repos via other sources like a project page, chatrooms, forums etc. so I wouldn't think hosting it on your own server impedes discoverability

You do realise Gitlab Enterprise is closed source which is what Gitlab.com is hosted on?
Yes I know, but its open core. And the free tier is basically what GitLab open source is.