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 programs were made for specific hardware making switching to alternatives very difficult and user-opinion had little impact on the development process leading to unusable tools.

Richard Stallman, frustrated by these shortcomings, announced the GNU project.
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
Gimp
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.
Soon after, complete packaged systems called "distributions" or "distro" for short, appeared. Notably Debian, Slackware and Red Hat. 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 gui packages that would create what we know today as desktop environments (I will go more into details for these later).
note : this is why Linux is sometimes called GNU/Linux

If you didn't understood everything, it's ok, you don't need to know any of this.


How to use Linux ?

When booting (starting), your computer uses the bootloader 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*. This is how you install Linux.

You flash (write a bootable image) a Linux distribution on some storage device, you start your computer using it and from there you permanentaly install the distribution onto your disk.

note : "firmware" refers to the software that your hardware needs. You can download some firmware (such as drivers) but in the case of device support, it is motherboard dependant

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 of your chosen distro to know).
-Flash the ISO file onto your storage device using some dedicated tools (Rufus and Balena Etcher are common recommendations).
-Go into your BIOS settings*
-Change the boot order so that the flashed device is first.
If all goes well, you are now starting 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 top key like "f1", or "delete". hint : Just spam all of them at boot and it should work).

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

Note that at this point nothing has been installed on your disk yet, you are running on the storage device. Many distros allow you to use the system while in this state to try things out.
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) Select your locale, language, keyboard layout and other region dependant settings. :

-The locale is a set of settings dictating how to display information based on language and region. Such as 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 and create a user account.

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 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 the installer will create everything 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 for ordinary use.

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 program and a configuration files detailling the verison and the 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 it needs the adress of a server meant for that purpose (repository*). So when, in debian, you run in the terminal*
apt install MyPackage
it will look through the list of packages given by the repository and check if it contains "MyPackage", and if you run
apt update
it will ask the repository for an updated list of packages.
apt remove MyPackage
will remove "MyPackage". And
apt upgrade
will upgrade all of the installed packages to their latest versions.

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.