


What is the reason why there are so many Linux distributions?
All operating systems based on the Linux kernel are called "Linux distributions", and Linux itself is just a kernel. 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 .
What is a Linux distribution?
First of all, it’s important to understand what Linux really means. Linux is a kernel component that connects computer hardware and operating systems. 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. What are called "Linux distributions" are all operating systems that use the Linux kernel. 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 creation of Unix operating system standards and operating system competition led to the so-called "Unix Wars" era. 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.
At that time, many applications, including TAR and Emacs, were developed under the GNU General Public License. The project lacks an open source kernel, a computer component that helps operating systems and applications interact with the hardware.
Linus Torvalds started developing Linux in 1991, eight years after the GNU project was launched. GNU/Linux is the result of Linux being re-released a year later under the General Public License. Anyone obtains the Linux kernel using the GPL license, enabling them to build their own operating system and distribute it freely.
Many developers, inspired by the ability to create their own operating systems for free, began 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 release new Linux-based operating systems is simply because that's all 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.
Xubuntu, Kubuntu and Lubuntu are several different versions of Ubuntu. 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.
Developers can get contributions from anyone who shares insights and ideas to help the project grow. 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 providing tools that allow developers to create an operating system for any processor they want.
The distribution exclusive to Raspberry Pi devices is Raspbian OS. 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. Linux is the right choice for those who want more choice in their devices and digital life.
You can try several Linux operating systems and choose the one you think suits you best, or continue to copy and test other 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 acceptable since the license under which the Linux kernel is released allows anyone to modify and distribute the code without any restrictions.
The community support for the Linux operating system is very strong, so unique 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.
The above is the detailed content of What is the reason why there are so many Linux distributions?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



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.

C language conditional compilation is a mechanism for selectively compiling code blocks based on compile-time conditions. The introductory methods include: using #if and #else directives to select code blocks based on conditions. Commonly used conditional expressions include STDC, _WIN32 and linux. Practical case: Print different messages according to the operating system. Use different data types according to the number of digits of the system. Different header files are supported according to the compiler. Conditional compilation enhances the portability and flexibility of the code, making it adaptable to compiler, operating system, and CPU architecture changes.

1.0.1 Preface This project (including code and comments) was recorded during my self-taught Rust. There may be inaccurate or unclear statements, please apologize. If you benefit from it, it's even better. 1.0.2 Why is RustRust reliable and efficient? Rust can replace C and C, with similar performance but higher security, and does not require frequent recompilation to check for errors like C and C. The main advantages include: memory security (preventing null pointers from dereferences, dangling pointers, and data contention). Thread-safe (make sure multi-threaded code is safe before execution). Avoid undefined behavior (e.g., array out of bounds, uninitialized variables, or access to freed memory). Rust provides modern language features such as generics

The five basic components of Linux are: 1. The kernel, managing hardware resources; 2. The system library, providing functions and services; 3. Shell, the interface for users to interact with the system; 4. The file system, storing and organizing data; 5. Applications, using system resources to implement functions.

There are many reasons why MySQL startup fails, and it can be diagnosed by checking the error log. Common causes include port conflicts (check port occupancy and modify configuration), permission issues (check service running user permissions), configuration file errors (check parameter settings), data directory corruption (restore data or rebuild table space), InnoDB table space issues (check ibdata1 files), plug-in loading failure (check error log). When solving problems, you should analyze them based on the error log, find the root cause of the problem, and develop the habit of backing up data regularly to prevent and solve problems.

The C language function library is a toolbox containing various functions, which are organized in different library files. Adding a library requires specifying it through the compiler's command line options, for example, the GCC compiler uses the -l option followed by the abbreviation of the library name. If the library file is not under the default search path, you need to use the -L option to specify the library file path. Library can be divided into static libraries and dynamic libraries. Static libraries are directly linked to the program at compile time, while dynamic libraries are loaded at runtime.

MySQL cannot run directly on Android, but it can be implemented indirectly by using the following methods: using the lightweight database SQLite, which is built on the Android system, does not require a separate server, and has a small resource usage, which is very suitable for mobile device applications. Remotely connect to the MySQL server and connect to the MySQL database on the remote server through the network for data reading and writing, but there are disadvantages such as strong network dependencies, security issues and server costs.

The solution to MySQL installation error is: 1. Carefully check the system environment to ensure that the MySQL dependency library requirements are met. Different operating systems and version requirements are different; 2. Carefully read the error message and take corresponding measures according to prompts (such as missing library files or insufficient permissions), such as installing dependencies or using sudo commands; 3. If necessary, try to install the source code and carefully check the compilation log, but this requires a certain amount of Linux knowledge and experience. The key to ultimately solving the problem is to carefully check the system environment and error information, and refer to the official documents.
