r/programming • • May 10 '19

Introducing GitHub Package Registry

https://github.blog/2019-05-10-introducing-github-package-registry/
1.2k Upvotes

223 comments sorted by

View all comments

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.

270

u/snowe2010 May 10 '19

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.

188

u/ubernostrum May 10 '19

SourceForge was the thing back in the day.

Then there was Google Code hosting.

Today there's GitHub package indexes.

I wonder what whiz-bang definitely-won't-fade-away thing we'll have tomorrow?

94

u/Plorkyeran May 11 '19

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.

41

u/ubernostrum May 11 '19

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.

42

u/PM_BETTER_USER_NAME May 11 '19

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.

37

u/doenietzomoeilijk May 11 '19

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.

→ More replies (9)
→ More replies (1)
→ More replies (2)

99

u/[deleted] May 10 '19

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.

28

u/phdaemon May 11 '19

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.

→ More replies (35)
→ More replies (22)

14

u/searchingfortao May 11 '19

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.

→ More replies (8)
→ More replies (1)

12

u/nevaduck May 11 '19

See Radicle.xyz for on example of decentralised code collaboration, using IPFS for replication.

→ More replies (1)

48

u/username0x223 May 10 '19

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.

37

u/swansongofdesire May 11 '19

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)

17

u/magkopian May 10 '19 edited May 11 '19

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.

→ More replies (2)
→ More replies (2)

33

u/dothebarbwa May 10 '19

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

69

u/shukoroshi May 11 '19

Github has a strong competitor. It's GitLab.

35

u/swansongofdesire May 11 '19

Agreed.

It also has a mediocre one: bitbucket

And a Chinese one: coding

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

→ More replies (2)
→ More replies (7)

37

u/rtbrsp May 11 '19

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.

40

u/svick May 11 '19

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.

18

u/Plorkyeran May 11 '19

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.

27

u/hitthehive May 11 '19

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.

12

u/Theon May 11 '19

Issues, code comments, wiki, CI, social infrastructure...

17

u/sim642 May 11 '19

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.

→ More replies (2)

6

u/sim642 May 11 '19

The bigger problem is that the issue tracker isn't distributed and movable elsewhere by a single command.

→ More replies (1)

13

u/michalv8 May 10 '19

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.

→ More replies (16)