hi
i wanna nerd abt linux if u want read if u dont then dont ty, easy simple, anyway, ill literally b covering linux from a to z so like if u knnow linux alrd this probs wont b interesting and u probs have ur opinions on gnu and whatnot, esp the start when im explaining basics, this is all opinions and personal exp so like dont take anything i say to heart danke
first topic lets get the basics -- linux,, linux isnt an operating system on its own, linux is actually an open source kernel -- a collection of apis, drivers, standards and other stuff allowing to interface with the hardware via code, it handles anything hardware related and is basically the 2 nd lowest thing on ur computer -- first one being efi firmware, which handles hardware initialization, loading of bootloaders and general base settings -- like the spark plug of the computer
but u cant rlly use a kernel on its own as is, this is where gnu+linux comes in, first to explain what gnu even is :
gnu is a non-profit organization founded by richard stallman in 1985 which aims to promote and develop free and open source software ( foss ), it advocates for users' rights to study, run, modify, distribute and share pieces of software ( their code ), gnu has made a huge impact on the open source community by creating open source license called gpl, a foundation named fsf and many popular open source projects, a famous example being gnu bash -- an extremely popular shell used in many linux distributions
although gnu has their issues with for example code quality, from personal exp gnu standards, code cleanliness, optimization and structure tend to b all over the place, well the code quality does vary, but still, overall from what ive seen -- gnu code sucks, ill give it to them that the finished product is an easily usable utility with a good high level user interface, but like the code behind the scenes is horrid lol
my concern is that with such code less and less people will want to contribute and as gnu is extremely important to the open src community its very scary to see it be like this lol, i tried to contribute to gnu bash, boy when i saw that styling, structure and shit i ran away far far screaming for my dear life lol, i mean its not the worst gnu code ive seen but goddamn
gnu also tends to fuck the standards lol, it doesnt stick to the core of posix, it adds its own things and that not only enforces users to write bad code but also can make software slower, like ill give an example -- bash, users tend to use bash over posix sh and bash scripts arent posix meaning it just sucks overall, bash also tends to b slower than just pure posix as it has more features and weirder standards, it can all b done in a posix script basically just as easy, there are some caveats, but generally stick to posix sh lol, bash makes u use their standards and i at least see standards as very important things, for example posix as per compared to not as solid or wide-spread gnu standards
but not all hope is lost with gnu+linux, a lot of distributions tend to strip out a lot of control out of gnu, gnu can handle many things including :
many distributions tend to use a couple of components of it, but at the end of the day its mainly users' choices, instead of gnu coreutils u can use busybox instead of gnu gcc u can use llvm clang, instead of gnu-efi firmware u can use tianocore, instead of gdb u can use lldb, instead of gnu grub u can use systemd-boot, instead of shepherd u can use openrc, instead of gnu guix u can use portage utilities and so on, theres alternatives to everything gnu and the alternatives that ive mentioned have alternatives -- its linux, the choice is urs
tl;dr my main criticisms for gnu are code quality, performance and their standards, which can not only b less weird but can also b solid, simpler and generally id say most people would say better -- try posix :3
but thats where bsd comes in, during the unix wars bsd and linux were rival competitors, at the end linux won, but bsd is still a great choice today if ur looking for simplicity, solid standardization, great licensing, freedom, choice, re-usability, recreate-ability and general cleanliness, bsd is very so-to-say correct and does not go off the track ever, although as it lost the unix wars its much less popular and has less support for drivers ( hw support ), community support might suck, breaking changes might still happen and bugs might b more common as maintaining a project almost the size of linux with a community significantly is much harder, meaning also harder to catch bugs and stuff, although because of bsd standards its much easier to fix and its probably not as bad if theres a bug in bsd if theres one in linux -- the bsd standards separate stuff more so if one part is going to fail theres 10 to back it up
i personally prefer bsd standards, but i like linux, but thats where minimalist linux distros come in, heres a few examples :
these distributions are source-based meaning u can change p much anything, although in this case gentoo would b a worse choice than crux
and another good example would b
it limits gnu stuff enough while still being a binary-ship distro, like using busybox for coreutils and musl instead of glibc
void linux isnt the worst either tho, but id say a worse alternative compared to alpine
generally id say gnu+linux is def important, but there should b a balance, and seeing how gnu treats their standards, code quality and stuff id say minimize gnu
but yeah, enough abt gnu and stuff, even though its a huge part of linux, i wanna talk abt some linux distributions as ive mentioned before
the sheer amt of linux distributions is honestly beautiful, this just shows how much choice linux users have, how versitile linux is and how generally amazing linux is, theres distros focused on perfromance and size ( alpine linux, void linux ), distros focused on user friendlyness ( ubuntu, debian linux, linux mint ), distros focused on user freedom ( gentoo, crux ), distros made for phones ( android, postmarketos ), distros made for servers ( debian, rocky linux ) and so on, its very cool
although this can lead to a lot of bullshit, for example a user-oriented linux distribution garuda linux, in my honest opinion -- it was one of the worst ideas known in the linux history, i mean its my opinion, but i truely do believe in what im saying -- its extremly huge, its extremely bloated, its horribly stupid and generally its a horrid distro, it takes more resources to run garuda normally than it takes to run windows, like how do u manage to fuck linux up this bad lol, i never liked that distro and never will, im sry xD
i feel stupid currently, i forgot what i rlly wanted to even say abt linux distros, but anyway yh, thats it ig xD, this is
but theres some other stuff like corporate involvement, code size and community stupidity sometimes, but oh well, like linux could not survive without corporate involvement so yeah, code size is huge, 27 mil lines of code probs even more now, and thats excluding stuff like coreutils, and stupid community decisions like introducing rust into the kernel, but ig if i use it i gotta live with it lol
linux can sure b amazing, but some stuff def annoys me abt it, anyway, i def advocate for bsd more than gnu+linux, or at least non-gnu linux, idk, its all opinions and preferences, dont take any this to heart im just saying xD
anyway, thanks for listening to my 124ing and i shall no go back to not touching grass or something, idk, cya next time :3