Home Common Problem Why are there so many Linux distributions?

Why are there so many Linux distributions?

Mar 16, 2023 am 10:12 AM
linux

Linux is the kernel, and all operating systems that use it are called "Linux distributions." The Linux kernel is licensed under the GNU General Public License, which gives anyone the right to view, edit, and distribute any application of the kernel; the ability to create your own operating system for free encouraged many developers to start creating their own distributions .

Why are there so many Linux distributions?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

Unlike Windows and macOS, installing Linux is not easy. Searching for the keyword Linux on the Internet will bring you many operating systems with different names, but there is no operating system called "Linux". why is that?

Linux is increasingly becoming the operating system of choice for both experienced tech enthusiasts and everyday users. But why are there thousands of operating systems or "distros" collectively called "Linux"? Why do developers keep creating so many operating systems of the same type? Let’s find out through the article below.

What is a Linux distribution?

First of all, it’s important to understand what Linux really means. Linux is not an operating system, but rather a kernel, the component that connects computer hardware to the operating system. When you launch an application on your computer by clicking on an icon, the kernel communicates with the operating system to launch the application and displays the output on the screen, i.e., through the hardware.

The operating system consists of the underlying kernel, applications and the usual graphical user interface. Linux is the kernel, and all operating systems that use it are called "Linux distributions." The term "distribution" comes from the process of sharing a Linux-based operating system with other users, also known as "distribution" because the kernel and operating system are usually free.

What creates so many Linux distributions?

The Linux kernel is licensed under the GNU General Public License, which gives anyone the right to view, edit, and distribute any applications of the kernel. But that's not always the case.

Prior to this, Unix was a popular operating system, but its source code was owned by AT&T. Some time later, BSD (Berkeley Software Distribution), an operating system primarily based on Unix, was born at the University of California, Berkeley. There were many other Unix-based operating systems at the time, and they were all very different.

The lack of standards for creating Unix-based operating systems and the rivalry between operating systems led to an era known as the "Unix Wars". Various vendors released their own versions of Unix and began developing their own standards, including AT&T and BSD.

History of the development of Unix versions

In 1983, Richard Stallman started the GNU Project, which focuses on the development and distribution of free and open source software. The GNU Project aims to create a free version of Unix that anyone can copy and freely distribute.

Many applications at the time were developed under the GNU General Public License, including TAR and Emacs. But the project lacks an open source kernel, the part of the computer that helps operating systems and applications interact with the hardware.

In 1991, eight years after the GNU project was launched, Linus Torvalds began developing Linux. A year later, Linux was redistributed under the General Public License, becoming what we now know as GNU/Linux. Because the Linux kernel is licensed under the GPL, anyone can create an operating system on top of it and distribute it freely.

The ability to create your own operating system for free has encouraged many developers to start creating their own distributions. Various distributions including Debian, Red Hat, and Slackware were released at that time, starting the Linux revolution.

Why create a new Linux distribution?

The main reason developers continue to create and distribute new Linux-based operating systems is simply because that's what they can do. Linux kernel and free applications. Creating the entire operating system's resources on the kernel doesn't cost a penny either.

Today, few people create a distribution from scratch. Instead, they use another popular distribution and build a new operating system based on the old operating system, or modify it, add to it with new GUIs and applications.

Ubuntu has multiple versions, such as Xubuntu, Kubuntu and Lubuntu. The only difference between the 3 versions is the desktop environment. Xubuntu, Kubuntu and Lubuntu have XFCE, KDE Plasma and LXDE respectively instead of the default custom GNOME desktop that comes pre-installed on Ubuntu.

The main goal of an operating system is to make it easier for users to use the desktop. When someone wants a new feature in an operating system, the traditional route is to provide feedback to the company that developed the operating system. The GNU Project revolutionized this.

Users will work together to build the operating system according to their own wishes

Users themselves will use, develop, provide feedback, deploy and ultimately distribute the open source distribution. You are free to create your own distribution and add the features you want in the operating system of your dreams.

Anyone with the same ideas and opinions can contribute to the project and help the developers. No need to contact the company or fill out feedback forms to get extra features added to the operating system.

Not only users, but even large companies will create new distributions for internal use within the company. Microsoft's CBL-Mariner is a typical example. This is mainly because large companies do not want to use distributions created by other users and want to develop their own operating systems from scratch or based on another mainstream distribution.

The Linux project has grown to the point where tech giants like Google have begun to rely on the Linux kernel in some projects. Take Android and Chrome OS for example. Android uses the Linux kernel internally, and Chrome OS is built on Gentoo Linux, a distribution released in 2000.

Gentoo Linux

Another reason for Linux desktop fragmentation is the wide variety of devices available. In addition to desktops, other devices, such as those based on ARM processors, also require an operating system to run. Linux solves this problem by giving developers the tools to create an operating system for any processor they want.

Raspbian OS is a distribution created specifically for Raspberry Pi devices. You can also find countless distributions developed to run on older processors that are not supported by proprietary operating system vendors.

Do you really need so many distributions?

If you just need a computer and an operating system to get the job done, of course not. You can use any operating system as long as it suits your capabilities. But for those who want more choice when it comes to their devices and their digital lives, Linux is the right choice.

You can try several Linux operating systems and choose the one you think is best, or continue to copy and test new distributions. Linux gives you this choice. As long as people continue to support and contribute to the open source ecosystem, you will continue to see new distributions developed and released for free on the Internet.

This is how open source works!

Although many proprietary operating systems, such as Android and macOS, have closed source code bases, they use Linux as the basis for their projects. This is perfectly acceptable because the license under which the Linux kernel is released allows anyone to modify and distribute the code without any restrictions.

Thanks to the huge community support behind the Linux-based operating system, new exclusive features are constantly being added to the distribution. While you can find many of these features on other proprietary operating systems like Windows and macOS, some of them are limited to a handful of Linux distributions.

Related recommendations: "Linux Video Tutorial"

The above is the detailed content of Why are there so many Linux distributions?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to open web.xml How to open web.xml Apr 03, 2025 am 06:51 AM

To open a web.xml file, you can use the following methods: Use a text editor (such as Notepad or TextEdit) to edit commands using an integrated development environment (such as Eclipse or NetBeans) (Windows: notepad web.xml; Mac/Linux: open -a TextEdit web.xml)

Four ways to implement multithreading in C language Four ways to implement multithreading in C language Apr 03, 2025 pm 03:00 PM

Multithreading in the language can greatly improve program efficiency. There are four main ways to implement multithreading in C language: Create independent processes: Create multiple independently running processes, each process has its own memory space. Pseudo-multithreading: Create multiple execution streams in a process that share the same memory space and execute alternately. Multi-threaded library: Use multi-threaded libraries such as pthreads to create and manage threads, providing rich thread operation functions. Coroutine: A lightweight multi-threaded implementation that divides tasks into small subtasks and executes them in turn.

What is the Linux best used for? What is the Linux best used for? Apr 03, 2025 am 12:11 AM

Linux is best used as server management, embedded systems and desktop environments. 1) In server management, Linux is used to host websites, databases, and applications, providing stability and reliability. 2) In embedded systems, Linux is widely used in smart home and automotive electronic systems because of its flexibility and stability. 3) In the desktop environment, Linux provides rich applications and efficient performance.

How is Debian Hadoop compatibility How is Debian Hadoop compatibility Apr 02, 2025 am 08:42 AM

DebianLinux is known for its stability and security and is widely used in server, development and desktop environments. While there is currently a lack of official instructions on direct compatibility with Debian and Hadoop, this article will guide you on how to deploy Hadoop on your Debian system. Debian system requirements: Before starting Hadoop configuration, please make sure that your Debian system meets the minimum operating requirements of Hadoop, which includes installing the necessary Java Runtime Environment (JRE) and Hadoop packages. Hadoop deployment steps: Download and unzip Hadoop: Download the Hadoop version you need from the official ApacheHadoop website and solve it

Do I need to install an Oracle client when connecting to an Oracle database using Go? Do I need to install an Oracle client when connecting to an Oracle database using Go? Apr 02, 2025 pm 03:48 PM

Do I need to install an Oracle client when connecting to an Oracle database using Go? When developing in Go, connecting to Oracle databases is a common requirement...

Is Debian Strings compatible with multiple browsers Is Debian Strings compatible with multiple browsers Apr 02, 2025 am 08:30 AM

"DebianStrings" is not a standard term, and its specific meaning is still unclear. This article cannot directly comment on its browser compatibility. However, if "DebianStrings" refers to a web application running on a Debian system, its browser compatibility depends on the technical architecture of the application itself. Most modern web applications are committed to cross-browser compatibility. This relies on following web standards and using well-compatible front-end technologies (such as HTML, CSS, JavaScript) and back-end technologies (such as PHP, Python, Node.js, etc.). To ensure that the application is compatible with multiple browsers, developers often need to conduct cross-browser testing and use responsiveness

libv are two libv are two Apr 03, 2025 pm 08:03 PM

I developed a project called Lua-Libuv and am happy to share my experience. The original intention of the project is to explore how to use Libuv (an asynchronous I/O library written in C) to build a simple HTTP server without having to learn the C language in depth. With the help of ChatGPT, I completed the basic code of HTTP.C. When dealing with persistent connections, I successfully implemented closing the connection and freeing resources at the right time. At first I tried to create a simple server that ended the main program by closing the connection, but I had some problems. I've tried sending blocks of data using streaming, and while it works, this blocks the main thread. In the end, I decided to give up on this approach because my goal was not to learn C language in depth. Finally, I

Unable to log in to mysql as root Unable to log in to mysql as root Apr 08, 2025 pm 04:54 PM

The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.