Linux terminology
A collection of popular Linux terms. The goal of this dictionary to assist new users discovering desktop Linux.
Linux
Linux is an OS Kernel. The kernel is a key part of the OS, but is only one piece of the puzzle. The kernel manages hardware, system components, and more. The Linux kernel is what runs Android, the cloud, the web, some desktop OSs, and many more platforms. Linux is popular because it supports a wide variety of hardware.
GNU
GNU is a collection of utilities and software. In combination with Linux we have an OS, commonly referred to as GNU/Linux or GNU+Linux. However, a pure implementation of GNU/Linux is command line only. While most Linux systems also rely on GNU, not all do. For example, Android does not use GNU software.
Desktop Environment
A Desktop Environment provides the graphical user interface for the OS that the user will interact with from mouse/keyboard or touchscreen. There are dozens of different DEs available that offer different UX/UI experiences. Some popular DEs include Gnome, KDE, Deepin, Pantheon, Budgie, Cinnamon, Openbox, MATE, XFCE, and more.
Distribution
A Linux distribution (distro) is a collection of software to makes up a complete Operation System. Each Linux distro is an OS.
A Linux distro typically includes GNU utilities, DE, file browser, web browser, disk utilities, and much more.
Distros are created by commercial entities, community organizations, non-profits, individuals and more. These groups will take GNU/Linux and combine it various other software components to build a unique user experience. Different distros tend to emphasize and refine upon specific aspects of the user experience in accordance with their personal goals and values for their project.
Popular distros include Ubuntu, Fedora, Manjaro, Elementary OS, Pop OS, Zorin and more.
Open Source
The term open source refers to the nature of the underlying code. The Linux kernel is free and open source software. Software that is free and open source can be reviewed and modified by anyone it accordance with their needs. Thousands of users and organizations contribute to the Linux kernel which is why it is so flexible and versatile.
Upsteam / Downstream
Within software development, it is very common to build software on top of other existing software. For example, Android relies on the Linux kernel to work successfully. Because of this dependency, it is common for Android developers to contribute features and improvements to the Linux kernel. When Android developers provide features for Linux, they are contributing code "upstream". Improvements that go upstream positively affect many other downstream projects.
Package
A package is an individual piece of software that has a specific task. It is common for a Linux desktop app to be a collection of many individual packages.
Package Manager
Desktop Linux distributions relay on a package manager to provide updates to the system. Because a distro is a collection of many other pieces of software, it is important that the OS providers a centralized method to ensure the software is up to date and can operate as expected.
Contributors
The Linux community is made up of hundreds of thousands of people who develop software to make Linux successful. Some contributors are directly employed by commercial entities who benefit from Linux. While other contributors provide their free time because they are passionate about the OS or project itself. Contributions can range from software development, software testing, advocacy, documetation writing, graphic design, marketing, and more.
Check out distro picks next.