I have used quite a few free operating systems and I decided to create a more detailed comparison of a few more popular or major free operating systems, including:

Now to be clear, what I mean by “free” is free of monetary cost to the end user, I am not referring to the Free Software Foundation (FSF)’s definition of “free”.

Proper Etiquette in forums and IRC channels

In this section I intend to help people get the most out of forums, IRC channels and other forms of user support media. If you are looking for help it is important to always remember that those helping you are, generally, unpaid individuals, volunteering their free time to help you. Beware though, just because they may have had good intentions, does not mean that everyone in these forums and channels will be in a helpful mood. As these volunteers, just like all of us, sometimes have one of those days (or have just come from a situation that put them into such a mood) where they are quick to anger and negative assumptions. As these people are volunteers that are trying to help you, good manners, basic courtesy (like do not make your own negative assumptions about them!), clearly explaining the problem (which can be far more difficult than it sounds, if you are having trouble, remember a picture says a thousand words) and trying to troubleshoot your own problems before asking for help is always a good idea. The first thing you should always do is read any rules of the forum or IRC channel (that is, if they have them, I know the Arch Linux and Gentoo Linux forums have them though).

Equally important to trying to troubleshooting your own problems, is mentioning your attempts to troubleshoot your own problems in detail. This serves two equally-important purposes: for one, it gives those interested in helping you information as to what has not worked yet (in case they are thinking like you did that what you have already tried might work) and secondly it tells them you have done your research. As if you do not tell them about your own troubleshooting attempts (in as much detail as possible, too little detail and they will probably assume you are lying or exaggerating your efforts to fix the problem), they will usually assume you have done little, if not nothing, to troubleshoot the problem. I know this from first-hand experience, it is especially true with the support communities of do-it-yourself (DIY) distributions like Arch Linux. With Gentoo Linux, openSUSE and Ubuntu, usually the support communities are a little more forgiving and tolerant.

It is also important to remember that if no one gives you an answer to a question you ask, it does not mean they are ignoring you, or that your question is not a valid one. It usually means that no one has an answer for you, at that point in time. I know this can be frustrating (you will find several questions of mine on Atom Discuss, AskUbuntu and several other online sources that have no answers), but unfortunately it is life. Do not let this cause you to be rude to people trying to help you.

I would also like to clarify what is helpful and unhelpful criticism in my books, as I hope it will help both the helpers in these support communities and the help recipients. To me what constitutes helpful criticism is detailed criticism that is intended and, reasonably expected, to result in positive change and not offend the person to whom the criticism is directed. It is usually phrased in a way that criticizes their actions, or their work, instead of the person themself. It is things, like proposing how someone can improve their experience in a forum or IRC channel, in a way, that is polite (so no name-calling and no profanity) and clear (sarcasm is usually a poor idea, as it is liable to offend and without facial expressions and other social clues it can be difficult to tell when sarcasm is intended). Faulty assumptions are usually a way to turn potentially well-meaning criticism into unhelpful criticism. Unhelpful criticism is usually vague (like “this is a load of ….”), does not specify the exact problem, does not offer any solutions to the problem (if there is one, as sometimes one has to ask if they are merely letting off steam and you just happen to be in the way) and is unnecessarily offensive or rude (if you are trying to avoid unhelpful criticism, I usually find using “LOL”, “ROFL” or any other laughing gesture is not a good place to start, as it makes people think you are laughing at them or what they are saying. Likewise using profanity usually inflames the situation without any benefit).

Generally speaking, beginner-friendly distributions have more friendly, slower to negative assumptions (I will clarify this in the next sentence) support communities than those of advanced distributions like Arch Linux. By negative assumptions, I mean a number of different assumptions (that often end up being false) I have seen people jump to, including:

  • That you are not doing your own research on the issues you are asking for help with. Likewise that you are not trying to troubleshoot your own problems. This is why it is crucial to explain all your troubleshooting efforts in detail. Do not just say, “I Googled the problem and found no solutions.” Tell them which results you looked at, if there were any that you did not understand (and hence may need help understanding, give details on exactly what you do not understand!) what you have tried based on the search results you did find and what output (if any) you received from these efforts. I know that this can be annoying to have to spell out to people, but sometimes it is a necessary annoyance.
  • That you are, even deliberately, not giving them enough information. This is a false assumption I have seen when I had an Xorg issue, that prevented me from copy-pasting everything into the Arch Linux forums (to help those trying to help me). Sometimes the situation itself can make it difficult to share information, so one only shares what one thinks (sometimes mistakenly) are the only relevant pieces of information.
  • That you are not even trying to help them help you. That you want them to magically do everything for you. This is an assumption they are most likely to jump to, if they think your question is not clear. There is no shame in taking a few extra minutes to write your question as clearly as possible. This is something I have had difficulty with too, as sometimes the situation I am in is challenging to explain in words. It is usually in these situations that I use pictures to help me with my explanations.

Beware that while DIY distributions usually have community members that are faster to negative assumptions and anger, I have found the odd negative-assumer in the communities of the fairly beginner-friendly distributions, Manjaro Linux and in the Sabayon Linux.

Frequently-Asked Questions (FAQs)

This section covers some common questions I expect to arise from this post.

Question 1

Question: Which free operating system is best for an old computer?

Answer: Well, one has to account for personal preference and that there is, of course, some variation in what constitutes an old computer, but the following distributions are likely the best for most users operating on old hardware:

  • antiX — a Greek Debian (stable) derivative that uses the IceWM window manager as its default user interface.
  • Bodhi Linux — a Ubuntu LTS derivative that uses the Moksha window manager (a fork of the Enlightenment window manager) and ships with only four pre-installed applications.
  • Lubuntu — the one I would be recommending for most users, especially beginners. It is an official Ubuntu derivative and uses the lightweight LXDE desktop environment.
  • LXLE — a Ubuntu LTS derivative that uses the lightweight LXDE desktop environment by default.
  • Puppy Linux — an Australian distribution that I have never managed to install in a VirtualBox VM due to graphics and mouse issues. I have never tried to install it onto my hard disk, so I have no idea how it runs on an actual machine (as opposed to a VirtualBox VM).
  • Quirky Linux — a Puppy Linux-derived distribution, that I have also failed to install in VirtualBox VMs.
  • ReactOS — a Russian open-source, binary-compatible clone of Microsoft Windows NT. Its aesthetics most closely resemble those of Windows 2000 or XP. Most binaries built for Windows XP are compatible with ReactOS.

For a list of further, presently-maintained operating systems that are designed to run on older computers see this DistroWatch search. Not covered in this list are minimalist, extensively-customizable operating systems like:

these operating systems are more oriented towards intermediate-advanced users, but as they are so customizable it is possible for the user to install a lightweight desktop environment/window manager and hence make them suitable for older computers. All six of these distributions are presently compatible with 32-bit (i386, i486, i586, i686) and 64-bit (x86_64) systems, but beware Arch Linux presently only supports i686, x86_64 and ARM systems, with i686 support set to be phased out over the coming months.1

Question 2

Question: Which free operating system is best suited to a developer?

Answer: Developers are people too, so inevitably there will not be one single distribution that is best for every developer. Fedora is specifically designed for software developers, especially those with a preference for open-source software. Linus Torvalds even uses this Linux distribution while working on the Linux kernel. Some developers will want a more stable distribution (that way, they can spend more time on their work, as opposed to filing bug reports and otherwise spending time on system maintenance), especially those with vast repositories (so that they can more easily get whatever software they want), for those developers the following distributions may be best: CentOS, Debian, Ubuntu (LTS) and derivatives thereof (like elementary OS, Linux Mint, Q4OS, Zorin OS, etc.). Likewise others will want a highly configurable operating system in which case they may want: Arch Linux, Debian, FreeBSD, Gentoo Linux, Sabayon Linux or Slackware.

Semicode OS was also designed specifically for developers and has several IDEs and text editors pre-installed.

Question 3

Question: What is so important about out-of-the-box FUSE support? (Hence why did I include it in my infoboxes?)

Answer: FUSE is used for easily mounting file systems without root privileges. It is useful for a few things, including running AppImages (the cross-distribution packaging formats).

Question 4

Question: What is the relevance of the default file system of operating systems?

Answer: File systems are relevant for a few different reasons. The main reason is that the Btrfs file system used by openSUSE allows for snapshots of the operating system to be taken, that one can rollback to if the operating system becomes unusable later. This can be incredibly handy, especially when one is using openSUSE Tumbleweed which I have found incredibly easy to inadvertently break, rendering it unusable. Beware though that the tool one uses to rollback Btrfs file systems is called snapper and it will only work if it can access DBus, hence it cannot be run (to my knowledge, at least, do correct me if I am wrong!) from a chroot (and, of course, a chroot is sometimes necessary to recover an OS that will not boot).

Package Managers

In this section I will briefly review the key characteristics of the package managers of the operating systems reviewed in this post.

Debian Package Management

dpkg and its higher-level official front-end APT are used extensively by Debian-based operating systems. dpkg was initially developed in the early-mid 1990s by Ian Murdock (the founder of Debian) and a few other members of a fairly small development team. Originally it was written predominantly in Perl, but it was later rewritten in C. APT’s development began in the mid-late 1990s and it was and still is written predominantly in C++, with most of the remaining code being written in Shell. When installing a package that has already been downloaded (and placed in the cache) the APT/dpkg combination installs packages fairly fast, although slower than pacman and ZYpp do.

Debian packages are built using a tool called debuild (which is provided by a package called devscripts), which uses the contents of a specialized folder usually named debian, along with the upstream source code, to construct the Debian package. Usually the debian folder is placed as a subfolder of the upstream source code. The most important file in this folder is probably the rules file (with that exact name). This file is a type of Makefile (you will even find its first line is #!/usr/bin/make -f, which essentially says this file should be treated as a Makefile).

Entropy

Entropy, which is used by Sabayon Linux and its derivatives (like Spike Pentesting), is the fastest binary package manager mentioned in this post that is written in an interpreted language. Packages installed with Entropy were originally built using Portage and then converted from a Portage binary package to an Entropy binary package using Entropy itself.

pacman

pacman, which is used by Arch Linux-based distributions as well as the “independent” (using quotation marks as I think the mere fact these distros use pacman as their package manager suggests they are not truly independent) distributions Frugalware and KaOS. pacman is the single fastest package manager mentioned in this review and it is written predominantly in C and to a lesser extent Python and Shell.

The pacman package on Arch Linux and derived distributions usually includes a utility called makepkg for building packages. makepkg is a shell script that takes a specialized type of shell script known as a PKGBUILD (which always have that exact filename), along with other source files (like the upstream sources) and produces a package that can be installed using pacman. Nowadays most pacman packages have the .pkg.tar.xz file extension, although they can have the .pkg.tar.gz file extension also. See pacman packages used to be gz-compressed back when xz-compression was too time and resource-expensive but nowadays the packages in the official Arch Linux repositories (and the official repositories of most of its derivative distributions) are all xz-compressed (as they usually have better compression and hence take up less disk space and take less bandwidth to transfer across the internet).

pkgtools

pkgtools is the official, default package management system of Slackware and a few of its derivatives. It is unusual among Linux package managers in that it serves only low-level functions (like installing packages, removing them and upgrading) and has no official, default front-end for carrying out more high-level functions (such as repository management, download management, dependency resolution, etc.). It does have an unofficial front-end for package management, slapt-get, that is quite popular but does not come pre-installed with Slackware. Packages that pkgtools can install are built using a type of specialized shell script known as a SlackBuild.

Portage

Portage, which is used by Gentoo Linux-based distributions and is written in Python and Shell. It is one of only two source code Linux package management systems mentioned in this review, with the other being Exherbo’s Paludis. The fact it is a source-based package manager means that by default it installs software that it manually compiles from source code, as opposed to most Linux package managers which install software from pre-compiled binary packages. Portage works with ebuilds, a type of specialized shell script that Portage command can read, compile software packages and install them by following the instructions contained therein.

Ports

FreeBSD and the others BSDs use a ports system and binary pkg package manager. The ports system is a means by which people can build their packages from source code and install them. It consists of a series of Makefiles and patches for building software packages from source code. The pkg package manager installs binary packages that have already been compiled using the ports system on a distant build server. On FreeBSD the ports collection is located at /usr/ports on a live file system.

RPM

RPM and its higher-level front-ends APT-RPM, DNF, urpmi, [yum][28] and [ZYpp][29]. Used by Red Hat, SUSE and Mandriva-based distributions. RPM originally stood for Red Hat Package Manager but now it is a recursive acronym (so it stands for RPM package manager). RPM is written predominantly in C, with most of the remainder of its code being made up of Perl and Shell. RPM itself is fairly fast, although some of its most popular front-ends, DNF, urpmi and yum are written in interpreted languages namely Perl and Python and so inherently are rather slow. RPM packages are built using the rpmbuild command and they require a special file directory layout in order for their build to succeed. The most important file for building RPM packages is the so called spec file which is similar in its syntax to shell but with several “macros” one can use to simplify building tasks.

RPM is unique among lower-level package managers in that it can download RPM files and install them itself. For example, running:

root #  rpm -i https://github.com/atom/atom/releases/download/v1.14.3/atom.x86_64.rpm

should, provided there are no missing dependencies, download the atom.x86_64.rpm file from https://github.com/atom/atom/releases/download/v1.14.3/atom.x86_64.rpm and then install it with RPM. It also keeps track of required and provided libraries for each RPM package.

RPM packages are built using the rpmbuild tool. This tool is provided by the rpm-build package on most RPM-based distros like Fedora and openSUSE.

Arch Linux

Arch Linux
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Minimalist, Desktop, Server
Country Canada
Date 2002
Developed by Community
Funded by Donations
Release model Rolling
Defaults
Bootloader None, GRUB2 and syslinux are popular choices though.
Desktop None
File system None. Btrfs, ext2, ext3, ext4, JFS, ReiserFS and XFS are available from [core] repository.
Init system systemd
Office suite None
Package manager pacman
Text editor nano/vi2
Web browser None
Support
Architectures arm, i686,3 x86_64
Broadcom No
FUSE Yes
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.

Often developmental (built from git snapshots) PKGBUILDs exist for the package in the AUR.

Bash (4.4.012) 4.4.012
Firefox (51.0.1) 51.0.1
GCC (6.3.0) 6.3.1
glibc (2.25) 2.24
GNOME (3.22.2) 3.22.2+18+gdf7727a
GNU Emacs (25.1) 25.1
GNU nano (2.7.4) 2.7.4
LibreOffice (5.3.0) 5.3.0
Linux (4.9.9) 4.9.8
systemd (232) 232
Vim (8.0.0324) 8.0.0314
Xorg (1.19.1) 1.19.1
Zsh (5.3.1) 5.3.1
Software availability3
Atom Yes
Flatpak Yes
RuneScape NXT Client From the AUR only
SageMath Yes
Scilab From the AUR only
Snap Yes
Spotify From the AUR only
Extra Links
DistroWatch Link
English Wikipedia Link

Arch Linux is a minimalist Linux distribution that follows a bleeding-edge rolling release model. It started out in early 2001 as a side project of Judd Vinet, a Canadian programmer. He was inspired by the simplicity of the *BSDs and Slackware, amongst other operating systems available at the time, but disappointed by their lack of suitable package management systems. So he devised a lightweight and simple package manager specifically for Arch Linux and called it pacman. pacman is written mostly in C and is the fastest Linux package manager I know of (for details of how I am determining this please see this post). What is meant by simplicity in this context is without unnecessary additions or changes. It also means with the minimum set of default, pre-installed software. The set of default pre-installed software are in the base) group. Arch Linux’s first public release was in March 2002.4 Aaron Griffin took over the reins from Vinet in 2007 and is still the lead developer of Arch Linux.

Package management

The pacman package that provides the pacman package manager also provides some extra useful scripts including makepkg. makepkg reads a type of specialized shell script known as a PKGBUILD and creates a package with the characteristic .pkg.tar.xz file extension. These packages, as the file extension suggests, are tar archives that are xz-compressed. Previously the packages were, by default, gz-compressed (hence with the file extension .pkg.tar.gz), but as processors have become stronger, xz-compressed packages have become more practical.

Arch Linux has the following stable (that is, not including testing ones) official repositories: [core], [extra], [community] and [multilib] (for 64-bit systems only). [core] contains packages crucial to booting, connecting to the internet, building packages, file system management, system setup processes, etc. [extra] contains packages that while important, do not fit in [core]. It also includes Xorg, GNOME, KDE, GVim, etc. and several other basic GUI packages. Both [core] and [extra] and their associated testing repositories, are maintained by Arch Linux developers. [community] contains packages maintained by Trusted Users (TUs; whom are elected by other TUs) and they often originated from the Arch User Repository or other unofficial repositories.

It is incredibly simple to setup an unofficial repository for Arch Linux, in fact, I have done so for free using GitHub. I have even written a guide on how to do this. This method requires one to build and then manually upload one’s Arch Linux packages to GitHub. One can also use the Open Build Service of the openSUSE Project to build Arch Linux packages and upload them to a repository. I package the latest Vim for Arch Linux using the OBS, here is where my packaging files can be found and here is the download page for my Vim packages. This method does not provide one’s package builds with internet access during the build. The OBS also does not provide your packages with access to the [community] repository for satisfying their dependencies, so you will have to provide any packages in this repository, that your Arch Linux package requires for the build, yourself. Likewise some packages in [extra] are excluded (namely those with licenses incompatible with the OBS) from the OBS and hence cannot be used for satisfying Arch Linux package build dependencies.

Arch Linux has the most extensive repositories of any distribution I know of, that is, if one includes the AUR which contains user-submitted PKGBUILDs. As AUR packages are not all submitted by experts or otherwise experienced packagers it is considered potentially harmful and risky to install software from the AUR. I have contributed a few AUR packages, to find a list go here.

Closing remarks

It has no official distribution installer and installing the system must instead be done manually by the user themself, the official ArchWiki guide to doing this can be found here. As this installation must be done manually Arch Linux is more oriented towards intermediate-advanced users, specifically users that are:

  • Comfortable with the command-line. If one is uncomfortable with the command-line one will likely struggle during the initial stage of setting up Arch Linux. It will likely also be a problem later as system management and installing new packages is best (but not strictly necessarily) done from the command-line. Some unofficial graphical tools for package management do exist, like Octopi and Pamac, but they are not officially supported.
  • Able to handle system-breaking bugs, like kernel bugs that prevent the system from booting.
  • Know how to write a good, detailed, well-written forum question. The Arch Linux forum community can get quite rude if one does not write one’s questions well and detailed. I have used the forums a few times and when I really needed help I found them rude, I will admit I had trouble explaining my question and had trouble providing command outputs because I could not merely copy and paste outputs as I had no graphical display server (as the issue I was facing, that I was asking for help with, was that my Xorg server would not properly start).
  • Prefer a rolling release model.
  • Prefer the very latest software available for Linux.
  • Are not too obsessed with open-source. By this I mean, the software in Arch Linux’s repositories is mostly open-source, but not exclusively. For example, it has got proprietary NVIDIA drivers in its official repositories. If one would prefer an entirely open-source, but otherwise Arch Linux-like system, one should use Parabola GNU/Linux.
  • Want a high degree of control over their system. The Arch Build System (ABS) can be used to re-build software in the official repositories with different configure options and even with different package versions.
  • Do not want to compile (most) their packages from source. Some software (such as that in the Arch User Repository (AUR)) has to be compiled from source but most does not.
  • Learn well by reading written documentation (as opposed to people that learn best from doing, being taught in person, or watching a video tutorial), as it has an extensive MediaWiki-powered Wiki known as The ArchWiki.

CentOS

CentOS
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server
Country USA
Date 2004
Developed by Community
Funded by Red Hat and donations
Release model Fixed
Defaults
Bootloader GRUB2
Desktop GNOME, KDE4
File system ext4 (6) and XFS (7).
Init system systemd
Office suite LibreOffice
Package manager yum and RPM.
Text editor vi
Web browser Firefox
Support
Architectures arm64, i386, x86_64
Broadcom No
FUSE No
Releases 6, 7
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.2.46
Firefox (51.0.1) 45.7.0
GCC (6.3.0) 4.8.5
glibc (2.25) 2.17
GNOME (3.22.2) 3.14.4
GNU Emacs (25.1) 24.3
GNU nano (2.7.4) 2.3.1
LibreOffice (5.3.0) 5.0.6
Linux (4.9.9) 3.10.0
systemd (232) 219
Vim (8.0.0324) 7.4.0160
Xorg (1.19.1) 1.17.2
Zsh (5.3.1) 5.0.2
Software availability3
Atom No
Flatpak No
RuneScape NXT Client No
SageMath No
Scilab No
Snap No
Spotify No
Extra Links
DistroWatch Link
English Wikipedia Link

CentOS is a free enterprise Linux distribution that uses the RPM/yum package manager. It is likely that sometime in the near future CentOS will adopt the DNF package manager that Fedora has been using since mid 2015.

CentOS is essentially like a more stable, yet old (in terms of how up-to-date its software is) version of Fedora. I have used it for about year in VirtualBox VMs. I have found it very stable, but its software is so out-of-date that it can sometimes be a deal-breaker. For example, I have used CentOS Docker containers to compile software from source code so I can build an AppImage for them. Sometimes the version of GNU Compiler Collection (GCC) is so out-of-date, however, that the compilation fails. This is the case for CentOS 5/6 containers being used to build GNU Octave 4.2.0 from source code. CentOS 7 is barely up-to-date enough to compile GNU Octave 4.2.0. Its repositories are also far less comprehensive than Fedora. For example, it does not even have the SuperTux game in its official repositories (and yes I do include the Extra Packages for Enterprise Linux [EPEL] as an official repository of CentOS).

It is unusual in that it does not have out-of-the-box FUSE support, despite being a fairly out-of-the-box operating system. Aside from its kernel (which has the proprietary binary blobs in place) all the software in its official repositories is open-source, and it has strict licensing requirements for all of its included software (aside from its kernel, apparently), much like the related distribution, Fedora.

Installer

Also similarly to Fedora, CentOS uses the Anaconda installer, although I have never had too much of a drama with CentOS’s version of the Anaconda installer. Then again I usually only have problem with the Anaconda installer, not when I run in it in a virtual machine (and I have never used CentOS outside a VM), but when I run on it my actual machine.

Packaging

The OBS also has support for building packages for CentOS. I build the latest Vim for CentOS 5, 6 and 7 using the OBS too, here is where the packaging files can be found and here is the download page for this package and Vim packages for other distros. Fedora’s Copr also has support for building CentOS packages, with the Extra Packages for Enterprise Linux (EPEL) chroots enabled. Both support building packages for all presently supported releases of CentOS (so 6 and 7).

Leadership

Decisions are made by a consensus reached by its own governing board.5

Closing remarks

Ideal CentOS users are at least intermediate-level users (so not beginners, unless they are fast learners) that:

  • Love open-source, but not enough to ditch the standard kernel in favour of the Linux-libre kernel.
  • Favour software stability over the very latest software releases.
  • Favour a fixed release model distribution over a rolling release model.
  • Favour a long-term supported distribution over a distribution with a short support cycle (e.g., Fedora). I personally dislike performing distribution upgrades as in my experience, something almost always gets broken, or at least damaged, in the process.
  • Do not have a need for any obscure pieces of software, that is, software that is not universally found in virtually every Linux distribution’s repositories. CentOS tends to have more comprehensive repositories than Mageia (if one includes EPEL repositories), but less comprehensive repositories than Arch Linux or Fedora.
  • Use CentOS or Red Hat Enterprise Linux at work. CentOS and RHEL are very similar (or so I am told, I have never used RHEL myself as it is a paid product and I refuse to pay for operating systems), so being experienced with one should help one out when using the other.

Debian

Debian
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server
Country USA
Date 1993
Developed by Community
Funded by Software in the Public Interest, which is itself donation-funded
Release model Fixed (7, 8), Rolling (testing, unstable)
Defaults
Bootloader GRUB2
Desktop GNOME, KDE, LXDE, Xfce
File system ext4
Init system systemd
Office suite LibreOffice
Package manager APT and dpkg.
Text editor nano
Web browser Firefox
Support
Architectures arm64, armel, armhf, i386, mips, mipsel, powerpc, ppc64el, s390x, x86_64
Broadcom No
FUSE Yes
Releases 7, 8, testing, unstable
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3 (8), 4.4 (unstable)
Firefox (51.0.1) 45.7.0 (8), 51.0.1 (unstable)
GCC (6.3.0) 4.9.2 (8), 6.3.0 (unstable)
glibc (2.25) 2.19 (8), 2.24 (unstable)
GNOME (3.22.2) 3.14.4 (8), 3.22.2 (unstable)
GNU Emacs (25.1) 24.4 (8), 25.1 (unstable)
GNU nano (2.7.4) 2.2.6 (8), 2.7.4 (unstable)
LibreOffice (5.3.0) 4.3.3 (8), 5.2.5 (8 backports), 5.2.5 (unstable)
Linux (4.9.9) 3.16.39 (8), 4.9.2 (8 backports), 4.9.6 (unstable)
systemd (232) 215 (8), 230 (8 backports), 232 (unstable)
Vim (8.0.0324) 7.4.448 (8), 8.0.0197 (unstable)
Xorg (1.19.1) 1.16.4 (8), 1.19.1 (unstable)
Zsh (5.3.1) 5.0.7 (8), 5.3.1 (unstable)
Software availability3
Atom No
Flatpak Yes
RuneScape NXT Client No
SageMath No
Scilab No
Snap Yes
Spotify Available from the Spotify Debian package repo intended for Ubuntu
Extra Links
DistroWatch Link
English Wikipedia Link

Debian is one of the oldest Linux distributions still in active development, second only to Slackware Linux. Ian Murdock started developing it in 1993 (when he was 20 years old) and he named it as a portmanteau of the first name of Debra Lynn, his then girlfriend, and his own first name (Deb + Ian = Debian). Debian and its derivatives make up most of the usage share of Linux distributions on the desktop and laptop. Debian and Ubuntu (a Debian derivative) also make up the majority of the usage share of Linux distributions on servers. It is the so called, “The universal operating system”, probably because it is open-source (by default, its kernel even has no proprietary binary blobs as of release 6.0 in 2011),6 customizable and suitable for a wide variety of different platforms. In fact it is the Linux distribution that has been ported to the greatest number of processor architectures. It has even been ported to FreeBSD and GNU Hurd kernels.

Package management

Debian has four supported branches (each with different repositories, different purposes, different derivatives and different usage shares):

  • Oldstable — the previous stable release, presently Wheezy (7).
  • Stable — the current stable release, presently Jessie (8). Debian stable usually has packages in its repositories that are two or three years old. For example, Debian 8 still uses KDE4 despite KDE Plasma 5 coming out in July 2014.
  • Testing — which will become the next stable release, presently Stretch (9).
  • Unstable (sid) — a bleeding-edge rolling release version of Debian.

its default repositories are entirely free and open-source, but it does have non-free versions of its repositories. Its official repositories are amongst the most comprehensive of any distribution, aside from perhaps Arch Linux, Gentoo Linux and Ubuntu. Like CentOS, Fedora, Linux Mint, Mageia, openSUSE, PCLinuxOS and Ubuntu, Debian packages are split up into several different packages each containing parts (but not all) of the package in question. Those with the -dev suffix are those that contain the development headers of the program in question, while those with the -dbg suffix contain the debugging symbols of the program and those with the -doc suffix contain the documentation of the program.

It uses the APT and dpkg package managers. dpkg provides lower-level package management services, being used for removing, installing and upgrading software packages. APT provides higher-level utilities such as repository management, package downloading, dependency resolution, etc. aptitude is another higher-level front-end to dpkg, the main differences between it and APT are that:

  1. aptitude is more intelligent and able to resolve package conflicts.
  2. aptitude has a textual user interface (TUI) based on ncurses.
  3. aptitude does not come pre-installed with Debian.

Packaging

The Open Build Service (OBS) can also be used to build packages for Debian, other than that I am unaware of any free methods for building and distributing packages for Debian. I package the very latest Vim (and GVim) for Debian 8.x, among other distributions using the OBS. Here is where you can find my packaging files and here is the download page for my Vim package (on all the distributions I package it for, including Debian 8.x).

Leadership

Debian’s open-source community is one of the largest (with over 1,000 volunteer developers worldwide) and most democratic ones out there and Debian’s Project Leader (sort of like the lead developer, or the president of Debian) is elected every few years (range: 1 year - 3 years) by the Debian developers themselves.

Closing remarks

Debian’s ideal users are at least intermediate-level users that:

  • Love open-source, but want the option of installing non-free software if they choose to. If they solely want an open-source system, without even having the option of installing proprietary software from official repositories, they should install gNewSense or Trisquel, which are both Free Software Foundation (FSF)-approved.
  • Favour stability over bleeding-edge software. Sure those that prefer bleeding-edge software can install Debian (unstable), but it is usually less bleeding-edge than Arch Linux or Gentoo Linux.
  • Are comfortable using APT. Some users find APT’s syntax confusing as APT provides a few different commands, each with their own purpose and syntax. These commands include: apt-get (used for installing, removing and upgrading packages; also used for updating package lists), apt-cache (for APT cache-related actions such as searching for packages), add-apt-repository (for adding APT repositories to one’s sources), etc. Those that prefer a syntactically simpler package manager may wish to use CentOS, which uses yum. I personally am comfortable using APT as I have been using it for the past four years and are just used to it.
  • Do not object to using systemd as an init system. Those with a hatred of systemd as an init system should probably try using Devuan or an older version of Debian that does not use systemd (the latest version of which and the only supported version of which, at the time of writing this post, is Debian 7 or Wheezy). Or they could use Slackware Linux, which does not use systemd and has no plans to change over in the foreseeable future.
  • Wish to support democracy in the open-source software community.

Debian also has its own MoinMoin-based Wiki, known as the Debian Wiki. It mostly has articles pertaining to packaging, and other very Debian-specific articles. It does also have some rather brief articles on other topics like desktop environments. I personally find it less comprehensive than the Arch Wiki and Gentoo Wiki, but more comprehensive than the Fedora Wiki.

Those that want a Windows-looking Debian-based distribution may want to use Q4OS. Those that prefer a macOS-looking Debian derivative should probably use deepin.

deepin

deepin
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Beginners, Desktop
Country China
Date 2005
Developed by Wuhan Deepin Technology Co., Ltd.
Funded by Wuhan Deepin Technology Co., Ltd.
Release model Fixed
Defaults
Bootloader GRUB2
Desktop Deepin Desktop Environment
File system ext4
Init system systemd
Office suite WPS Office
Package manager APT and dpkg.
Text editor nano, vi, vim, etc.
Web browser Google Chrome
Support
Architectures armhf, i386, x86_64
Broadcom Yes
FUSE Yes
Releases 15.4
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.4
Firefox (51.0.1) 48.0
GCC (6.3.0) 6.2.0
glibc (2.25) 2.24
GNOME (3.22.2) 3.22.1
GNU Emacs (25.1) 24.5
GNU nano (2.7.4) 2.7.1
LibreOffice (5.3.0) 5.1.5 rc2
Linux (4.9.9) 4.4
systemd (232) 231
Vim (8.0.0324) 8.0.0134
Xorg (1.19.1) 1.17.3
Zsh (5.3.1) 5.2
Software availability3
Atom No
Flatpak Yes
RuneScape NXT Client No
SageMath No
Scilab Yes
Snap Yes
Spotify Comes pre-installed with deepin, but it is installed from a repository not maintained by the deepin maintainers.
Extra Links
DistroWatch Link

deepin is a beginner-friendly Chinese Linux distribution built from Debian’s unstable branch. Despite being largely based on Debian’s unstable branch there are a few differences I have noticed. For one, it uses the latest LTS kernel, presently the 4.9.x series, as opposed to Debian (unstable) which usually uses a more bleeding-edge kernel. Secondly, it contains some proprietary firmware that is not found in the Debian (unstable) repository.

It comes with its own desktop environment pre-installed, the so called Deepin Desktop Environment (DDE). This desktop environment used to be built using web technologies, but in late 2015 it was re-written and built on the Qt 5 widget toolkit. It is less customizable than most desktop environments and I have personally found it a little buggy. DDE is designed to be intuitive, and includes several home-grown core applications such as Deepin Software Center, DMusic and DPlayer. It is unusual amongst Linux distributions, in that as far as I can tell (do correct me if I am wrong), it is developed only by paid employees of the company Wuhan Deepin Technology Co., Ltd. and not by community volunteers. It is also unusual in that it comes with several pieces of proprietary software pre-installed, including Spotify and Broadcom wireless drivers.

Closing remarks

Its ideal users are those that:

  • Prefer a beginner-friendly distribution. Not all users of beginner distributions are novice-level Linux users. For example, I used to triple boot Arch Linux, Fedora and Ubuntu LTS. Ubuntu LTS is a beginner distribution, but I did not use it for the hand-holding that comes with beginner distributions, I used it because it had some of the best support for my favourite proprietary apps (like Spotify and RuneScape) in the Linux world, uses a fast package manager (APT) that I do not mind, is fairly polished and stable (hence I do not have to spend large portions of my days running it swatting bugs), and has a long release cycle (hence I do not have to perform distribution upgrades all that frequently), etc.
  • Favour an out-of-the-box distribution over a distribution with a focus on open-source software only.
  • Prefer distributions with fairly extensive repositories.
  • Understand Mandarin Chinese. Not a necessity, as English support is available, but Mandarin Chinese would likely give one an edge on their online forums and other parts of their website.
  • Like the Deepin Desktop Environment (DDE), macOS users will likely favour it as its default look is similar to that of macOS.

Fedora

Fedora
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server
Country USA
Date 2003
Developed by Community
Funded by Red Hat and donations
Release model Fixed
Defaults
Bootloader GRUB2
Desktop GNOME (Workstation).
Spins exist with: Cinnamon, KDE, LXDE, MATE Compiz, Sugar-on-a-stick, Xfce
File system ext4
Init system systemd
Office suite LibreOffice
Package manager DNF and RPM.
Text editor vi
Web browser Firefox
Support
Architectures armhfp, i686, x86_64
Broadcom No
FUSE Yes
Releases 24, 25
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3.43
Firefox (51.0.1) 51.1.1
GCC (6.3.0) 6.3.1
glibc (2.25) 2.24
GNOME (3.22.2) 3.22.2
GNU Emacs (25.1) 25.1
GNU nano (2.7.4) 2.6.1
LibreOffice (5.3.0) 5.2.5
Linux (4.9.9) 4.9.8
systemd (232) 231
Vim (8.0.0324) 8.0.0314
Xorg (1.19.1) 1.19.1
Zsh (5.3.1) 5.2
Software availability3
Atom Via the mosquito/atom Copr.
Flatpak Yes
RuneScape NXT Client No
SageMath Yes
Scilab Yes
Snap Yes
Spotify Available from the negativo17 repository.
Extra Links
DistroWatch Link
English Wikipedia Link

Fedora is a Linux distribution that is developed by its own open-source community project known as the Fedora Project. This project is funded by Red Hat, the world’s largest (in terms of annual revenue) Linux company, and Red Hat also assumes the legal liability from the project. Around one in four contributors to the Fedora Project are Red Hat employees, but the remaining 75% of Fedora contributors are community volunteers. The most important decisions pertaining to Fedora are made by the Fedora Council, which consists of Red Hat-appointed representatives and members of the volunteer community.7 Fedora previously used the yum package manager that CentOS still uses, but as of the release of Fedora 22 in May 2015, it now uses the DNF package manager (its source code can be found here by default). DNF is essentially a rewrite of yum, using the faster dependency resolver, libsolv, which was originally written for openSUSE’s package manager, ZYpp.

Derivative distributions

Fedora is used as the basis for CentOS and the Red Hat Enterprise Linux (RHEL) distribution, the premier product of Red Hat. It is also used as the basis for a couple more obscure distributions, namely Chapeau and Korora. These last two distributions are more up-to-date than CentOS, and a new release of these distributions usually follows a new release of Fedora by only a month or two. Each new release of these distributions are based on a new release of Fedora. Extra indirect Fedora derivatives can be found in the fact that RHEL is used as the basis for Oracle Linux and Scientific Linux, both free products, despite being derived from the paid product, RHEL.

Package management

Fedora is similar to CentOS in that it has strict open-source licensing requirements for all software included in its official repositories. Despite this there are proprietary binary blobs on its build of the Linux kernel. Users that want/require other (other than the binary blobs on the kernel) pieces of proprietary software will likely be able to easily get them by enabling the RPMFusion non-free repository and RPMFusion free repository (as many packages in the non-free repository depend on packages in the free repository). This can be done by running:

root #  dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(lsb_release -a | grep 'Release' | cut -d ':' -f 2 | sed 's/\s//g').noarch.rpm https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(lsb_release -a | grep 'Release' | cut -d ':' -f 2 | sed 's/\s//g').noarch.rpm

where $(lsb_release -a | grep 'Release' | cut -d ':' -f 2 | sed 's/\s//g') uses lsb_release to determine the version of Fedora you are running (for example, for me running Fedora 25 executing lsb_release -a | grep 'Release' | cut -d ':' -f 2 | sed 's/\s//g' in my terminal returns 25) so as to determine the RPMFusion RPM you need to install. RPMFusion non-free repository most notably contains broadcom-wl (the closed-source driver for Broadcom wireless), lpf-spotify-client (which is a script to build the Spotify Client from the Debian binaries officially released by the Spotify Company) and steam (the gaming platform). It is not completely comprehensive, however, and is missing RuneScape’s NXT Client, among other pieces of software. Alternatively users that need/want proprietary software, especially those that want out-of-the-box support for devices with proprietary drivers should consider installing Chapeau. The main difference between Chapeau and Fedora is that Chapeau is not quite as strict on the licensing of its included software and the software in its official repositories. I have also written a shell script specifically for installing broadcom-wl on Fedora (any version).

Packaging

The OBS can be used to build packages for Fedora, although it has limitations that Fedora’s own Copr package-building service does not have. Namely, it often lags behind Coprs in terms of support for building packages for new releases of Fedora. For example, it took over a month after the release of Fedora 25 before the OBS began to support building packages for Fedora 25. Coprs can also provide internet access for package builds, which the OBS cannot. OBS does have the advantage of having services that will download your upstream source files for you (from their upstream URL), so that they are available when your package is built. This is as opposed to the Copr, which to my knowledge has no automated methods for uploading the upstream source files, leaving it to you uploading them manually, which can chew up a lot of your bandwidth. I have a few Coprs of my own, to see a list of them go here. I also package a few packages for Fedora using the OBS, including Vim, for which the packaging files can be found here and the download page is here.

Beginners and Fedora

I could believe that a beginner could use Fedora, provided their computer has no devices that require proprietary drivers, or provided they can workaround any devices they have that do require proprietary drivers. For example, some desktop computers have Broadcom chips for connecting to WiFi but a possible workaround for this is to connect said desktop to an ethernet cable. That way, the lack of out-of-the-box support for Broadcom chips would not impede one’s ability to connect to the internet. Likewise a beginner could manage to use Fedora as their first distribution, even with device support issues provided they had a more experienced user to metaphorically hold their hand. A beginner could manage using Fedora mostly because it does have graphical tools for package management and Fedora’s official installer, Anaconda, has a graphical front-end.

Installation

I should probably mention that I have personally found Anaconda the single most buggy installer of any free operating system I have ever used. When I install Fedora using it on my HP Envy 17 laptop I always find that at the initial stage of selecting my language (which in my case is Australian English, although this issue exists even if I leave it as the default language, American English) as soon as I press “Continue” it freezes for ten minutes at least. During that time if I move the installer window around, at all, it will become unresponsive and I will be asked whether to close that window or wait for it to become responsive. If you want further evidence of how buggy Anaconda can be, the Sabayon Linux project used to use Anaconda as their default installer, but they switched to Calamares due to Anaconda’s bugginess,8 although unfortunately they have since switched back due to issues with Calamares.9

Rawhide

Fedora also has a developmental edition called Rawhide which gets all the very latest software updates (including developmental software updates. For example, release candidates of the Linux kernel often make an appearance in Rawhide’s repositories) and follows a rolling release model. It is not intended for production use and should only be used by advanced users that know how to fix/workaround system-breaking bugs (like kernel bugs that prevent booting, which semi-frequently occur). Fedora’s Copr build system also provides support for building packages for Rawhide. The OBS can also be used to build packages for rawhide, although it requires one to tweak the project configuration file (as opposed to adding the repository using the web interface of the OBS).

Documentation

It has two main forms of documentation, one an official handbook and another unofficial pieces of documentation at the Fedora Wiki. The handbook has a fairly narrow scope, only referring to installation, networking, and select few other topics. The Fedora Wiki is nowhere near as comprehensive as the Arch Wiki or Gentoo Wiki, but it has a broader scope than the official handbook. I myself have contributed a few articles to it, to see my contributions see this page.

Closing remarks

Fedora is a Linux distribution that is best suited for intermediate-advanced users, especially software developers. Most notably, Linus Torvalds, the original and lead developer of the Linux kernel is a Fedora user. It is ideal for users that:

  • Like open-source software, but do not love it enough to use the Linux-libre kernel, but do not mind having proprietary repositories available should they wish to use them. If you have a preference for a system that is not quite so strict on open-source you may wish to install Chapeau instead, as it has out-of-the-box support for Broadcom wireless among other devices.
  • Favour having the very latest the open-source world has to offer over the well-tested, conservative stability of distributions such as CentOS and Debian.
  • Use CentOS, RHEL or derivatives thereof at work or elsewhere and want to use something similar, but more bleeding-edge at home.
  • Want a distribution that patches its software as little as possible. Fedora is well-known in the open-source community to work with upstream developers, in the form of bug reports, and usually the only patches one will find packages have are designed to fix bugs reported upstream, until the next release of said software comes out with the bug fix. A notable exception is Vim, which they patch to give it out-of-the-box syntax-highlighting support for spec files and fstab (that is, /etc/fstab, which specifies how partitions should be mounted on the start up of a Linux system) files.
  • May require some free support. Fedora has its own Q & A website similar to Ask Ubuntu that is called Ask Fedora. I personally have used Ask Fedora and found it fairly good, usually one can expect a useful answer to simple questions within a day. I personally believe that Ask Ubuntu is a superior support site though, so if free technical support is really important to you, you may wish to use Ubuntu instead.

FreeBSD

FreeBSD
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server
Country USA
Date 2003
Developed by Community
Funded by Donations
Release model Fixed, Rolling (11-STABLE/12-CURRENT)
Defaults
Bootloader boot0
Desktop None
File system UFS2
Init system FreeBSD init scripts
Office suite None
Package manager Ports (source) and pkg (binary).
Text editor vi
Web browser None
Support
Architectures arm, arm64, armel, i386, ia64, mips, mipsel, sparc64, pc98, powerpc, powerpc64, ps3, x86_64, xbox
Broadcom No
FUSE No
Releases 10.3, 11.0, 11-STABLE, 12-CURRENT
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.

Sources are DistroWatch (for the 11-STABLE and 12-CURRENT package versions) and the FreeBSD ports website (which I assume provides versions for these packages for 11.0). ? I use to denote when I am particularly uncertain whether my sources are accurate.

Bash (4.4.012) 4.4.005 (11.0), 4.4.005? (11-STABLE/12-CURRENT)
Firefox (51.0.1) 47.0.1 (11.0), 51.0.1 (11-STABLE/12-CURRENT)
GCC (6.3.0) 4.8.5 (11.0), 4.9.4 (11-STABLE/12-CURRENT)
glibc (2.25) N/A
GNOME (3.22.2) 3.18.4 (11.0/11-STABLE/12-CURRENT)
GNU Emacs (25.1) 25.1 (11.0/11-STABLE/12-CURRENT)
GNU nano (2.7.4) 2.7.3 (11.0), 2.7.4 (11-STABLE/12-CURRENT)
LibreOffice (5.3.0) 5.0.6 (11.0), 5.2.5 (11-STABLE/12-CURRENT)
Linux (4.9.9) N/A
systemd (232) N/A
Vim (8.0.0324) 8.0.0134 (11.0), 8.0.0134? (11-STABLE/12-CURRENT)
Xorg (1.19.1) 1.17.4 (11.0/11-CURRENT/12-STABLE)
Zsh (5.3.1) 5.2 (11.0), 5.3 (11-STABLE/12-CURRENT)
Software availability3
Atom No
Flatpak No
RuneScape NXT Client No
SageMath No
Scilab Yes
Snap No
Spotify No
Extra Links
DistroWatch Link
English Wikipedia Link

FreeBSD is the only operating system included in this comparison that is not a Linux distribution, rather it is a BSD derivative, putting it in the same category as DragonFlyBSD, NetBSD and OpenBSD. In this section I will also discuss the other BSD derivatives I have experience with, but FreeBSD will take the spotlight. FreeBSD is developed by a group of some 500 developers (or committers), most of whom are unpaid volunteers, although some are paid to contribute to it by their respective business. Among these developers a “core team” of 9 are selected by the FreeBSD committer community and given special authority to act on the behalf of the FreeBSD project to set and enforce project rules, approve (or reject) new FreeBSD committers, granting them Subversion (SVN) access and setting direction for the FreeBSD project. FreeBSD packages can be built from source code, with custom configure options set using the Ports system, or installed from pre-installed binaries using the pkg binary package manager.

FreeBSD is the third eldest operating system mentioned in this post, after Debian and Slackware, and some of its source code has been borrowed to make the Darwin operating system, upon which macOS is built. DragonFlyBSD was also forked from a previous version of FreeBSD. FreeBSD was originally forked from 386BSD, an effort in early 1990s to port the Berkeley Software Distribution (BSD) that was originally developed at the University of California, Berkeley, to the Intel 80386 set of microprocessors. Eventually in November 1993 the first pubic release of FreeBSD was made.

Editions

FreeBSD has four major support editions or branches (similar to Debian’s branches): the previous stable release (presently the 10.3 release), the present stable release (11.0) and the rolling release editions STABLE (presently 11-STABLE) and CURRENT (presently 12-CURRENT). The CURRENT branch is the bleeding-edge version of FreeBSD and includes developmental releases of the kernel, core utilities and other essential components of the FreeBSD system. It is not recommended for daily use, due to the propensity for serious bugs to arise in it. The STABLE branch is essentially what will become the new minor release of FreeBSD (which given that the present stable release is 11.0, this new minor release would be 11.1), with non-core package updates (that is, excluding kernel and other major system component updates) from CURRENT backported to it, if sufficiently stable.

It is perhaps best suited to use on servers, as its graphical user interface (GUI) support is inferior to that of Linux. Despite this most popular Linux desktop environments and window managers have been ported to FreeBSD and work fairly problem-free on it. In line with it being best suited to being used on servers it also has several pieces of server software in its official repositories, including:

  • Apache
  • MariaDB
  • MySQL
  • PostgreSQL

Installer

Unlike most Linux distributions FreeBSD has no graphical installer, and rather the installation is performed via a textual installer. This is a characteristic it shares with the other intermediate-advanced user-oriented BSDs I have used such as DragonFlyBSD, NetBSD and OpenBSD. There are some beginner-friendly, or at least beginner-friendlier, BSDs that have a graphical installer, however, such as GhostBSD and TrueOS (previously called PC-BSD), both of which are FreeBSD derivatives. In my opinion, however, FreeBSD’s command-line installer is fairly easy to use, it should not be a major obstacle in itself to a beginner, provided they have the appropriate help. The installers of DragonFlyBSD, NetBSD and OpenBSD are similarly easy to use.

Conclusion

I would consider FreeBSD best suited to intermediate-advanced level users, specifically those that:

  • Are at home using the command-line. If using the command-line is a big drama to one odds are FreeBSD will not suit one’s needs. Users should be aware that FreeBSD’s default shells for root (tcsh) and standard users (sh) are not popular shells on Linux.
  • Are willing to go without a few popular pieces of software that run natively on Linux. Examples of such software include Atom, Google Chrome and Spotify.
  • Prefer a Unix-like operating system with more unity and harmony between its various components than Linux. Namely one where everything comes from the same team of developers, as opposed to Linux where each component are created by a separate team of developers, each with their own goals and intentions for how their software should be used.

DragonFlyBSD, NetBSD and OpenBSD are also more oriented towards intermediate-advanced users, in fact, I would argue they are more challenging to use than FreeBSD. I have personally found FreeBSD’s documentation the best of the BSDs (although NetBSD also has fairly good documentation), and similar in quality and comprehensibility to Gentoo Linux’s documentation.

Many Linux distributions provide (often in an optional, not pre-installed package) FreeBSD’s version of tar in their official repositories and call it bsdtar (to distinguish it from GNU tar, the version of tar they use by default). This version of tar is more flexible than GNU tar and can decompress a wider variety of different files. For example, it can also be used to extract Debian and RPM packages. The chief advantage that GNU tar has over bsdtar is that GNU tar can be used to decompress data presented to it as standard input, while bsdtar cannot. For example, running:

user $  wget -cqO- https://github.com/atom/atom/archive/v1.14.1.tar.gz | tar xz

on a system where GNU tar is the default tar, will download (using wget) the gz-compressed tar archive, v1.14.1.tar.gz (which is the source code of the Atom 1.14.1 release), and pipe it through tar xz, decompressing the data as it is downloaded. This will work as GNU tar (or just tar for short) can decompress data presented to it as standard input. Likewise, as bsdtar cannot compress from standard input the following command will fail and exit with an error:

user $  wget -cqO- https://github.com/atom/atom/archive/v1.14.1.tar.gz | bsdtar xz

yet again, this is, if, this command is executed on a system where GNU tar is the default tar.

Gentoo Linux

Gentoo Linux
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server, Source-based
Country USA
Date 2002
Developed by Community
Funded by Donations
Release model Rolling
Defaults
Bootloader None, GRUB2 is popular and recommended.
Desktop None
File system None. Entirely up to the user, but ext4 is popular.
Init system OpenRC.
Office suite None.
Package manager Portage
Text editor nano/vi
Web browser None.
Support
Architectures i486, i586, i686, x86_64, alpha, arm, hppa, ia64, mips, powerpc, ppc64, sparc64
Broadcom No
FUSE No
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.

Developmental ebuilds, that build from the latest git snapshot, exist for most packages listed. Only stable releases of these packages are listed in the below versioning table.

Bash (4.4.012) 4.4.012
Firefox (51.0.1) 51.0
GCC (6.3.0) 6.3.0
glibc (2.25) 2.25
GNOME (3.22.2) 3.22.2
GNU Emacs (25.1) 25.1
GNU nano (2.7.4) 2.7.4
LibreOffice (5.3.0) 5.3.0.3
Linux (4.9.9) 4.9.9
systemd (232) 232
Vim (8.0.0324) 8.0.0106
Xorg (1.19.1) 1.19.1
Zsh (5.3.1) 5.3.1
Software availability3
Atom Yes
Flatpak Available from an unofficial overlay
RuneScape NXT Client Yes
SageMath Available from an unofficial overlay
Scilab Available (outdated version, however) from unofficial overlays
Snap Available from an unofficial overlay
Spotify Yes
Extra Links
DistroWatch Link
English Wikipedia Link

Gentoo Linux is an independent, source-based Linux distribution that was originally developed by a Canadian-born American programmer named Daniel Robbins. The date it was “founded” depends on what you mean by this. If you mean, “When was the idea of Gentoo born?” Or, “When did Daniel Robbins start working on it?” That would be in 1999, when it was originally known as Enoch Linux, although it was later this year renamed as Gentoo Linux, after the fastest species of penguin, the gentoo penguin (found in the Falkland Islands). It was not until 2002, however, that the first stable release of Gentoo became available. In 2004 Robbins left the Gentoo project apparently due to financial problems, although up until this time Robbins was the Benevolent Dictator for Life (BDFL) of Gentoo Linux. Then the Gentoo Foundation was founded and Gentoo’s development became driven by a democratic-style process.10

Gentoo Linux’s documentation (which is mostly located at the Gentoo Wiki) is second only to Arch Linux in terms of quality and comprehensibility, in my opinion, feel free to see it yourself and come to your own conclusions. I personally have found the Gentoo forums fairly helpful, although previous revisions of this post, said fairly unhelpful, but I have since changed this view after using Gentoo as my primary OS and hence used the forums a few more times. You can find all my Gentoo forum threads here.

Package management

Gentoo, by default, uses its own package manager, Portage (which is primarily invoked from the command-line with the emerge command), that is so named because it is similar to FreeBSD’s Ports system. Portage compiles and installs software from source code by following instructions in a specialized type of shell script known as an ebuild. These ebuilds are stored in repositories that are usually git-controlled and are referred to as overlays. Despite it serving as a source package manager by default, Portage can also install pre-built binary packages. Calculate Linux is a distribution derived from Gentoo Linux that despite using the Portage package manager works with binary packages by default. Despite Portage being the default package manager, the Paludis package manager can also be used by Gentoo.

Paludis is the default package manager of Exherbo, another source-based distribution. Like Portage, Paludis utilizes ebuilds as its packaging files (used to instruct the package manager how to build the package, in question), so Paludis should be able to use the same repositories. Paludis has a distinct syntax to that of Portage, but what is most interesting about Paludis is that it is written in C++ and is substantially faster (although given it still builds packages from source code it will invariably take a fairly long time to build packages). Just to try to make this entry more complete I gave Paludis a try on a Gentoo system. My initial impressions are that it is faster than Portage when it comes to dependency resolution, but at the same time it is also very verbose, giving far more information than I think most users will want to see with every command.

The official Gentoo overlay is also known as the Portage tree and is stored on a Gentoo system in the /usr/portage directory. It is kept up-to-date using rsync and this is something I personally dislike as it means that you can only update your local copy of the Portage tree at most once a day, otherwise you will anger the mirror maintainers and they may blacklist you. You may think only the obsessive (with a pathological need to sync every hour or more) would care about this limit (as most people only update their local Portage tree copy far less frequently than once a day), but not necessarily. After a tree sync on 29 March 2017 (which I did due to a bug in the app-text/hunspell package that was resolved in a later revision of this package, for details see bug 614178) I learnt that the dev-libs/mpc-1.0.3 package had invalid checksums in its Manifest (so it kept giving me an annoying error message telling me about this issue whenever I used Portage) and not being able to synchronize more often made this issue even more irritating. This is why, on 6 April 2017, I decided to switch from rsync to using git to keep my local copy of the Portage tree up-to-date, if anyone is interested in how I did this, I basically followed this GitHub repository’s instructions.

The Portage tree has looser licensing requirements than the official repositories of Arch Linux, CentOS, Debian, Fedora and many other distributions. Not only does it contain some proprietary firmware but it also contains some proprietary desktop applications such as Google Chrome, Opera, RuneScape’s NXT Client, Spotify, Vivaldi, etc. Unofficial overlays are installed via the official tool (that is, it is developed by the Gentoo Linux development team), Layman, to /var/lib/layman.

ebuilds usually include USE flag and keyword fields. USE flags are essentially options that determine which features of the package provided by the ebuild are built and which are not. For example, the gtk USE flag, if enabled, would cause one’s packages to be built with GTK+ 2 widget toolkit support. Likewise keywords tell one the stability of the ebuild on the various processor architectures Gentoo has been ported to. For example, the amd64 keyword means that the ebuild is stable (and well-tested) on AMD64 (or x86-64) platforms. Likewise the ~x86 keyword means that the ebuild is unstable (or at least not adequately tested) on x86 (or 32-bit Intel processors) platforms.

Many packages, especially core packages like the Linux kernel sources package — sys-kernel/gentoo-sources — have several different available versions, often with alternate versions being provided from the same overlay. This is often when there are multiple different versions of the package still supported upstream (like in the case of LTS releases) and the older versions of the package are better tested (and hence more likely to be marked stable). By default, Portage favours the most up-to-date and stable packages when given a choice of package versions. So it will pick the ebuild with the highest version number among those ebuilds marked stable. By adjusting keyword settings in /etc/portage/make.conf one can switch from a “stable” system to a bleeding-edge system (for details see this answer to one of my questions at Unix & Linux StackExchange).

Portage is a complicated package manager to use too. Frequently Portage will complain of an error (most often a package or USE flag conflict) and exit, leaving the user to fix whatever is wrong. For advanced users, this is usually no problem, but for less sophisticated users it can be a deal-breaker. I used to hate Portage when I used Sabayon Linux for a few months as my primary OS. Mostly because it seemed like I always got errors from Portage whenever I tried to install packages. It took a fair bit of effort for me to learn the basics of Portage error-fixing. Nowadays while I do not have Sabayon installed on any of the partitions of my day-to-day PC, I still use Portage on a weekly basis (roughly), which is roughly how often I fire up my Gentoo Linux VirtualBox VM and update it using the commands:

root #  emerge --sync && layman -S
root #  emerge -uDN --with-bdeps=y @world

Creating your own custom ebuilds for Gentoo is more challenging, in my opinion, than packaging for RPM-based distros or Arch Linux. This is partly because ebuilds have security features in place (restricting access to one’s file system during the build), that while may make the building process safer, can also make it more annoying. For example, the Atom ebuild in the Portage tree is incredibly complicated (instead of using the default build system of Atom) mostly because simpler ebuilds (that do use Atom’s default build system) give access violation errors and fail. Likewise there are several functions used in ebuilds (that are not usual shell script functions, but rather functions specifically defined for ebuilds) that you need to be familiar with in order to efficiently write a working ebuild. I have found them similar in difficulty to write as Debian packages are to build. I have created my own overlay for Funtoo (originally Sabayon), sabayon-tools, which presently just contains one ebuild. I also have an overlay for both Funtoo and Gentoo Linux, fusion809-overlay, which contains several other ebuilds. The OBS used to have support for building Gentoo and Sabayon packages, although it does not anymore.

Other source-based distributions

Gentoo Linux is one of only two independent, source-based Linux distribution I have successfully installed, the other being Lunar Linux. Lunar, has a command-line automated installer, so I would argue it was far easier to install than Gentoo was. I have also attempted twice (and failed twice) to install Linux From Scratch (LFS) on a VM. LFS is an independent source-based distribution that is distinguished from Gentoo and other source-based distributions in that it has no package manager. All packages have to be compiled and installed manually by the user.

Funtoo Linux

I have also successfully installed, in a VirtualBox VM, Funtoo Linux, a source-based Gentoo derivative (and as it is a Gentoo derivative it is not an “independent” source-based distribution) that was first developed and is presently lead in its development by Daniel Robbins, the original developer of Gentoo Linux. I have also tried Funtoo outside a VM and it is not too bad. It is more conservative in its included software than a bleeding-edge Gentoo system, for example, as of 14 March 2017 it still has GNOME 3.20 as its latest available version of GNOME even though GNOME 3.22 has been in the Portage tree (of Gentoo) since December 2016. It is slightly more beginner-friendly than Gentoo, but I still would not recommend it to most beginners. It is slightly easier, in the sense that it uses a pre-compiled kernel by default, so it cuts that burden out for one, although beware you will likely have to perform a manual kernel upgrade sooner or later. I have found their user community, namely that found on the #funtoo IRC channel, rather friendly and helpful. Despite this their IRC channel, unlike the #gentoo channel, has no censorship (so profanities while rare can be used in the channel), the only thing that moderators of the channel will stop is fighting and probably also illegal activity in the channel. Funtoo Linux also uses git to manage its Portage tree, which is something I must say I like as it means you can sync as often as you want without irritating any mirror maintainers.

Intermediate and even beginners may be able to use Funtoo Linux if they take full advantage of the support in the #funtoo IRC channel and the official documentation. Using Gentoo is a little more challenging to use as the Wiki guide to installation can be a little overwhelming to new users, while I personally find the Funtoo installation guide incredibly simple to walk through.

Closing remarks

Ideal Gentoo users are advanced users that:

  • Want a lot of freedom to customize their system to their liking.
  • Are not open-source software-obsessed. Proprietary software riddles the Portage tree. If one is obsessed with open-source one should probably consider using the Free Software Foundation-approved derivative of Gentoo Linux, Ututo XS (the official home page is in Spanish, so those not fluent in Spanish beware, as while Google Translate may help it is not perfect at translation), which is entirely open-source.
  • Learn well by reading written documentation or already have plenty of experience with Portage.
  • May need to install obscure pieces of software on the odd occasion (not absolutely necessary, but it would suit these users especially well). As Gentoo Portage overlays are very extensive it is likely that if one requires any obscure software one will be able to find it by searching gpo.zugaina.org. I would say Gentoo is second only to Arch Linux and distros derived from it, in terms of how easy it is to get any piece of software one wants.
  • Are willing to wait a long time to setup one’s system to one’s liking. If one wants a desktop environment one will likely have to spend several hours (if not days) compiling the desktop environment components and their dependencies with Portage. Sabayon is an alternative for users that want most packages installed from binaries, but still wants Portage to be available for source installations. Calculate Linux is also a reasonable choice for users that want a quick installation. Calculate Linux, from my recollection, mostly has packages installed from binaries (which are installed by Portage), but as it uses Portage as its package manager source code installs should be possible.

Linux Mint

Linux Mint
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Beginners, Desktop
Country Ireland
Date 2006
Developed by Community
Funded by Donations
Release model Fixed
Defaults
Bootloader GRUB2
Desktop Cinnamon, MATE
File system ext4
Init system systemd
Office suite LibreOffice
Package manager APT and dpkg.
Text editor nano/vi
Web browser Firefox
Support
Architectures i386, x86_64
Broadcom No
FUSE Yes
Releases 17.3, 18.1
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3.46
Firefox (51.0.1) 51.0.1
GCC (6.3.0) 5.4.0
glibc (2.25) 2.23
GNOME (3.22.2) 3.18.5
GNU Emacs (25.1) 24.5
GNU nano (2.7.4) 2.5.3
LibreOffice (5.3.0) 5.1.4
Linux (4.9.9) 4.4
systemd (232) 229
Vim (8.0.0324) 7.4.1689
Xorg (1.19.1) 1.18.4
Zsh (5.3.1) 5.1.1
Software availability3
Atom Available from the webupd8team/atom PPA
Flatpak Available from the alexlarsson/flatpak PPA
RuneScape NXT Client Available from Jagex's official Ubuntu 14.04 repository
SageMath No
Scilab Yes
Snap Yes
Spotify Available from the official Spotify repository
Extra Links
DistroWatch Link
English Wikipedia Link

Linux Mint is one of the most popular Linux distributions available (in fact according to DistroWatch it is the most popular Linux distribution). It is a Ubuntu LTS derivative that has two official editions: one with MATE (which is designed to be used by older computers) and another with Cinnamon, a desktop environment specifically developed by Linux Mint developers for use by Linux Mint. I have personally only ever tried Linux Mint in a VirtualBox VM, but from what I can tell it is very similar to Ubuntu, except it has some home-grown applications to make system management easier. The standard command-line upgrade mechanism of Ubuntu, I have been informed, does not reliably work with Linux Mint, namely running:

root #  do-release-upgrade

does not reliably upgrade between releases of Linux Mint (e.g., it may not reliably upgrade a Linux Mint 17.3 system to 18.1). So this is one thing that may reduce this distribution’s appeal to beginners. An upgrade guide for Linux Mint can be found here.

Closing remarks

It is ideal for users that:

  • Like the Cinnamon/MATE desktop environments. Cinnamon is probably one of the most Windows-like desktop environments available for Linux, so Windows users may appreciate the similarities. The MATE edition of Linux Mint is also Windows-like in appearance. Zorin OS has a more Windows-like user interface, however, and is, like Linux Mint, based on Ubuntu LTS, so may be more suitable for those that like the Windows user interface. Those that want a similar, but macOS-like in appearance, distribution should probably use deepin or elementary OS.
  • Like a beginner-friendly operating system.
  • Want a distribution with rather comprehensive software repositories (so that it is easier to install any piece of software you want).
  • Favour a fairly conservative yet stable distribution, in terms of how up-to-date its software is.

It also has its own set of official support forums, that I have never really had to use (hence I cannot really comment on their quality).

Mageia

Mageia
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server
Country France
Date 2011
Developed by Community
Funded by Donations
Release model Fixed
Defaults
Bootloader GRUB2
Desktop GNOME, KDE4
File system ext4
Init system systemd
Office suite LibreOffice
Package manager urpmi and RPM.
Text editor Vi
Web browser Firefox
Support
Architectures i586, x86_64
Broadcom No
FUSE Yes
Releases 5, 5.1
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3.48
Firefox (51.0.1) 45.7.0
GCC (6.3.0) 4.9.2
glibc (2.25) 2.20
GNOME (3.22.2) 3.14.3
GNU Emacs (25.1) 24.3
GNU nano (2.7.4) 2.3.6
LibreOffice (5.3.0) 4.7.2
Linux (4.9.9) 4.4.39
systemd (232) 217
Vim (8.0.0324) 7.4.0430
Xorg (1.19.1) 1.16.4
Zsh (5.3.1) 5.0.5
Software availability3
Atom No
Flatpak No (only available for Cauldron)
RuneScape NXT Client No
SageMath No
Scilab No
Snap No
Spotify No
Extra Links
DistroWatch Link
English Wikipedia Link

Mageia is a French Linux distribution descended from the no-longer maintained French Linux distribution, Mandriva Linux, and developed by former employees of the company that developed Mandriva Linux, Mandriva S.A. Like its parent it utilizes the urpmi package manager. It is somewhere between Ubuntu LTS and Debian (stable), in terms of how out-of-date, yet stable its software is. The latest stable release of Mageia, Mageia 5.1, ships with KDE Plasma 4, GNOME 3.14 and the 4.4.x series of the Linux kernel. Making it roughly as out-of-date as Debian 8, except with a newer kernel. Its repositories are probably second or third only to Slackware and possibly CentOS, in terms of how few pieces of software are included in them. They mostly just contain desktop environment packages, core packages (like the kernel and GNU coreutils), a few games and some packages common to virtually every Linux distribution (like GNU Emacs). Like many other Linux distributions Mageia follows a fixed release model, but there is also a rolling release, developmental version of Mageia, known as Mageia Cauldron.

It is fairly stable but I have inadvertently broken it before in my VirtualBox VMs after a kernel upgrade.

Closing remarks

Mageia is best suited to intermediate to advanced users that:

  • Love open-source, but not enough to remove the binary blobs from one’s kernel.
  • Do not require out-of-the-box support for devices with proprietary drivers such as Broadcom WiFi chips.
  • Are comfortable using the urpmi package manager. I personally dislike the urpmi package manager’s syntax, as I find it even more confusing than APT’s.
  • Are comfortable with a fixed release model with new releases coming out roughly annually.
  • Favour stability over having the very latest software the open-source world has to offer. If you favour bleeding-edge software over stability you will likely be better suited to OpenMandriva.

Fedora’s Copr build service can be used to build packages for Mageia 6 (presently a developmental preview release only) and Cauldron. Although it does not support building packages for the present stable release, Mageia 5. The OBS can also be configured to build packages for Mageia 5 and Cauldron. For example, my OBS project builds the very latest Vim for both Mageia 5 and Cauldron, the packaging files for this can be found here while the download page is here.

Manjaro Linux

Manjaro Linux
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Beginner-friendly, Desktop
Country Austria, France, Germany
Date 2011
Developed by Community
Funded by Donations
Release model Rolling
Defaults
Bootloader GRUB2
Desktop KDE, Xfce
File system ext4
Init system systemd
Office suite LibreOffice
Package manager pacman
Text editor nano/vi
Web browser Firefox
Support
Architectures i686, x86_64
Broadcom No
FUSE Yes
Releases 17.0
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.4.011
Firefox (51.0.1) 50.1.0
GCC (6.3.0) 6.3.1
glibc (2.25) 2.24
GNOME (3.22.2) 3.22.2
GNU Emacs (25.1) 25.1
GNU nano (2.7.4) 2.7.4
LibreOffice (5.3.0) 5.2.4
Linux (4.9.9) 4.9.6
systemd (232) 232
Vim (8.0.0324) 8.0.0237
Xorg (1.19.1) 1.19.1
Zsh (5.3.1) 5.3.1
Software availability3
Atom Yes
Flatpak Yes
RuneScape NXT Client From the AUR only
SageMath Yes
Scilab From the AUR only
Snap Yes
Spotify From the AUR only
Extra Links
DistroWatch Link
English Wikipedia Link

Manjaro Linux is a beginner-friendly and out-of-the-box Linux distribution that is based on Arch Linux. Compared to its parent distribution (that is, Arch Linux) it has several important differences, for one it has an official graphical installer, Calamares. Although I should clarify, Calamares is not an installer specifically made for Manjaro, in fact its development is completely independent from that of Manjaro and it is designed to be a distribution-agnostic installer, it just happens to be the installer that Manjaro’s live media comes with. Manjaro also used to ship with the home-grown Thus installer, giving users the choice of using either Calamares or Thus, but Thus has since become deprecated.

Package management

Manjaro uses its own package repositories that are distinct from those of Arch Linux, but most packages in these repositories are derived from the corresponding packages in Arch Linux’s repositories (and merely re-packaged with sometimes some slight modification for Manjaro) or the AUR. Manjaro also ships with the latest LTS release (presently 4.9.x) of the Linux kernel by default (as opposed to Arch Linux which ships with the latest stable kernel). Despite this more bleeding-edge kernels are available in its repositories. It used to have out-of-the-box Broadcom wireless support, but with the release of 17.0 it no longer does, which is something I learnt when I put it on a USB stick in the hope it would give out-of-the-box Broadcom wireless support to aid me in installing Gentoo Linux from a stage3 tarball.

It also has its own home-grown tool for automatic hardware detection, specifically for detecting graphics cards, mhwd (short for Manjaro Hardware Detection). mhwd-kernel is a command that can be used to manage different version of the Linux kernel on Manjaro.

Conclusion

It is best suited to users that prefer a beginner-friendly distribution (with out-of-the-box support for popular extraneous devices such as Broadcom chips and NVIDIA graphics cards), but one where bug-wrangling may sometimes be required (as it is more on the bleeding-edge side of the spectrum, than on the stable side) and those that need/want amongst the most extensive software repositories of any Linux distribution known. It is also suited to beginners who want to get started with Linux packaging, as pacman packages are amongst the easiest to develop.

Its forums have been irritating to me as whenever I start a question there that includes a hyperlink (like to a pastebin service, containing my long error message or log file) it is subject to review by moderators before it will become visible to others. This process of review can take days. I have not used their forums in months or maybe even a year though, so for all I know they may have fixed that issue. When questions are not subject to review by a moderator the forums works about as quickly and well as Ask Fedora does to answer questions. So it is fairly good, but not as good as Ask Ubuntu, in terms of support quality and swiftness.

openSUSE

openSUSE
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Desktop, Server
Country Germany (SUSE), USA (openSUSE)
Date 1992 (SUSE), 2005 (openSUSE)
Developed by Community (openSUSE Project)
Funded by Novell
Release model Fixed (Leap), Rolling (Tumbleweed)
Defaults
Bootloader GRUB2
Desktop GNOME, KDE, LXDE, MATE, Xfce
File system Btrfs
Init system systemd
Office suite LibreOffice
Package manager ZYpp and RPM.
Text editor vi
Web browser Firefox
Support
Architectures arm64, armhf, i586, x86_64
Broadcom No
FUSE Yes
Releases 42.1, 42.2
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3 (Leap), 4.4.012 (Tumbleweed)
Firefox (51.0.1) 51.0.1 (Leap/Tumbleweed)
GCC (6.3.0) 4.8 (Leap), 6.3.1 (Tumbleweed)
glibc (2.25) 2.22 (Leap), 2.24 (Tumbleweed)
GNOME (3.22.2) 3.20.4 (Leap), 3.22.2 (Tumbleweed)
GNU Emacs (25.1) 24.3 (Leap), 25.1 (Tumbleweed)
GNU nano (2.7.4) 2.4.2 (Leap), 2.7.4 (Tumbleweed)
LibreOffice (5.3.0) 5.2.3 (Leap/Tumbleweed)
Linux (4.9.9) 4.4.36 (Leap), 4.9.8 (Tumbleweed)
systemd (232) 228 (Leap), 232 (Tumbleweed)
Vim (8.0.0324) 7.4.0326 (Leap), 8.0.0311 (Tumbleweed)
Xorg (1.19.1) 1.18.3 (Leap), 1.19.1 (Tumbleweed)
Zsh (5.3.1) 5.3 (Leap/Tumbleweed)
Software availability3
Atom No
Flatpak Yes
RuneScape NXT Client No
SageMath No
Scilab Yes
Snap Yes
Spotify No
Extra Links
DistroWatch Link
English Wikipedia Link

openSUSE is a popular Linux distribution that traces its origins back to the early 1990s, when a group of German computer science/mathematics students decided to create their own Linux system and sell it on floppy disks. They also founded a company to sell the floppy disks and called it S.u.S.E. (short for the German name Software und System Entwicklung mbH). Later the full name (from which the acronym was derived) was dropped but they kept the acronym and they changed it to SuSE, then later SUSE and finally to SUSE Linux. SUSE Linux was eventually acquired by Novell and, in 2005, the openSUSE Project was launched. Unlike SUSE (which is now defunct, and has been largely replaced with SUSE Linux Enterprise Server (SLES) which was launched in 2001), openSUSE’s development is open to the public (as opposed to being kept in-house at SUSE) and the public is encouraged to contribute (via submitting patches and bug reports).

Package management

openSUSE’s default package manager is ZYpp (which is invoked by the command zypper), which has the official graphical front-end YaST. ZYpp is a front-end to RPM, putting it in the same boat as DNF, urpmi and yum. ZYpp is unusual amongst Linux package managers in that it is written almost entirely in C++, most others are written in C, Python and/or Shell. My guess is the reason for the rarity of Linux package managers written in C++ is that Linus Torvalds hates the language, favouring C, among other languages. ZYpp is a rather fast package manager and is, in fact, faster than the other major RPM package management front-ends like DNF, urpmi and yum, all of which are predominantly written in interpreted languages (these are usually slower than compiled languages like C++) like Perl or Python (for further details see this earlier post). It is so fast that it is second only to pacman, in terms of speed.

YaST is not only ZYpp’s official graphical front-end, it is also a general-purpose system administration utility and can be used for resizing, or otherwise modifying system partitions, adjusting start-up services (that is, services that run off systemd and as such start whenever the system is started), etc. YaST is also the installer of openSUSE, that is, the application one uses to install openSUSE to one’s hard drive. It is written almost entirely in Ruby and I have personally found it quite stable, with a similar level of stability to Ubuntu’s Ubiquity installer.

As its name suggests openSUSE has a focus on open-source and its default, official repositories only contain open-source software (OSS), aside from the binary blobs on its kernel. A default installation of openSUSE does not include any proprietary software, except for the aforementioned kernel binary blobs. It does have a non-OSS official repository, but this repository does not contain all that many popular pieces of proprietary software and excludes Broadcom wireless drivers, for instance. For Broadcom wireless one will need to use the unofficial PackMan repositories. The most popular pieces of software I can find in the non-OSS repository are probably Opera and Vivaldi, two lesser used proprietary web browsers. Vivaldi is similar to Google Chrome, but has an advantage over Google Chrome especially for openSUSE users, namely, that when one opens a one-click install link in this browser it will download it automatically, as opposed to Chrome which will merely show one the contents of the .ymp file one-click installs utilize. For further details about this issue see this question on Linux & Unix StackExchange.

Editions

openSUSE is also unusual in that it has two editions: a fixed release edition, Leap (which I will abbreviate as OL), and a rolling release edition, Tumbleweed (which I will abbreviate as OT). Leap was the original edition of openSUSE and is still the most popular. It is fairly conservative in terms of the age and stability of the software versions in its official repositories. Its releases usually use the latest LTS release of the kernel available at the time of the release. Presently the latest release of Leap is 42.2 (released in November 2016) and uses the 4.4.x kernel. The Tumbleweed edition attempts to be bleeding-edge, but is not as bleeding-edge as Arch Linux or a bleeding-edge Gentoo Linux system. Usually kernel updates come out so slowly that a new stable upstream release of the kernel will be out by the time the present version of the kernel is added to the official Tumbleweed repositories. OT is very easy to inadvertently break in my experience, I find that I can easily, yet inadvertently break it within a day of installing it.

Tumbleweed is unusual in the Linux world, as to my knowledge, other than its own derivative distributions (like Gecko Linux Rolling Edition), it is the only Linux distribution utilizing the RPM package manager that follows a bleeding-edge rolling release model. PCLinuxOS also follows a rolling release model and uses the RPM package manager but it is not bleeding-edge, in fact, they do not even claim to be bleeding-edge.

File systems

Leap and Tumbleweed both use the Btrfs file system by default, which automatically takes regular snapshots of your operating system. Whenever one wishes to revert to a snapshot one merely needs to use the snapper tool, further details on this tool can be found here. Unfortunately, however, in order to use snapper one needs dbus to be working (so it cannot be run in a chroot), so it will not work allow one to rescue one’s system from more serious bugs.

I have had an experience that might suggest that openSUSE Tumbleweed is more stable when installed on an ext4-formatted root partition instead of a Btrfs-formatted one. On my HP Envy 17 laptop I have installed OT several times using the default Btrfs file system. Usually these OT installations do not last any more than a fortnight before they become unusable to me. Usually (if not always, I do not recall anytime when this has not happened) after I first install OT on a Btrfs-formatted partition I reboot it and then install a few extra packages that I want. Most notably Atom, Docker (which I used to use to run RuneScape’s NXT Client), git, GVim, Zsh, etc. When I reboot my OT installation (usually a day later, as I do tend to turn my PC off when I go to bed) a second time I find it very slow (or laggy, it was not infrequent for my system to freeze for a few seconds or even a few minutes at a time). I used to put up with the slowness, thinking this was just OT, even though most other distros went significantly faster than this. Usually OT becomes unusable to me after a while as it becomes too slow, simply will not boot to either a command-line or graphical interface in a reasonable amount of time (like less than minutes).

On the 20th of February 2017, I decided to install OT on an ext4 formatted partition for a change, in the hope I would not get these issues again. My rationale was fixing disk errors with Btrfs is more complicated than fixing them on an ext4 partition (in which case one merely run fsck on the partition in question) and that ext4 is more popularly used by Linux distributions, so ideally it should be easier to use. Since I installed OT on this ext4 installation for some reason I have noticed my OT installation is running just as fast as it did when I first installed it (which is pretty fast) even though I must have rebooted it at least 10 times by now. The only thing besides the formatting of my partition that is different this time (hence a possible extra reason for why OT is not so slow) is that I have not installed Docker. The reason why no Docker is several-fold. Firstly, on my Btrfs-formatted partition installations I found that systemd-analyze blame showed that Docker added several seconds, if not minutes, to the start-up time of OT. Secondly, I found that after using Docker a few times to start RuneScape’s NXT Client (RNC) I eventually got some most bizarre errors that seemed to indicate that my host system (OT) and the guest system I was running RNC from (Ubuntu 14.04) were getting confused. As when I ran: cat /etc/os-release from the Docker container I was running RNC in it returned output that was more indicative of openSUSE Tumbleweed (for details see this thread). Lastly, I no longer need Docker to run RuneScape’s NXT Client as I have installed Ubuntu 14.04 on my laptop, so I dual-boot OT and Ubuntu 14.04. This is relevant to how I could run RNC on OT in that I could now use a chroot to run RNC on OT instead of Docker. Namely I run:

user $  xhost +
user $  sudo chroot /mnt /usr/local/bin/rsot

where /usr/local/bin/rsot is a script on my Ubuntu 14.04 system with the contents:

#!/bin/sh
su - fusion809 -c "export DISPLAY=:0 && /usr/bin/runescape-launcher"

Leadership

It is one of the most democratic Linux distributions in the world, that is, its development is more guided by the will of the users and developers than by an individual dictator. They have a board for making some decisions, with the chair appointed by SUSE (or Novell, as SUSE is now a subsidiary of Novell) and the other 5 members appointed by the community. Most members of this board (except for one whom is in Portland in the U.S.) reside in central and eastern Europe. Other decisions are made by other community-guided mechanisms.

I should briefly mention that Novell made a deal with Microsoft in 2006, that has caused a lot of contention in the open-source community. It is supposedly to protect both companies from possible law-suits from one another, but still many open-source community members are less than pleased about this deal.11

The Open Build Service and SUSE Studio

I personally have successfully created over fifteen different packages for openSUSE using the Open Build Service, including one for Blockify (and yes it is also built for Fedora in my OBS project) and another that provides the very latest Vim (with vim-redhat providing Vim for CentOS/Fedora/RHEL/Scientific Linux and vim-suse for openSUSE/SLES). The download page for my Vim package can be found here. A list of my OBS packages can be found here.

The distribution is also rather unique (the only other distribution I am aware of with this capability is the related SLES distribution) in the Linux world in that it has a free online service one can use to create a custom ISO image for it. This service is known as SUSE Studio. This service was actually used to create the Gecko Linux distribution’s ISO images.

Closing remarks

openSUSE is ideal for intermediate-advanced users that:

  • Love open-source, but not enough to use the Libre kernel. I am afraid if you want an openSUSE-like distribution that uses a Libre kernel you are unlikely to find one, in fact I am completely unaware of any distribution that is openSUSE-based, or even openSUSE-like (where by “openSUSE-like” I mean at least uses the ZYpp package manager) that uses the libre kernel, if you know of one please do enlighten me.
  • Favour distributions with a relatively long fixed release cycle (one new minor release every year, and a major release every three or more years) or rolling release model.
  • Like distributions that use the RPM package manager.
  • Favour democratic distributions over authoritarian ones.
  • Like/need distributions with fairly comprehensive, but not as comprehensive as say Arch Linux or Gentoo, repositories. This may include someone that likes to/needs to use obscure/proprietary pieces of software (e.g., Spotify), or people that perform reviews of several pieces of Linux software on a regular basis.
  • Like packaging new/obscure pieces of open-source software. The Open Build Service (OBS) is more oriented towards openSUSE users (as it is, in fact, provided as a free public service of the openSUSE Project) and is easier to use on openSUSE than on other distributions. Far more pieces of software are packaged for openSUSE in the OBS than they are for other distributions. Beware though that the OBS only accepts open-source pieces of software, if you try to build proprietary software there odds are it will be eventually found and deleted by the admin of the OBS.
  • Do not need out-of-the-box support for hardware with proprietary drivers only. For those that do need this support, Gecko Linux is a distribution based on openSUSE (with both a fixed release and rolling release edition, just like openSUSE) with out-of-the-box support for proprietary device drivers like the Broadcom wireless drivers.
  • May require some free support. The openSUSE Forums are usually quite helpful. Their response times are usually not quite as good as Ask Ubuntu, though, but they are usually adequate enough. Plus I have found the community more polite or at least slower to anger and negative assumptions than Arch Linux and Sabayon Linux’s.
  • May be interested in creating their own custom ISO image for openSUSE.

PCLinuxOS

PCLinuxOS
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Beginners, Desktop
Country USA
Date 2005
Developed by Bill Reynolds (lead/BDFL) and Community
Funded by Donations
Release model Rolling
Defaults
Bootloader GRUB2
Desktop KDE Plasma 5, MATE
File system ext4
Init system SysVinit
Office suite LibreOffice
Package manager APT-RPM and RPM.
Text editor vim
Web browser Firefox
Support
Architectures x86_64
Broadcom No
FUSE Yes
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3.033
Firefox (51.0.1) 51.0.1
GCC (6.3.0) 4.9.2
glibc (2.25) 2.20
GNOME (3.22.2) None
GNU Emacs (25.1) 25.1
GNU nano (2.7.4) 2.7.4
LibreOffice (5.3.0) 5.1.1
Linux (4.9.9) 4.9.8
systemd (232) None
Vim (8.0.0324) 8.0.0194
Xorg (1.19.1) 1.18.4
Zsh (5.3.1) 5.0.2
Software availability3
Atom No
Flatpak No
RuneScape NXT Client Yes
SageMath No
Scilab No
Snap No
Spotify Yes
Extra Links
DistroWatch Link
English Wikipedia Link

PCLinuxOS is a Linux distribution with fairly liberal licensing requirements and out-of-the-box support for most hardware with Linux support (including Broadcom wireless). It is unusual among Linux distributions in that it still uses the APT-RPM (which was last updated in early 2008)12 front-end for the RPM package manager, and includes several outdated (and hence potentially insecure) pieces of software including RPM (it uses 4.8.1, which was released in 2010) and init system. Its official repositories also include some proprietary desktop applications like RuneScape’s NXT Client. It is also unusual in a few other ways:

  • It follows a rolling release model, but is fairly conservative, in that it consists mostly of more stable (as opposed to the very latest), well-tested versions of its included software. For example, its kernel is presently of the 4.9.x series (the latest LTS release). Most rolling release distros are more bleeding-edge. Likewise until February 2017 it still used KDE Plasma 4 (despite KDE Plasma 5 being out since July 2014) and had not added Plasma 5 to its official repositories.
  • Has not adopted the systemd init system and has no intention of ever adopting it.
  • Follows an authoritarian governance model, with a Benevolent Dictator For Life (BDFL), Bill Reynolds (texstar). Or so I think, not certain about this as I have asked for info on this in their IRC channel but I got no reply after waiting for >5 hours. Only 9 or so other people in the channel though so that was not unexpected.

Closing remarks

I personally have found it a fairly buggy distribution for one not using software on the bleeding-edge. I maintain a VirtualBox VM running it, and I have had it broken before by a kernel upgrade. Plasma 5 has also rendered my VM unable to reach a usable target (either the command-line or a GUI). It is fairly beginner-friendly and is best suited for those that:

  • Want an out-of-the-box experience.
  • Like a conservative distribution, in terms of software versioning, favouring stability over the very latest software versions.
  • Are OK with an authoritarian distribution. Dictatorships do not sit too well with me personally, partly because I always fear that I will grow to love the distribution and then the dictator will make a decision that turns the distribution into something I dislike. At least with community-lead distributions usually the decisions reflect more what most users want, instead of just what one dictator wants.

Sabayon Linux

Sabayon Linux
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Beginners, Desktop
Country Italy
Date 2005
Developed by Fabio Erculiani and Community
Funded by Donations
Release model Rolling
Defaults
Bootloader GRUB2
Desktop GNOME, Fluxbox, KDE, MATE, Xfce, None
File system ext4
Init system systemd
Office suite LibreOffice
Package manager Entropy (binary) and Portage (source).
Text editor nano
Web browser Google Chrome
Support
Architectures armhf, x86_64
Broadcom Yes
FUSE Yes
Releases 17.03
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.4.005
Firefox (51.0.1) 51.0
GCC (6.3.0) 4.9.3
glibc (2.25) 2.23
GNOME (3.22.2) 3.22.2
GNU Emacs (25.1) 24.5
GNU nano (2.7.4) 2.7.4
LibreOffice (5.3.0) 5.2.4
Linux (4.9.9) 4.9.8
systemd (232) 228
Vim (8.0.0324) 8.0.0106
Xorg (1.19.1) 1.18.4
Zsh (5.3.1) 5.2
Software availability3
Atom Yes
Flatpak No
RuneScape NXT Client No
SageMath No
Scilab No
Snap No
Spotify Yes
Extra Links
DistroWatch Link
English Wikipedia Link

Sabayon Linux is a beginner-friendly Linux distribution that is donation-sponsored and developed by a team of volunteer developers. It is derived from Gentoo Linux and shares its package manager, along with its own binary package manager, Entropy. All packages installed with Entropy were originally built using Portage’s ebuild command. Like Ubuntu it has a few different official editions each with a different default user interface. Like there is a minimal edition (with Fluxbox and Xorg, by default), GNOME edition, KDE edition, MATE edition, Xfce edition and server edition (which has no GUI).

Sabayon was founded in 2005 by Fabio Erculiani, an Italian software engineer, as an out-of-the-box Gentoo derivative. Later in 2008 he started working on a binary package manager for Sabayon, that like Gentoo’s package manager Portage, was written in Python and Shell script. Its first stable release was in 2011. Erculiani remains the sole maintainer of the Entropy package manager, periodically tagging new releases from its GitHub repository. Entropy has two available front-ends: a command-line one (Equo) and a graphical one (Rigo). Equo is one of the slower command-line binary Linux package managers, probably because it is written in an interpreted language namely Python which is inherently slower than the equivalent package manager written in compiled languages like C. Despite this it is the fastest package manager I have used that is written predominantly in an interpreted language like Perl or Python.

Package management and default packages

Sabayon is a very out-of-the-box Linux distribution with support for Broadcom wireless. It aims to be on the bleeding-edge but it is more conservative (that is, it is closer to the stable side of the spectrum) than the more truly “bleeding-edge” distributions like Arch Linux and Gentoo Linux. For example, it still uses Xorg 1.18.4 at the time of writing, when Xorg 1.19.0 has been out for over two months (see the infobox for more packages that are rather out-of-date for a bleeding-edge distro). Its pieces of application software (e.g., CodeLite, Eclipse, etc.) that are not part of an included desktop environment’s core application suite, tend to lag behind too, as there were only two people maintaining its repositories last time I asked (which was only a few months ago).

Entropy’s repositories are not super-comprehensive (but they do contain over 13,000 packages), in-my-opinion, which is not surprising given there’s only two people maintaining its official repositories. Several pieces of software are missing from them, especially mathematics/proprietary pieces of software such as RuneScape’s NXT Client, SageMath and Scilab. I personally have not used them, but I hear that Sabayon has recently added Sabayon Community Repositories (SCR), which may allow users to more easily get the software they want that are not available in the Entropy repositories.

Sabayon also uses its own custom-branded kernel sources (sys-kernel/sabayon-sources) that Erculiani maintains. Several different supported versions of the Linux kernel are in their official repositories and can be installed with Entropy.

Its choice of web browser to ship with is also unusual. Most distributions ship with an open-source web browser like Firefox, while Sabayon ships with Google Chrome, a proprietary web browser. I also find that GNOME is updated fairly slowly after an upstream minor/major release (as opposed to a bug fix release; usually bug fix releases are integrated into the repositories fairly quickly), probably because the Portage Tree, which contains most of the ebuilds used by Sabayon developers to build Sabayon’s GNOME packages, usually are updated fairly slowly after a major/minor GNOME update. For example, it took months before GNOME 3.18 entered the Sabayon repositories after its source code was released upstream.

Installer

Sabayon used to use its own custom branded version of the Calamares installer, although before this it (circa mid 2015) used a re-branded version of Fedora’s Anaconda installer. It was abandoned, in favour of the Calamares installer, due to its perceived propensity for bugs. Although in mid 2016 they switched back to Anaconda yet again, due to issues with Calamares.

Impressions of its community

I should warn folks though, that I have found the Sabayon developers (especially in their IRC channel, not so much in their forums) rather testy, quick to anger (or at least being rude), even when one is not trying to insult them, merely asking questions out of curiosity about the distribution. But that could just be me (or my timing as Sabayon developers only work on Sabayon in their spare time and I could have caught them on a bad day after they got home from work), I do not know why but I seem to get under their skin when that is furthest from my intentions. Sabayon is a fairly unpopular distribution compared to the others mentioned in this post, so naturally there are fewer people on their forums that are available for answering one’s questions. So I would personally rank their forums as inferior (in terms of mostly, response time. Quality is still pretty good though) to that of Arch Linux and Manjaro Linux, and the Ask sites of Fedora and Ubuntu.

Closing remarks

Ideal Sabayon users are those that:

  • Enjoy using a beginner-friendly distribution.
  • Like having the freedom to customize one’s distribution, but not having to (as doing so can be quite tedious and, at times, frustrating), if one is happy with Sabayon’s defaults. One can theoretically create an entirely custom Sabayon installation by using the server edition of Sabayon and setting up everything from the ground-up.
  • Want a fairly bleeding-edge, yet still rather stable distribution.
  • Do not require any obscure/insufficiently popular (among Sabayon users/developers at least, as otherwise they would be in the Entropy repositories) pieces of software like RuneScape’s NXT Client, SageMath or Scilab, or if one does are willing to and able to build and install said packages using Portage.
  • Do not require much support.
  • Do not mind having a fairly slow package manager. I personally find using Entropy annoying at times because when one has several packages upgrades to get it can take well over half an hour to download and install them.
  • Do not have any qualms about using a distribution that is not entirely open-source.

Slackware

Slackware
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Minimalist, Desktop, Server
Country USA
Date 1993
Developed by Patrick Volkerding (Lead/BDFL), Community
Funded by Donations
Release model Fixed
Defaults
Bootloader LILO
Desktop KDE4
File system ext4
Init system BSD-style init system
Office suite Calligra
Package manager pkgtools and slackpkg.
Text editor vi
Web browser None
Support
Architectures arm, i486, s390, x86_64
Broadcom No
FUSE Yes
Releases 14.2
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3.046
Firefox (51.0.1) 45.7.0
GCC (6.3.0) 5.3.0
glibc (2.25) 2.23
GNOME (3.22.2) None
GNU Emacs (25.1) 24.5
GNU nano (2.7.4) 2.6.0
LibreOffice (5.3.0) None
Linux (4.9.9) 4.4.38
systemd (232) None
Vim (8.0.0324) 7.4.1936
Xorg (1.19.1) 1.18.3
Zsh (5.3.1) 5.2
Software availability3
Atom No
Flatpak No
RuneScape NXT Client No
SageMath No
Scilab No
Snap No
Spotify No
Extra Links
DistroWatch Link
English Wikipedia Link

Slackware is the eldest presently-maintained Linux distribution available and is perhaps the most authoritarian of Linux distributions too, in terms of its governance. The later is because Slackware’s development is lead by Patrick Volkerding, the so called “Benevolent Dictator for Life” of Slackware. Slackware uses a very simple package management system (called pkgtools), by default, so simple, in fact, that it does not manage repositories or resolve dependencies for you and rather you, the user, are expected to manage the dependencies and repositories yourself. Slackware also has an unofficial package manager modelled after Debian’s APT that is called slapt-get. One has to install this package manager manually, however, by going to its home page, downloading the relevant binary and installing it with pkgtools. slapt-get serves as a wrapper around pkgtools and automatically manages dependencies and repositories for one.

Installer

Slackware is unusual amongst modern Linux distributions in that it has no graphical installer, but rather its official installer is a textual installer. In this regard it is most similar to the *BSDs like DragonFlyBSD, FreeBSD, NetBSD and OpenBSD, which all use a textual installer by default. Personally I have found the installers of the *BSDs a little easier to use than Slackware’s. This is partly because with Slackware you are expected to partition your disks yourself (with fdisk, for example), as opposed to the BSDs where the installer usually does this for you.

Package management

Slackware is also unusual in how out-of-date the software is in its repositories (e.g., it is still using KDE Plasma 4, even though KDE Plasma 5 has been out since July 2014) and how relatively small its repositories are. You will find many pieces of software you may want, including open-source software, that are absent from the official repositories of Slackware. Rather one often has to rely on the SlackBuilds repositories. There is also a developmental version of Slackware that has more bleeding-edge software than the latest Slackware stable release, this developmental version is called Slackware-Current.

One can also write one’s own SlackBuilds, I find them similar to PKGBUILDs, except they are usually significantly longer and shell-scripting heavy (I know they are both shell scripts, PKGBUILDs and SlackBuilds, but SlackBuilds often involve more complicated shell scripting than PKGBUILDs. Conditionals are rare in PKGBUILDs, but common-place in SlackBuilds, for example).

Closing remarks

I have personally found Slackware a fairly easy Linux distribution to inadvertently break, especially with respect to its kernel. After kernel upgrades I have had it fail to boot for me. But most of the time it works fine. It is not without its charm, especially for those that dislike systemd.

Ideally Slackware is best suited to advanced users that:

  • Love open-source, but not enough to use a libre kernel.
  • Do not need out-of-the-box support for devices with proprietary drivers, like Broadcom wireless.
  • Want to build their system from the ground-up.
  • Favour stability over a bleeding-edge system.
  • Do not mind using a distribution with authoritarian governance. Authoritarian governance always has the chance to lead this project down roads long-time users dislike, whereas democracies tend to keep decisions more conservative and less likely to anger many users.
  • Do not like systemd.

I have never used their forums or IRC channels, that I can recall at least, so I cannot really comment on their quality.

Ubuntu

Ubuntu
Note: the hyperlinks in this infobox are mostly to the relevant Wikipedia articles, but otherwise it is to be best external site I can find.
Characteristics
Category Beginners, Desktop, Server
Country Isle of Man
Date 2004
Developed by Canonical Ltd, Community
Funded by Canonical Ltd
Release model Fixed
Defaults
Bootloader GRUB2
Desktop KDE, GNOME, LXDE, MATE, Unity, Xfce
File system ext4
Init system systemd
Office suite LibreOffice
Package manager APT and dpkg.
Text editor nano/vi
Web browser Firefox
Support
Architectures arm, i486, s390, x86_64
Broadcom No
FUSE Yes
Releases 12.04, 14.04, 16.04, 16.10, 17.04
UEFI Yes
Software versioning
Note: all of this data is as of 10 February 2017.
Bash (4.4.012) 4.3 (16.04), 4.4 (16.10)
Firefox (51.0.1) 51.0.1
GCC (6.3.0) 5.4.0 (16.04), 6.1.1 (16.10)
glibc (2.25) 2.23 (16.04), 2.24 (16.10)
GNOME (3.22.2) 3.18.4 (16.04), 3.20.4 (16.10)
GNU Emacs (25.1) 24.5 (16.04/16.10)
GNU nano (2.7.4) 2.5.3 (16.04), 2.6.3 (16.10)
LibreOffice (5.3.0) 5.1.4 (16.04), 5.2.2 (16.10)
Linux (4.9.9) 4.4 (16.04), 4.8 (16.10)
systemd (232) 229 (16.04), 231 (16.10)
Vim (8.0.0324) 7.4.1689 (16.04), 7.4.1829 (16.10)
Xorg (1.19.1) 1.18.4 (16.04/16.10)
Zsh (5.3.1) 5.1.1 (16.04), 5.2 (16.10)
Software availability3
Atom Available from the webupd8team/atom PPA
Flatpak Available from the alexlarsson/flatpak PPA
RuneScape NXT Client Available from Jagex's official Ubuntu 14.04 repository
SageMath No
Scilab Yes
Snap Yes
Spotify Available from the official Spotify repository
Extra Links
DistroWatch Link
English Wikipedia Link

Ubuntu is a beginner-friendly Linux distribution developed by a community of volunteers, along with Canonical Ltd employees and that is sponsored by Canonical Ltd. Canonical Ltd. is a company founded and funded by Mark Shuttleworth, a South African entrepeneur and astronaut. He also leads the development of Ubuntu, although the community of volunteer developers also has a say in its development. Shuttleworth was a volunteer contributor to the Debian operating system in the 1990s and when he created the Ubuntu operating system he decided to base it on Debian. Like Debian Ubuntu uses the APT and dpkg package management systems. It also uses a similar file system layout to that of Debian. Despite being developed by a company Ubuntu is a free product, and Canonical Ltd. instead makes its money by selling paid support for Ubuntu to businesses that use it.

Editions and releases

Ubuntu, by default, does not come with any proprietary software that I am aware of, aside from the binary blobs on its kernel. Despite this its official repositories do contain some proprietary drivers like the Broadcom wireless driver. It is designed to be fairly out-of-the-box, but it does not have out-of-the-box support for Broadcom wireless. It also has several different official editions, including:

  • Edubuntu, which only exists for LTS releases of Ubuntu. It is education-oriented, primarily intended for children.
  • Kubuntu (using KDE)
  • Lubuntu (using LXDE)
  • Ubuntu GNOME (using GNOME), which is to become the default edition in April 2018 with the release of Ubuntu 18.04.
  • Ubuntu Kylin, which is intended for Chinese Linux users due to it complying with the Chinese government procurement regulations.
  • Ubuntu MATE (using MATE)
  • Xubuntu (using Xfce)

Ubuntu is oriented towards both desktop and server users, and has even been ported to smartphones and tablets. It has one of the best free online support websites I have ever seen, Ask Ubuntu. It is also unusual in the Linux world in that it has two types of releases, one standard releases which come out every six months and another LTS releases which come out in even-numbered years in April (e.g., April 2012, April 2014, April 2016). Releases are assigned a version number that corresponds to the year and month they were released, so the Ubuntu release that came out in April 2012 was given the version string 12.04, likewise the Ubuntu release that came out in October 2016 was called 16.10. They are also given a codename, e.g., 14.04 was called Trusty Tahr and 16.04 was called Xenial Xerus. LTS releases are officially and freely supported for 5 years after they are released, while standard releases are supported for only nine months after their release.

Packaging

Like Fedora and openSUSE, Ubuntu has its own mechanism by which users can create and disseminate their own custom packages, namely via the Canonical Ltd. owned website Launchpad. Repositories setup using this website are called Personal Packaging Archives (PPAs). I personally have managed to setup two working PPAs, one for Geany, the lightweight GTK-based IDE, and another for GNU Octave. I have real difficulties building my own custom Debian packages due to challenges related to writing the packaging source files (like the Debian rules and control files), and I only managed to create these two working PPAs via slightly modifying existing packaging files I found online. The OBS can also be used for packaging Ubuntu packages and distributing them. For example, I package the latest Vim using the OBS for Ubuntu 14.04/16.04/16.10, here are my packaging files (for both Debian and Ubuntu) and here is the download page for this and my other Vim packages.

Reputation

Canonical Ltd. has a reputation in the open-source community, of not collaborating with upstream projects on their solutions (to problems facing the open-source community) and instead substituting their own. This has lead to some anger in open-source circles. For example, instead of collaborating on the development of the Wayland display protocol as a replacement for the old, deprecated Xorg server, they decided to provide their own replacement, Mir. Likewise instead of working with upstream projects on their cross-distribution packaging formats (like AppImages) and Flatpaks they decided to create their own, Snaps. In April 2017 it was announced that Canonical was ditching Unity 8’s development and hence also the Mir display server, in favour of GNOME and Wayland.

Closing remarks

Ubuntu is perhaps best for users that:

  • Love open-source, but not enough to use a distribution with no proprietary drivers in its official repositories and no binary blobs on its kernel. Trisquel is a Linux distribution based on Ubuntu but with a focus on open-source, with no proprietary software in its repositories and no binary blobs on its kernel.
  • Prefer a fixed release cycle over a rolling release model distribution.
  • Favour a stable system over a bleeding-edge system.
  • Like a distribution that they can use on almost every device.
  • Require/want free or paid support, as either option is available and free support is certainly of high quality. I have never used their paid support (as I think it kind of defeats one of the reasons I choose Linux in the first place — it is free), but I assume it would be superior to the free support available at Ask Ubuntu (as otherwise no one would pay for it) which is pretty good.

Footnotes

  1. Source: Phasing out i686 support.
  2. Both nano and vi are in the base group of default, pre-installed applications.
  3. i686 is presently being phased out. The 2017.03.01 (March 2017) ISO was the first ISO not to have i686 support. i686 packages will be removed from official repositories in November 2017.
  4. Note: This section is to give one an idea on how permissive of non-free software the system is, and how easy it is to install some more challenging software on said systems.

    Cyan background indicates that while the software is not available in an official repository, it is available from an unofficial one. These cells have text other than "No" or "Yes" (which I am mentioning for the colour-blind).

    Red background indicates that the software is not available for this distribution from an official or unofficial repository, to my knowledge (feel free to correct me if I am wrong!) I know that official Atom 64-bit Debian/RPM/Linux tarball builds exist, but I ignore them in this section and reserve Cyan/Green colours for distros that have an auto-updating repositories (whether official or unofficial) containing Atom. If you are colour-blind and have difficulty seeing red backgrounds you can tell by seeing the word "No" in the infobox cell.

    Green background indicates that the software is available for this distribution, from its official repositories. "Yes" appears in these infobox cells.
  5. Source: Arch Linux Arch Wiki article.
  6. Source: CentOS Governance.
  7. Source: Debian 6.0 "Squeeze" released News Press Release.
  8. Source: Council revision 481339.
  9. Source (of why Sabayon switched from Anaconda to Calamares): Sabayon 2015 article.
  10. Sources: Funtoo Linux History article at funtoo.org, Gentoo History at Gentoo Wiki
  11. Source: Sabayon 1607 release announcement.
  12. Source: DistroWatch Weekly, Issue 176, 6 November 2006
  13. Source: APT-RPM Home Page (Retrieved 26 December 2016).

Comments