Since the beginning of Linux, different distributions come with different tools and packages, making it hard for developers to make sure that their applications work on all distributions. The most obvious user-facing differences are the choice in desktop environment (also see here for a timeline of default desktops) and the package formats used. I have looked at the most important Linux distributions for each year. Click on the years below to see what has changed over time. Overall, when looking at the seven categories below (desktop environment, toolkit, display server, init software, package formats, file systems, security modules) there has always been around 70-80% homogeneity across the four big distributions.
Select a year: 2000 2005 2010 2015 2020 Today
Source: eylenburg.github.io
Beginning of 2000 - 82% homogeneity
Major Linux Distributions | Default Desktop Environment1 | Preferred Toolkit for Applications2 | Default Display Server2 | Default Init Software | Default Package Formats | Default File System | Default Security Module |
Debian GNU/Linux | ![]() |
SysVinit | ![]() |
||||
GNOME | GTK | X11 | SysVinit | DEB packages | ext | None | |
Linux-Mandrake | SysVinit | ![]() |
|||||
KDE | Qt | X11 | SysVinit | RPM packages | ext | None | |
Red Hat Linux | ![]() |
SysVinit | ![]() |
||||
GNOME | GTK | X11 | SysVinit | RPM packages | ext | None | |
SuSE Linux | SysVinit | ![]() |
|||||
KDE | Qt | X11 | SysVinit | RPM packages | ext | None |
Beginning of 2005 - 79% homogeneity
Major Linux Distributions | Default Desktop Environment1 | Preferred Toolkit for Applications2 | Default Display Server2 | Default Init Software | Default Package Formats | Default File System | Default Security Module |
Debian GNU/Linux | ![]() |
SysVinit | ![]() |
||||
GNOME | GTK | X11 | SysVinit | DEB packages | ext | None | |
Mandrake Linux | SysVinit | ![]() |
|||||
KDE | Qt | X11 | SysVinit | RPM packages | ext | None | |
Fedora Core | ![]() |
SysVinit | ![]() |
||||
GNOME | GTK | X11 | SysVinit | RPM packages | ext | SELinux | |
SuSE Linux | SysVinit | ![]() |
|||||
KDE | Qt | X11 | SysVinit | RPM packages | ext | None |
Beginning of 2010 - 71% homogeneity
Major Linux Distributions | Default Desktop Environment1 | Preferred Toolkit for Applications2 | Default Display Server2 | Default Init Software | Default Package Formats | Default File System | Default Security Module |
Debian GNU/Linux | ![]() |
SysVinit | ![]() |
||||
GNOME | GTK | X11 | SysVinit | DEB packages | ext | None | |
Ubuntu Desktop | ![]() |
![]() |
|||||
GNOME | GTK | X11 | Upstart | DEB packages | ext | AppArmor | |
Fedora | ![]() |
![]() |
|||||
GNOME | GTK | X11 | Upstart | RPM packages | ext | SELinux | |
OpenSUSE | SysVinit | ![]() |
|||||
KDE | Qt | X11 | SysVinit | RPM packages | ext | AppArmor |
Beginning of 2015 - 68% homogeneity
Major Linux Distributions | Default Desktop Environment1 | Preferred Toolkit for Applications2 | Default Display Server2 | Default Init Software | Default Package Formats | Default File System | Default Security Module |
Debian GNU/Linux | ![]() |
![]() |
|||||
GNOME | GTK | X11 | systemd | DEB packages | ext | None | |
Ubuntu Desktop | ![]() |
||||||
Unity | GTK | X11 | Upstart | DEB packages | ext | AppArmor | |
Fedora Workstation | ![]() |
![]() |
|||||
GNOME | GTK | X11 | systemd | RPM packages | ext | SELinux | |
OpenSUSE Leap | ![]() |
||||||
KDE | Qt | X11 | systemd | RPM packages | btrfs | AppArmor |
Beginning of 2020 - 79% homogeneity
Major Linux Distributions | Default Desktop Environment1 | Preferred Toolkit for Applications2 | Default Display Server2 | Default Init Software | Default Package Formats | Default File System | Default Security Module |
Debian GNU/Linux | ![]() |
![]() |
|||||
GNOME | GTK | Wayland | systemd | DEB packages | ext | AppArmor | |
Ubuntu Desktop | ![]() |
![]() |
![]() |
||||
GNOME | GTK | X11 | systemd | DEB & Snap | ext | AppArmor | |
Fedora Workstation | ![]() |
![]() |
![]() |
||||
GNOME | GTK | Wayland | systemd | RPM & Flatpak | ext | SELinux | |
OpenSUSE Leap | ![]() |
![]() |
![]() |
![]() |
|||
KDE or GNOME | depends on selected desktop | systemd | RPM packages | btrfs | AppArmor |
As of today (2022) - 78% homogeneity
Major Linux Distributions | Default Desktop Environment1 | Preferred Toolkit for Applications2 | Default Display Server2 | Default Init Software | Default Package Formats | Default File System | Default Security Module |
Debian GNU/Linux | ![]() |
![]() |
|||||
GNOME | GTK | Wayland | systemd | DEB packages | ext | AppArmor | |
Ubuntu Desktop | ![]() |
![]() |
![]() |
||||
GNOME | GTK | Wayland | systemd | DEB & Snap | ext | AppArmor | |
Fedora Workstation | ![]() |
![]() |
![]() |
||||
GNOME | GTK | Wayland | systemd | RPM & Flatpak | btrfs | SELinux | |
OpenSUSE Leap | ![]() |
![]() |
![]() |
![]() |
|||
KDE/GNOME/Xfce | depends on selected desktop | systemd | RPM packages | btrfs | AppArmor |
Footnotes:
1: default or pre-selected desktop, same methodology as here
2: for default/pre-selected desktop