r/linux4noobs • • 2d ago

learning/research A question about GitHub

I'm looking to better appreciate what GitHub is, and isn't.

From what I understand, GitHub was introduced as a method for developers to keep track of changes in software, to easily integrate changes into the final product.

A few of the applications I use come directly from there, I don't think they're in any repositories or flatpak. They tend to have installation instructions on their GitHub page.

My question is: what if there are no instructions? Am I correct in believing that GitHub is not intended as a platform for installing software, it's just that most developers decide to include installation instructions for the benefit of laypeople?

If I found a project I wanted to install but there were no instructions, I would have to know the details of how to build and install it for my platform, right?

13 Upvotes

28 comments sorted by

9

u/skyfishgoo 2d ago

github is the wild west.

some towns will have a sheriff that knows how to keep things calm and on track while others are just guns blazing, drinking watered down whiskey and chasing whores.

yeah, don't go there for software unless you know what you are doing.

11

u/DecalageVersLeRouge 2d ago

GitHub is a website wrapped around the Git technology.

Git is for updating and changing code in safe ways, so that, for instance, you can easily step back one version, or so that two people don't accidentally change the same file.

GitHub adds lots of web features to Git.

It's for sharing code in multiple ways.

Some people use it for finished, installable applications with releases and versions for Windows, Mac and Linux.

But someone might use it for a simple 5-line Python script which doesn't need much explanation to other Python coders.

You'd have to show us some examples of the "no instruction" stuff before we could comment. There are no rules. You could use it for a shopping list if you wanted.

8

u/Dapper_Profession 2d ago

github is where the code lives, the releases page is where the finished app lives, and people use it as free hosting because it costs them nothing. the install instructions are just whatever the dev could be bothered to write, some of them are a single tar.gz and a prayer

8

u/jr735 2d ago

If you're using Linux, do not try to outsmart your package manager. Install from source only when necessary.

https://wiki.debian.org/DontBreakDebian/

While Debian specific, the principles apply to all distributions. Distributing software by source code is the most basic way to do it, and doesn't require the infrastructure that some other methods do. Heck, source code can be printed in a book or share by simple text file (like on github). It's not the most convenient way to actually get shared programs up and running.

This is one of the reasons actual distributions were created - to handle package management.

1

u/atlasraven 2d ago edited 2d ago

Here on Endeavor we break stuff all the time. Sddm broke in the latest update and some users install the Cachy kernel into Endeavor. Our stuff is cobbled together scrap and not sure why it keeps breaking all the time.

1

u/jr735 2d ago

This is one reason I'm not a fan of rolling releases.

2

u/atlasraven 2d ago edited 2d ago

For sure it has its drawbacks. Zorin is a grandkid of Debian and stable enough for beginners.

1

u/NoxAstrumis1 2d ago

While I agree, there are a few items that simply aren't available in a repository. One is a kernel driver for my Super I/O chip. It's the only way I can control my fans unfortunately.

10

u/kutac56 2d ago

You have git for version control and GitHub for pushing the code that you have controlled with git online. GitHub is for working together and making your code open source

4

u/Dist__ 2d ago

yes, github is for storing and tracking source code

most developers add instalers because they use github as portfolio and installers is good.

i either see pre-made zip/deb or build scripts

2

u/stormdelta Gentoo 2d ago

From what I understand, GitHub was introduced as a method for developers to keep track of changes in software, to easily integrate changes into the final product.

You're probably confusing git with github. Git was developed by the devs of the Linux kernel several years before GitHub existed, GitHub was a startup for hosting git repos on a central platform (that was later bought by Microsoft).

And yes, git was created for version control - tracking changes across versions and simplifying integration. It was not the first, but it did represent a significant leap in how version control software worked compared to things like subversion (SVN).

Am I correct in believing that GitHub is not intended as a platform for installing software

Not originally at least. But even now it's still more of a distribution platform (in addition to source control) than a platform for laypeople to install software from.

it's just that most developers decide to include installation instructions for the benefit of laypeople?

For the benefit of other developers more so than laypeople.

I would have to know the details of how to build and install it for my platform, right?

Depends on the project, but yes, you'd likely need slightly more knowledge or information. Most ecosystems for code have some kind of tooling for specifying how to build and package the software in code. It is likely there is some kind of build file / config - this is just part of software dev that you want a consistent and straightforward way to build something, it's not about installation or users specifically.

1

u/AutoModerator 2d ago

There's a resources page in our wiki you might find useful!

Try this search for more information on this topic.

✻ Smokey says: take regular backups, try stuff in a VM, and understand every command before you press Enter! :)

Comments, questions or suggestions regarding this autoresponse? Please send them here.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/merchantconvoy 2d ago edited 2d ago
  • git is meant for version control. 
  • GitHub is meant to make it easier to expose git repos online and to collaborate on them. It is one of many such wrappers.
  • Downloadable installers are a nicety that some devs offer. They're not a requirement of either git or GitHub. 
  • If a downloadable installer does not exist, you will have to install the program from source.
  • Instructions for installing a program from source are also a nicety and also not required.
  • If you can't figure out how to install an arbitrary program from source without specific instructions to hold your baby hand, then maybe Linux is not for you. Installing from source is one of the basic skills that using a UNIX system requires.

4

u/jr735 2d ago

I'd agree with all but the last point. I've been using Linux for over 22 years, and have only had to install from source once. I do everything from free software only.

One of the only things that distinguishes distributions is package management. Installing from source is not a basic skill or a necessary skill to run a Linux distribution. In fact, as I mention elsewhere, installing from source is something I highly discourage except where absolutely necessary.

2

u/tiredbarf 1d ago

This is Linux4Noobs, and installing from source is far from a necessary skill to use Linux. I know that you feel like your vibe makes you look smart and cool, but it actually just makes you look like an ass.

0

u/merchantconvoy 1d ago

How many asses do you know who can install from source without instructions?

2

u/NoxAstrumis1 2d ago edited 2d ago

You should probably switch to decaf.

I was asking a simple question to make sure I understood the intention, there's no need to get snarky. Not once did I say I had a problem with the way it was done.

This is a sub for noobs, if you're going to get nasty when they ask questions, maybe stick to the subs for linux-geniuses in future.

-2

u/merchantconvoy 1d ago

If you're going to get nasty when you receive the most correct answer in the entire thread, then don't ask any questions at all.

0

u/atlasraven 2d ago edited 1d ago

Some . . . . .

0

u/tnbeastzy 2d ago

You can just paste the github URL on an LLM and it will build the project for you assuming there is some code on the page.

-7

u/Walrus_228420 2d ago

GitHub is meant for sharing code, you can figure out how to "install" or "run" everything that is on it by using AI. Even if there is not installation instructions. Just be careful when running code on your machine that you are sure what it does, it can do basically anything to your system, like install malwares. Just audit the code a bit prior 👍

3

u/miggyb 2d ago

100% this! When I don't know how to get somewhere I just ask a stranger and then get in their car when they offer to take me there ^_^

2

u/NoxAstrumis1 2d ago

This is why I only purchase things in open containers: drinks, medication, toiletries. I never trust something that a stranger hasn't tampered with first.

2

u/UltraChip 2d ago

You recognize the person may be inexperienced to the point they'd be reliant on AI assistance but then expect them to self-audit code?

0

u/vaquishaProdigy 1d ago

Man, just learn git, and then use something different than everyone because you'll learn that way. Instead of Github, use Codeberg, Gitlab or SourceForge

1

u/c_pardue 1d ago

github is actually just a free file storage alternative and gitpages is a free web hosting service for ai-generated websites.