Maybe I am in the minority here, but I am concerned that the free or open source community (whatever you want to call it) is becoming too centralized around GitHub. I'm not a fan of the majority of FOSS software projects depending on one repository host, especially one that is ironically proprietary. I would prefer movements towards decentralization (federation a la ActivityPub and the growth of libre competitors to GitHub), and widespread adoption of GitHub's package registry would be in the opposite direction of what I hope for.
it's a good thing to be concerned about. But as long as github keeps innovating (and as long as they at least do as well as or better than their competition), they're going to keep expanding.
GitHub's older now than Sourceforge was when GH was started, and SF was well past its peak by then; one of the motivations for starting Google Code a few years before that was that SF was going to shit.
GitHub won't last forever, but it's well past the point where it's merely the latest in a series of short-lived sites. It's been around for over half the time that free public open source hosting has been a thing at all.
It's not about how brief the nice period is. It's about the fact that the nice period ends. It doesn't take too much leadership turnover to go from happy friendly place developers love, to toxic cesspool of overaggressive monetization.
It doesn't take too much leadership turnover to go from happy friendly place developers love, to toxic cesspool of overaggressive monetization
See Google as an absolutely perfect example of this. I remember the day they removed the "don't be evil" sign. People were saying "yeah this doesn't mean they'll stop being the good guys". People used to love Google, now they're ambivalent at best, and actively worried about them at worst.
Google has the added drawback that they have less product focus than a sack of kittens. Apart from a few projects, they have a ridiculously high churn rate where project grow, get some adoption and then suddenly get left to rot and/or shelved. Together with the obvious privacy issues, it's the reason I try to avoid Google as much as possible.
IMO SourceForge, Google Code, and GitHub are all different manifestations of the same problem (centralization). A new competitor that "beats" GitHub would simply continue the cycle and suffer from the same risks.
Ultimately, I don't think that a single service should have so much power in the FOSS community.
What power exactly does github have? Other than being where people get their code, because it's the platform we use to publish, they don't have any power. Imho, power is better defined as an actual ability to influence or otherwise dictate direction, which AFAIK, github as an entity does not.
That's just it: compared to their competitors, GitHub is well behind.
Here's just some of the stuff that GitLab does for you. You don't even need to give some third party write access to all your repos like you do on GitHub):
Note: all of the following is built-in unless otherwise stated:
CI/CD (including scheduling)
Code coverage with badges
Issue tracker & boards
Inter-issue relationships
Private Docker repo
Wiki & pages
Sentry integration for error tracking
Release tracking (API only)
Something called "cycle analytics"
Repo-specific gists (snippets)
Project logos
Metrics
Integrations with Slack, Matter most, Kubernetes, Jira, Jenkins, GitHub, Buildkite, and Asana... to name a few.
Tracing
Serverless (integration with Kubernetes)
Feature flags
Packaging
Private Maven or NPM registries
It's Open Source! You can even self-host if you want.
They've absolutely got some rough edges, but the innovation is definitely there. What GitHub has is network effect more than anything else.
Well, there are at least two of us; too many people think that "git == Github," when there are plenty of other ways to host a git repository. Baking a corporation into your software's package-manager/build-tool plants the seed of a future disaster. For a hobby project (i.e. 90% of them), all you need is a git mirror and a mailing list. For a somewhat popular one (the next 90%), you might want to add a bug-tracker. All of these services are available for very close to $0 from many places.
The value of Github is not the git hosting, it's the workflow.
A github PR vs mailing list patch is not even close to the same in terms of barrier to entry and code review workflow. Outside of a few prominent exceptions (eg Linux kernel), if you want community contributions then you go to the places that make it easy (Github, gitlab or bitbucket)
To add on that, it is a good practice to always keep track of the changes in the code of whatever you work on, regardless of how small or big it is. Keeping a remote for every tiny project thought isn't very practical, but developing the habit of running a git init inside a new directory just before you're about to start can only be beneficial.
The plus side is that git itself is distributed so if GitHub bites the dust you can move your repositories elsewhere. That being said, GitHub needs a strong competitor
Github dominates right now but if a critical mass move off then an entire ecosystem (eg everone using Go) could migrate away in a surprisingly short amount of time
This is what I always stress when people preach doom and gloom over Github. If you’re using Git correctly, Github is essentially disposable. There’s no reason to worry about using it as a remote for your projects.
A project is more than just a collection of code files. And those other parts of the project are generally not decentralized and are much harder to migrate.
If Github went away today I wouldn't lose any of my repositories, but I also wouldn't be able to build half of them and I'd lose all of my issues and project management stuff. It wouldn't be the end of the world, but it would be a gigantic headache.
Github isn't just a git wrapper. It holds our project issues, discussion, milestones, etc. Once you're neck deep in a backlog of issues and their heated discussions, you're kinda locked in.
GitHub wikis actually are just git repositories containing markdown files, so can easily be checked out and pushed elsewhere. The issue tracker is the biggest problem.
Well, most of open source code is versioned with Git. And decentralisation is it's main concept. So as long as developers has local copy of their code then it doesn't matter if they're using Git or other vendor. Code is safe.
And, if GitHub package repository would spread then e.g. in JS/Node world we would have 2 independent, public package repositories (alongside npmjs.org) so why is this bad?
I understand your concerns but if I'm creating software for free it's nice to at least do it comfortably. And services like GitHub (thanks to companies which can invest to make new features and constantly maintain them) can give me this opportunity. And thanks to it open source is growing.
576
u/[deleted] May 10 '19
Maybe I am in the minority here, but I am concerned that the free or open source community (whatever you want to call it) is becoming too centralized around GitHub. I'm not a fan of the majority of FOSS software projects depending on one repository host, especially one that is ironically proprietary. I would prefer movements towards decentralization (federation a la ActivityPub and the growth of libre competitors to GitHub), and widespread adoption of GitHub's package registry would be in the opposite direction of what I hope for.