Some history


Back in the 1970s, the software landscape was very different from what it is today. Most software was proprietary, meaning that you could not read, modify or share the source code. Companies charged high prices for licenses, making tools inaccessible for small organisations. Many applications were made for specific hardware making switching to alternatives very difficult and users had little impact on the development process leading to unusable tools.

Richard Stallman, frustrated by these shortcomings, announced the GNU project.
GNU is a recursive acronym standing for "GNU's Not Unix".
To this day, tools made by the GNU project are widely used, some of which you may know :
The GNU Compiler Collection (GCC).
Bash
Emacs
GNU Core Utilities (command-line tools like ls, cp, rm)

The lack of a widely adopted and free kernel at the time pushed Linus Torvalds to begin creating the Linux kernel in 1991. At the time, Linux was only the kernel, so it was not usable on it's own.
Soon after, complete packaged systems called "distributions" or "distro" for short, appeared. Notably Debian and Slackware. They bundle the Linux kernel and other utilities like the GNU tools*, documentation and one or more package managers. On top of that people added window systems and desktop environments (I will go more into details for these later).
note : this is why Linux is sometimes called GNU/Linux


How to use Linux ?


Ironically, to use Linux as your operating system nowadays, you already need an operating system.
When booting, your computer uses the bootloader present in your disk, what most people dont know is that you don't have to boot from your disk, you can boot from essentially any storage device like a USB drive or a CD as long as they have a bootloader on them and are compatible with your firmware*. And that's what you use to install Linux. You put a Linux distribution on some storage device, you boot from it then you install Linux and the distro on your disk.
This means that you need to have your storage device flashed with the distro you are trying to install, and for most cases, this requires an operating system.

note : "firmware" refers to the software that is permanently programmed into your hardware. You can't really change it so it sucks if it is outdated.

In practice, it would go like this :
-Get a disk image file (in the .iso format) of the distro of your choice. -Verify the integrity of the ISO file if the installation guide requires it (check the installation guide to know).
-Flash the ISO file onto your storage device using some dedicated tools (Rufus and Balena Etcher are common recommendation).
-Go into your BIOS settings and change the boot order so that the device where you flashed the ISO goes first.
-Save and quit the BIOS settings
If all goes well, you are now booting into Linux.

note : The BIOS is a small piece of firmware stored on the motherboard, it is actually an outdated term as it was replaced with the more recent UEFI. To access it you need to spam some key on your keyboard while booting (most of the time it's one of the f key like "f1", or the "delete"" key. hint : Just spam all of them at boot and it should work).

note 2 : You might need to disable secure boot and fast boot in the BIOS settings.

Note that at that point nothing has been installed on your disk yet, you are running on the storage device. Many distros allow you to use the system to "try things out" which is the point where you would want to test if any of the software that you plan to use actually works on this distro*.
As for the installation process to your disk itself, it's gonna depend on the exact distro that you are using, I'm gonna talk about 3 major concepts but won't go into the details of each distro's installation process.

note : look for an "installation" app on your desktop or something like that to proceed to the permanent installation

1) Selecting your locale, keyboard layout and more :

-The locale is a set of settings dictating how to display information based on language and region region. This include language for menus, currency, date and time format etc...
-Not everyone has the same keyboard layout, for instance, in English speaking counties the first 6 letters on a keyboard are "qwerty" while in French speaking countries they are "azerty". You need to find which layout you are using.
-You might be asked to input your network settings, timezone, to create a user account or other secondary settings.

2) Partitioning :

You must make space on your disk to install Linux, and I'm not talking about the free space you see in your file explorer.
Your disk is divided into sections that are called "partitions", they divide your disk into multiple parts that don't interfer with each other, Linux needs it's own partition.
Luckily, most distros don't require you to make them manually, as long as there is unpartitioned space on your disk the installer will create one automatically.

note : On windows there is a built-in tool to reduce the size of the windows partition while in it. In any other case you should not change a partition that is currently in use (boot from another storage device and change the partition from there).

note 2 : The exact size you need is going to depend on the distro but 50GB is a sane minimum.

3) Selecting mirrors :

When introducing distros at the beginning I said that it bundled a package manager with the kernel.
Packages are what most of the Linux ecosystem agreed to be the main way of using programs. They usually contain the actual code of the program, configuration files, documentation and dependencies*.
To install packages you will generally use a package manager, which is a piece of software that will handle installation, update, dependencies and removal of packages. Debian for instance uses the "advanced package tool (apt)".
For the package manager to know from where to install these packages you need to give it the url to some server (repository*) that contains the packages that you are looking for. So when, in debian, you run in the terminal
apt install MyPackage *
it will look through the list of url it has and check if any of them has "MyPackage", and if you run
apt update
it will search after any update for the packages that you have installed, similarly
apt remove MyPackage
will remove "MyPackage".

note : Dependencies are other pieces of software that your program needs to run, they are probably libraries : collections of pre-written code that programmers use so they don’t have to write everything from scratch.

note 2 : Often simply called "repo", repositories are servers dedicated to provide packages, they generally contain many packages.

note 3 : Most modern distros have a built-in software-manager where you can install packages in a nice graphical user interface, removing the need to use the terminal.

Luckily, you dont have to manually give your package manager a giant list of urls, one for every software that you use, and that's because distributions have their own repositories that contain many packages, all of them should have been tested (at least for security) and are most likely usable out of the box.

Mirrors are, as the name implies, servers that store exact copies of your distribution's repositories. You are meant to choose a mirror as close to your location as possible to have the fastest download/update speed.


After the installation process you should be able to boot into Linux (for really this time). Most distros include a boot manager when installing which allow you to choose in what operating system to start when booting.


What distribution to choose ?


I mentionned a couple of distros already, but if you search on internet you will find out that there is many, many more. And if you look into it even further you will find out that the discussion on what distro to pick is very opiniated. So I will not waste time and write the n-th guide on how to choose your distro, instead I will tell you why you should or shouldn't pick a distro as well as give you some extra informations.

You should pick a distro because :
-it alligns with your morals/beliefs (freedom of use, community driven project...).
-it is easy to use (there is no shame in being a newbie).
-it is stable.
-it is modern.
-it has features that you need/want.
-it would be a good learning experience to install and use.
-it is popular.

You shouldn't pick a distro because :
-it sounds cool and makes you feel like a pro/hacker (looking at you Kali Linux)*.
-it has a nice user interface (UI) (I will explain why in the dekstop environment chapter).
-you want to be able to post "I use arch btw".

note : I did say this was an opiniated topic.

Notice that I put modernity and stability as two seperate reasons, this is because they can hardly be both present.
Stability is achieved through patience, meaning that you don't update when you are not 100% sure that the next version is stable and that you don't use brand new/untested software.
This might seem like a no brainer but every features goes through a testing phase, refusing to engage with this phase means being a step behind from modernity. Note that stability doesn't stop a distro from looking and feeling clean.


Desktop environments.


The desktop environment (DE) is your operating system's UI, that include the taskbar, the app launcher, windows, panels, menus, icons, sounds etc...
Newer DEs tend to be huge ressource eaters, which is fine if you have a good computer but can impact performance on lower-end machines. This is why there is DEs that are designed to be lightweight and to not use too much ressources.
Almost every distro come with a preinstalled DE and beginners tend to take that as a reason to pick one distro or another, installing the one that has a DE they like.
But there is nothing stopping you from changing your DE yourself. Admittedly this is not as easy as opening the built-in software-manager and clicking "install" but running "packageManagerName install DEname"* is not rocket science either.

note : In most distros you can select which DE you want to use at the login screen.

There is no good or wrong choice of DE, my advice is to make a list of popular ones that can run on your machine and to test all of them. Some like myself might choose to not use a DE at all, deciding instead to install/make every component of the UI themselves for maximum customizability.


Closing remarks.


There is much more to say about Linux but this introduction is already long so here are a couple of one line remarks :
-You shouldn't trust this intro on it's own, it might be outdated, not adapted to your distro or straight up wrong, go find more sources before acting.
-You don't need to learn all about the terminal right from the start, just learn how to use ls and cd then search online other commands as you need them.
-Linux is not the only open source operating system, stuff like FreeBSD is worth looking into.
-Linux is not that hard, years of pushing toward user-friendliness has made the Linux experience quite intuitive.
-I started Linux with Linux Journey (Linux Path seems to be an updated version ?).
-You don't need to buy a course to use Linux, it kinda defeats the point.
-You don't have to use the package manager of your distro all of the time, stuff like flatpak exist.
-I use arch btw.

Love and blessing onto all who made open source projects as viable and good as they are today.