What is linux

The kernel

Linux is an OS kernel. This means it is a software component controls system resources like memory (ram), CPU, I/O devices, etc. Without a kernel, the system couldn't use its resources. The Linux kernel is licensed under the GNU General Public License, otherwise known as the GNU GPL license. This means it's code if freely available for modification and commercial use as long as the code is under the same license. 

The OS

Linux is a kernel. An operating system that uses the Linux kernel is a Linux distribution, or Linux distro. It is called that because it distributes the kernel bundled with an OS. Every Linux distro is different and suited for a different use case. Example: Arch Linux is a Linux distro focused on the bleeding edge of software meaning it is the latest version, which is very advantageous for gamers. Another example is Red Hat Enterprise Linux (RHEL). RHEL is a Linux distro for servers and production environments. Packages are usually a few versions behind for stability reasons, with exception of security patches. Stability is key for servers and databases. 

Package management

Linux distros usually come with a tool called a "package manager". This tool does exactly what the name implies. It manages packages, which are bundles of code for an application, by downloading the package and dependancies. Dependencies are other packages which are required to run another application. Why is this a great resource? Simple, it simplifies the install process to a single, secure, action. For example: if I wanted to install Firefox, on a Debian based Linux distro, I would run "sudo apt install firefox" and it would install Firefox. On some Linux distros, you have an app store, which is just like the one on your phone. It's a front-end for the command line package manager. Package managers are way more secure than downloading an exe from the web because the repositories are strictly maintained by members of the main developers and the community. 

Why use Linux?

Linux is open so you know exactly what code is running on your machine. This means that spyware cannot be embedded at the OS level. This also means people can look at the code in your OS and look for potential modifications to make it better. An example would be a developer who looks through the code of an OS and finds a major security flaw. This dev could just fix the flaw and submit a pull request to the main developers of the OS. Or maybe they find a way to make the package manager better by optimizing certain tasks. Truly the possibilities are endless when code is open.

Want to learn more?

Check out these websites to learn more about Linux:

https://www.linux.com/

https://www.linux.org/

https://linuxmint.com/