this post was submitted on 26 Aug 2023
108 points (89.1% liked)
Liftoff!
4352 readers
1 users here now
A mobile client for Lemmy running on iOS and Android
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm don't fully understand all parts of the GitHub website. That makes sense.
It's okay, no one does (unless you're a programmer).
To this day, I still don't understand why there's no dedicated download button. It's up to the developer to provide it, and far too many of them are too forgetful/lazy to do so cause they expect you to just know how to compile it yourself.
There is a "Releases" section which provides downloads - however for that to appear, the developer has to either setup automatic building, or manually upload something as a release.
This is because by default, GitHub doesn't know how to build random projects out there - someone has to tell it how, and GitHub needs to be told that something is ready for "release".
I think you might misunderstand what GitHub actually is.
It's a version control service for source code and being able to download released artifacts is an extra feature on top of that.
git = software to manage and track changes to source code
GitHub = a service to host your git source code repositories
The uncompiled source code is kinda the whole point of GitHub in the first place
github's primary purpose is for it to host uncompiled code.
This is like you complaining that grocery stores sell eggs, flour, and butter, when all you need is a cake.
edit: the post I was replying to seems to have changed. It originally said that github should not host any "uncompiled code"
Ah, I see. I don't think that would be very well received - GitHub's primary use case is to be a place to share code with other developers, shying away from that would be a fairly fatal blow to GitHub. You'd just see projects move over to other "Forges" like GitLab or Gitea/SourceHut/Codeberg (anyone remember SourceHut?) which would have the same "problem".
As Wesley pointed out in the other reply, GitHub does have some other features bolted on top of it (such as GHCR, CI/CD, Artifacts, Gists, Pages, Issues, Wiki, etc the list goes on) but at its core it is somewhere to host a git repository.
If we were talking about commercial applications, I'd say that's a marketing / distribution issue by the company producing the application you're looking for. However, given that software on GitHub is more often than not open source by individuals (or sometimes a group of individuals) it's not really reasonable to expect for every one of them to go make a page that hides all of the code and only offers downloads. People already have a bit of a bad habit of saying that
READMEs
are not flashy enough, so I highly doubt a plain text page that just links to some binaries are going to be sufficient for most people.I know that I personally wouldn't be able to spend the time (let alone the ability - I'm terrible at frontend!) to make nice pages for any project that I publish, and that's okay because I'm not selling said projects - I share them with the world in case anyone is interested but still the idea behind me publishing something on GitHub is not for visibility / popularity, but so that maybe at least one person in the world can learn from my code (whether that is good habits or bad habits 😅).
That also doesn't address another problem, which is that a lot of code on GitHub is intended to be used as a library for other projects to use. These don't really have downloads in the way of binaries - you're expected to compile the code yourself so that you can use it within your own code. Sometimes there are ways to make that downloadable, I primarily work with Java / Kotlin so I could provide a download as a jar... but usually you publish those libraries to some sort of Maven-compatible repository so that you can just declare it as a dependency in your own project. Or maybe its a C/C++ header-only library where there is literally no binary that you could publish. I suppose you could direct link a download to each header file, but you'd still just be getting... code.
TL;DR - GitHub is working exactly as it is intended to. It'd be like going to a hardware store and saying that they should offer pre-built furniture and hide all of the tools / materials in the backroom. They might have some appliances and pre-built furniture (off the top of my head things like washers, dryers, and refrigerators where you're not really likely to build your own) but that isn't the primary point of the store. For Liftoff specifically, if you're wanting a more traditional place to download the app, you'd want Google Play, IzzyOnDroid, or the Apple App Store. Just like for furniture you'd go to a furniture store - but if you want the tools to perhaps touch up / fix some furniture you've purchased you'd go to the hardware store (GitHub in this example).
I find this funny because I learned how to compile programs before I learned any actual programming because of Linux having a lot of the same stuff going on back in the 90s. Want this program? Here's the source code!
From a users point of view, I understand your concerns. When other clients are undergoing significant development. It’s a little disconcerting to see the pace of Liftoff development slow and bugs not getting fixed.
Developers have personal lives too. Let's leave it at just that.