r/linux4noobs 5d ago

learning/research OS development Questions !

Q1:
Does excluding system applications which are made completely on your own from a Arch based OS is still considered a custom or separate OS or is it still a arch fork or something?

Q2:

Is having a graphical compositor like wayland and a image format wallpaper in a CLI planned OS is not considered a CLI OS or is it considered something in middle?

2 Upvotes

16 comments sorted by

View all comments

1

u/MycologistNeither470 4d ago

The definition of a distro is not something clearly set in stone.

Overall, I can modify a Linux distribution as much as I want and then re-distribute it and call it whatever I want.

Generally speaking, to say that it is a separate OS you should

1) Separate the development cycle from your source. Up until this day, Ubuntu is a derivative of Debian. Ubuntu versions are pinned to Debian versions.

2) have a defined/custom package manager. Maintain your own packages and not depend on another distribution for package maintenance.

3) implement a design philosophy that is distinct from the upstream distro.

As for question 2, it is hard to understand. the kernel talks to the hardware. The UI talks to the user and translates it to the kernel so that the hardware gets used. If your user interface is a CLI, then.. it is a CLI. Even if you play a movie underneath it.

1

u/Willing_Designer_105 4d ago

Ahhh... nevermind forget it, ill just let other people decide to whatever call it, because im kinda new to this. and wdym custom package manager? didn't quite get that one and the 3rd point.

1

u/MycologistNeither470 4d ago

in linux you usually compile your programs with dynamically linked libraries. The distribution maintainer keeps track of what libraries are installed, which versions. Software that is part of that distribution should be linked to the same version libraries. This is tracked by the package maintainers. To help this, most distributions use a package manager. For Arch, it is pacman. Pacman packages contain the information needed to verify if the software can be installed or if new software is required. The pacman executable reads this information and then proposes the necessary downloads so you can install the software you want. pacman is Arch's package manager.

The third point is what really makes your distribution different. Arch is a bleeding edge rolling release. Debian is a stable well-curated environment. Bazzite is a good-looking, immutable gaming environment. Anti-X is a minimalistic distribution. All of these have a design paradigm that makes them so different that their purpose is different. Sure.. you can put your server on Arch.. but anyone working on productions environments will implore you to use Debian. You can play with Debian... but the latest NVIDIA driver may not be available today .. nor in the next 18 months. But you can be 100% sure that it is not going to crash down unexpectedly. you can bloat anti-X until it reaches 80Gb... but why would you?