3 ms·
> Providing even close to the same uptime and snappy response times with a self-hosted service is a challenge, and it would take someone time and energy to volu
by 1337shadow 6y ago
> Providing even close to the same uptime and snappy response times with a self-hosted service is a challenge, and it would take someone time and energy to volunteer that work – time and energy we now instead can spend of developing the project instead.
Actually, running gitlab on a ubuntu server is a no brainer, upgrading is as simple as running apt upgrade -y every couple of weeks or something (gitlab's packages run their chef recipes under the hood), uptime will most certainly be on-par with github, and probably even better which is our case.
Time to clone, fetch, push, will be much faster, it's common to find dedicated servers with at least 100Mbps of dedicated bandwidth. CI will be much faster too because dedicated, you will have no wait time, so you easily get back the little time that you have spent running apt upgrade.
> we would lose the “network effect”
You can still have github mirrors, gitlab supports it fine, it's what we do, also, gitlab supports auth via github, gmail and whatever, so you don't have to require a new username/password setup to use your instance.
> We would also lose the easy integration with cool services like the many different CI and code analyzer jobs we run.
If you want CI beyond docker, ie. on windows and macos, which I suppose would be the case for most major projects, then I believe self hosting will be a bit harder. However, for docker based CI then gitlab ci runner is extremely easy.
For code analyzers it's lagging a bit behind github I believe but you know, we were already using those before they became available as github services: just add a linter and a static analyzer such as for security or to compute mccabe indexes in CI jobs it still works well. For coverage you can just generate HTML and copy it in a public artifact that gitlab pages will serve, same for documentation.
So for me, these arguments against self hosting seem a bit weak, there is one that would seem stronger but is not mentioned: someone would actually have to pay for the server. My conclusion is that GitHub's best feature is that you don't have to pay for anything, which I can understand would overweight the fact that it's sub-optimal on every other aspect for a lot of OSS hackers.
Nice article though, even though I enjoy the benefits of running open source services on dedicated servers because I get my time back everyday I interact with the said service, I would definitely not go as far as "github is the devil" or something, it's just not my favorite solution, by far, but it's still pretty cool to have amongst the many choices for code hosting!
- res0nat0r 6y agoHonestly all those paragraphs above about how "simple" it is to host it on their own kind of proves his point in my opinion. They don't want to be in the code hosting business, they want to be in the improve curl and get the big project to rewrite some of it in rust done business. I maintain our big companies githib enterprise host and we are working on finally convincing security to let us move to github.com. There are more features there and it's one less thing my team has to maintain or risk dealing with downtime. Let the experts do that, it's cheaper and more reliable in the end.
- 1337shadow 6y agoI understand what you mean, as it's pretty mainstream/typical, but "they don't want to be in the code hosting business" makes it sound like it's going to be a full time job which clearly isn't, and you get back the little time you've put in doing the upgrades everyday, every time you interact with your repo. But then again, the subject here is not "big companies", so, I'm not really sure how your story is related to the story we are discussing here. As for "let the experts do that", you really make it sound like running a service on a linux box is something "for experts" which clearly is a fallacy. Unless you mean that "running nmap to check that your firewall works is something for experts", not sure where you place the bar for what you call "experts", is making a systemd service or timer or starting a container better left to "experts" ? I'm sincerely wondering what the criteria are in the definition of "expert" in the Hacker News standard.
- res0nat0r 6y agoHe want's to write curl code, anything else that distracts from that he doesn't want to do if he doesn't have to. Hosting a version control system on his own vs just git cloning and pushing to github.com is more work. He doesn't want that. That's really all it is.
- 1337shadow 6y agoWhen I want to write code, I also want to have a pipeline that suits my requirements, at the cost of implementing it myself if necessary, because I want to best out of my coding experience.