HACKER Q&A
📣 sdevonoes

Are GitHub, GitLab, and similars just a fad?


For normal/regular developers (including myself) who push their "invert binary tree algorithm", "hackerrank solutions", "home-made static site generator" to GitHub/GitLab: why are you doing it?

With all the fuzz that GitHub’s Copilot has made, I came to realize: I actually need no GitHub account at all! I do have like a dozen repositories with half-baked code that do nothing and it's quite useless. These repos have been there for years: zero stars, zero forks, zero followers, zero PRs, zero issues. Thinking hard I realize the only reason I opened a GitHub account was because everybody else was doing so. I remember how some cool people were sharing their open source projects in GitHub and getting feedback from some other cool people... I wanted that. And so I started to push my code (all my code!) to GitHub. I started to publish my GitHub profile on my CV (I have like 10 years of experience and no one has ever asked me about any of my GitHub projects in any interview).

I came to realize that I don't need a GitHub account in the same sense I don't need Instagram (account deleted a few years ago. Same story: a few dozen photos with zero reaction, zero likes, a few comments). Perhaps it's just that I'm getting older?

On the other hand, I do find really useful that certain projects are in GitHub/GitLab (e.g., redis, logrus, flask, etc.). It does make sense to share these kind of projects with everyone, but my "hello world in Haskell" project? Naah, I won't publish this kind of stuff anymore (that doesn't mean I won't code it!)

Edit: I should have clarified that I'm not talking about using GitHub in an "enterprise mode" (like you use it as a company or individual to actually host the code of the product you are building). It's clear that in this sense it does make sense to use some service that provides all the tooling around git to work in projects.


  👤 jlawer Accepted Answer ✓
The value is that open source works better in the open.

Maybe your writing an app that deals with some obscure data feed and feeds it into some home automation. Maybe the data comes in a format your language doesn't have a good library for right now. If its easy enough (as github and all try to make it) maybe you publish it as an experimental library for your language.

Someone else looking for that functionality for a work project sees your contribution and either contributes or forks and develops a better tested / maintained version.

If your submitting code for vanity, I can see less use, but a lot of it is public because traditionally Github would charge for private repos... people got used to just making anything that wasn't commercially sensitive open.


👤 jstx1
The portfolio/social signalling reason is a tiny part of actual Github/Gitlab use. Most people and companies use these platforms to do their actual work and write software. So no - they're not even close to being a fad. If the social signalling part isn't useful to you, just ignore it - that's what most other developers do too and most of them are doing fine without it.

👤 saurik
Reading most of these comments, it is as if people seriously don't remember SourceForge or Google Code... GitHub is a giant centralized hosting repository that has notable weaknesses in issue tracking and doesn't spend much time working on improving its core use case of code browsing--it doesn't even have a graph view for the commit log, which I'd argue is almost "table stakes", much less "great" features like fast and easy code search or cross reference support--and instead has been slowly attempting to build lock-in by mostly building new tie-ins to their platform like GitHub CI in attempt to reduce portability between hosting providers (which, at the end of the day, is what they are: a hosting provider that purposefully used the name of the tech it is built on to cause market confusion over whether it was git and then refuses to implement stuff like custom cname support to reduce portability). They will get disrupted by something, though it might take another five years... and then--just like with SourceForge and Google Code--everyone who hosted their projects on it instead of owning their URL will experience dead links as the ecosystem fragments for a bit before re-coalescing on "the new hotness as GitHub is now lame"; "such is the way" :/. At best, GitHub gets to remain forever as Facebook, slowly attempting to replicate the features of new disruptive players like TikTok in an attempt to reduce attrition. Man, I remember when everything was on SourceForge... ;P.

👤 el_dev_hell
I don't think so.

I host all my personal projects on either GitHub or GitLab (depending on build pipelines).

The majority of my personal projects are private. I get zero benefit from the "social" coding aspects of either platform.

I use remote git repos to both backup my code and have access to it when needed. For example, I have a fairly large personal project with a complex React frontend. I often pull this up to jog my memory at work when I hit similar challenges at work.

For junior role, it might be helpful to have a Git* presence with clear commit messages/branch history (at a minimum, it shows your ability to use git).


👤 rgoulter
There's a continuum between the widely used repos with >10k stars and the zero stars code from a tutorial.

I think it's still worthwhile to share code, because I think it's worthwhile to be able to _read_ code that others have written.

e.g. Making use of a Static Site Generator is by-programmers-for-programmers for fun. If I share my code, someone can copy-paste it and play around with it for themselves.

e.g. Projects with niche use cases will likely never receive many stars, but can still be worthwhile to share. I made a simple keyboard PCB design with KiCad, and shared this. It's nice to be able to see and make use of other designs.

When I read through people explaining how they achieved some solution with whatever tools, ("getting X running with Y on Z"), it's nice if their notes come with code so it's easier to try. -- Repositories like this with notes may not be very popular, but I appreciate that people share these.


👤 grammarnazzzi
I think an argument can be made that using a remote repo is a valuable habit to cultivate.

Like flossing your teeth and checking the tire-pressure on your car, it can save you frustation down the line.

You might want to refer to a project you worked on 8 years ago. If you don't standardize your workflow, you may never be able to find it amoung the dozens of computers and storage devices you've used over the years.

If you ever work on a collaborative project, the ingrained habit of using a remote repo will help your effectiveness working in a team.

Using a remote repo can also serve as part of a 3-2-1 backup strategy. Not using a 3-2-1 backup strategy? Well... plan on losing hundreds of hours of work some day in the future.


👤 mikewarot
I have a GitHub account because it's a way to learn about GIT and working with others for free. It's also a backup of a bunch of my program directories that is trivial to keep up to date.

It comes in handy every once in a while.


👤 rossdavidh
I use Github, but mostly just for work. For example, in one case I was revamping a legacy product entirely, and the customer needed it backed up somewhere. They didn't have a github account, so I made a private project and gave a couple of them access. They will never use that access unless I get hit by a bus, but it is a quick and easy way to both make a secure backup of the code, and give the customer peace of mind that they have a copy of the latest version of that code if they need it (presumably to give to the new programmer, along with a short story about how the last guy got hit by a bus and they don't know how it works but here's the code).

I suppose it does provide some evidence that you know something about programming, but to be honest I've never thought oddly about somebody who has no Github profile. Talking to them about coding for a few minutes will give you a better idea of that.


👤 908B64B197
For a long time, GitHub had nice perks for anyone with a .edu email (free private repo for instance).

So I know a lot of devs who got started using GitHub since it was a seamless way to have an always-on git server to work on labs and homework.


👤 coldtea
How about for backup and access to your repo from everywhere, including the ability to collaborate with a friend/collaborator, or have your code visble whenever need (e.g. for an interview).

It's called "distributed version control", and it's not (and never was) about stars and social following. Those that look for stars and forks and PRs don't do it in the way Instagrammers do it (at least not as much, there would obviously be some validation and penis-measurement like element), but to build a community around their software.


👤 matt_s
The concept of building an audience to the point where you are possibly internet famous/know-able in the software world is probably pretty hard these days. I would guess that a path to that is making significant contributions to open source projects that you use.

From a hiring perspective, I might glance at someone's repos if they mention them but it's not really a factor at all.


👤 softwaredoug
You’re totally right. With dev demand, you probably don’t need a public GitHub profile unless you’re intentionally advertising your skill in a specific domain. You’ll surely be able to get a decent enough tech job with other quals. Of course if you want the highest chance of the ideal job, a public profile might help steer the right hiring managers in your direction.

👤 mbfg
At the very least, it's free backup.

👤 type0
You don't need github account if you never contribute to the projects hosted there. Are there ways to contribute to such projects without creating a github account, by email or otherwise?

👤 facorreia
I push my pet projects to GitHub so that they are safely stored and I can browse / retrieve them later if I want.

👤 reilly3000
Obligatory plug for Gitea https://gitea.io/

>Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.

If you want to collaborate on a git repo, a self-hosted gitea instance is a pretty easy and painless solution.

The major public clouds offer private git hosting as well.

If you want to eschew git servers altogether, you can send and receive git patches via email: https://git-scm.com/docs/git-send-email


👤 meiraleal
Github is not a social network, it is an online git system. But it rewards famous people (the same way instagram do), so many people will optimize for it / expect it, but most don't care or are not good at the social game.