3

Context: I keep trying Linux every couple of years or so, to see how it compares with Windows. I would use it to work on Mono and Java, both of which I can do. I've looked at a number of distros:

They seem to be all pretty much the same, so I'm wondering if I'm missing some important characteristics.

Question: What are the substantive, fundamental differences, if any, between these distros?

To clarify: I'm not looking for a distro recommendation or a comprehensive list of all the ways the distros are different.

4
  • 6
    you mean aside from the fact that FreeBSD isn't a Linux distro? Nov 27, 2009 at 18:46
  • Good point, actually.... Nov 27, 2009 at 22:04
  • 1) Unix tree (OpenSolaris, Solaris or IBM, HP), Unix like system is FreeBSD 2) Linux tree (OpenSuse or Ubuntu or Fedora or Archlinux or Gentoo or TinycoreLinux or Microcorelinux or Debian shares the same linux kernel). 3) Windows tree arrived from FreeBSD like system which was Minix 4) Apple/Mac is licensed Unix tree which is also FreeBSD like family. 5) PDP-11 from main origin of Unix is still the main unix out there.
    – YumYumYum
    Apr 21, 2012 at 15:42
  • Because the people putting them together are substantively different and their concerns, drives and motives for creating are different. Jul 25, 2016 at 15:41

6 Answers 6

14

FreeBSD - This is not a Linux distribution, but rather a member of the BSD family which is mainly focused on being a mainstream server platform and supporting as much i386 hardware as possible. It supports the most x86 hardware out of all the BSDs, but likely not what you're after for a development platform unless you're programming server-side software.

OpenSuSe - More user friendly as a desktop platform. Not as much support and up to date software available, which is important for a development machine. Great for a regular end-user desktop environment though.

Ubuntu - This is probably what you're after if you're making desktop software. HUGE community support, currently ranked 4th in up-to-date software packages, and great as a desktop platform for end-users. Based on Debian.

Fedora 12 - Also great as a development platform - it's based on Red Hat Linux distribution therefore is rpm based. Currently ranked 2nd in up-to-date packages. Highly maintained, I see it as a nice mix between a desktop/server platform, you can install whatever you want and it's easily customizable. Not as popular as Ubuntu in the desktop world but heavily used in the server world. Great free alternative to Red Hat, CentOS is similar.

Other great development platforms include Arch Linux (if you're comfortable with some configuring - it's ranked 1st in updated software), and Gentoo.

2
  • 2
    +1 - Nice summary. Only things that I would add: (a) BSD is not a linux distro, but another flavour of unix-like systems! (b) Fedora and Ubuntu are very committed to the values behind the free software movements. OpenSuSe (Novell) got this really bad idea of buddying up with Microsoft (patents, mono...). Not a technical difference, but an important one if you care about free software. On another note: what is the source you used for the ranking in up-to-dateness of the various distros?
    – mac
    Nov 28, 2009 at 0:24
  • @mac, thanks for pointing that out, I must have read it over too fast! (the part regarding BSD) that aggravates me to an extent as well. As for the software, check out OS Watershed: oswatershed.org
    – user1931
    Nov 28, 2009 at 0:28
2

The primary differences among these distro are their lineage, which several answers have covered. That largely affects how you administer them and the size of their software repositories. Anything based from Debian is going to have a very large collection of software to choose from. All the distros you've listed have plenty of support for developers.

I really agree with John T's remark about OpenSuse - it's not the best choice as a development platform. zillion makes a good point, FreeBSD is 'the' BSD distro. And to expand on matpol's anser: There used to be only 'RedHat'. In 2002 (or so) two forks were created, Fedora and RHEL (RedHat Enterprise Linux. Defora is spnsored by RedHat, but is a community supported distro. From RHEL or Fedora:

A few years ago there was just one Red Hat Linux. As acceptance grew and Linux reached further into enterprise computing, one Red Hat Linux product could no longer be all things to all users. That's why in 2002 Red Hat created Red Hat Enterprise Linux. Stable, supported, certified -- Red Hat Enterprise Linux has become the Linux standard.

The Fedora Project was introduced in late 2003. Built for and with the help of the open source community, the Fedora Project is for developers and high-tech enthusiasts using Linux in non-critical computing environments.

If they all seem pretty much the same to you, it's because they are. They all use very similar linux kernels. They all can run gnome, kde, or openbox desktops. The core software (GNU), which is why purists refer to these systems as Gnu/Linux systems.

When choosing a distro, I typically advise people to pick one they are familiar with - one you can administer with no fuss, after all you want to spend your time working, not figuring out how to get that $#@&&! video driver to work.

If you are new to linux, stick with a stable, popular distro which will provide the most help if you need it. That means Debian, *buntu, Fedora, Slackware, Mandriva or CentOS.

Personally, as my main development box, I would avoid anything that advertises itself on the 'bleeding edge' asuch as ArchLinux, but that is because I am old and get cranky when I perform a routine software update & my video drivers break.

1
  • as someone who's used RedHat (in the original sense, not this newfangled Fedora stuff), Slackware, Ubuntu and now Debian linuxes, take it from me -- the point about picking one you're already familiar with is a good one. it takes time to figure out how a new distro does things. Nov 28, 2009 at 1:50
1

redhat and fedora are similar. Ubuntu is based off debian. The difference between distros to me seems to be the way you install packages and where stuff is. In debian/ubuntu you use .debs and in redhat/fedora/centos you use rpms. I use ubuntu for desktop and server - it's pretty easy to keep up to date and install software. I have used the redhat variety - I found this a bit more difficult to maintain.

0

FreeBsd is the main Bsd distro, Bsd is more secure than linux but more limited, it's also more structured than linux between projects but some softwares won't compile on it ...

Others are only linux distributions, it's all the same mostly but you choose depending your needs and knowlegde a decent distro, there's a lot of them and they are less structured but linux evolve faster than any operating system that way ...

For linux, I suggest you to try :

Slitaz 2.0 : for an old computer or to bring with you ... Ubuntu : a good distro to learn the basics first but don't stick on it too long ... Archlinux : If you want a real linux that could stay a lifetime on a computer even an old computer, I suggest you to try and install by Chakra live cd/dvd the first and keep important files, you could begin with it be prepared cause it will be really hard sometimes but valuable for a lifetime ...

Note : I use Archlinux 64 bits now ...

0

I'm also trying to figure out the question what is the damn difference between different Linux distros and also how Linux is different from BSD.

As far as I know, the OSes that you mentioned can be considered into two categories:

  • BSD
  • Linux Distros

For the difference of BSD and Linux, I strongly recommend this article:

{BSD vs Linux}(www.over-yonder.net/~fullermd/rants/bsd4linux/01)

It's really lengthy, but worth reading and the comments are really brilliant. You won't want to miss it.

For the difference of Different Linux Distros, to know the components of a Linux distro is definitely a great starting point, IMHO, you want want to see around {LFS}(www.linuxfromscratch.org/lfs).

And the big differences would be:

  • Kernel
  • Desktop Environment
  • Package Management
  • Community Support
  • Target User

Checkout this post What’s The Difference Between Linux Distributions If They’re All Linux?.

Hope this helps:-)

0

This is an old question that already has answers covering many of the structural differences. The question is written from the perspective of migration from Windows. The author has a technical background, but current readers may not. There are several aspects not mentioned that might be bigger considerations in the choice of distro, particularly for new, non-technical users. (Note that this answer reflects the distros as they exist in mid-2016).

1. "Newbie Friendliness"

For new, particularly non-technical, Linux users, a number of factors affect how practical a distro will be, including:

  • An automated installation, including all needed drivers
  • A minimum of new knowledge required, which can vary between distros (although not so much a factor among the distros named in the question)
  • Things working the way they're supposed to
  • Ready access to understandable, comprehensive documentation
  • An effective user support system
  • Utilities that perform infrastructure functions in an intuitive way
  • Availability of user's choice of desktop environment
  • Repository containing user's preferred applications, in recent versions

Migrating from Windows to Linux, even in the most newbie-friendly distros, often requires switching to equivalent software, which means getting familiar with new user interfaces for many applications at the same time. Linux "infrastructure" activities are different and require learning. The desktop environment will also be at least a little different.

Collectively, all of these changes and learning requirements can be a bit overwhelming. It can be especially frustrating for a non-technical person when the job is confounded by things not working the way they're supposed to. A major factor affecting the extent to which things don't work correctly is the stability level of the distro.

Distro Stability

Most Linux distros migrate new packages through testing stages until they are deemed free of critical problems, at which point they are accepted into the "stable" category. Some distros release only what is stable. Debian, for example, also provides access to what is in the less-than-stable categories.

There is a trade-off between the risk of undiscovered problems vs. access to the most recent versions of software. There can be a long delay while packages work their way through testing. Once the stable distro is released, it can remain in use for a long time. So software in a stable distro can get old by many versions and lack recent features.

A number of distros are based on Debian's less-than-stable categories. For example, Ubuntu is based on Debian Testing. The packages in this category don't have known or expected critical problems, but they haven't completed testing to ensure that they do not. Users of the Debian Testing base are a de facto part of the testing program that discovers the problems. Discovering problems can be a frustrating experience for a non-technical user who just wants to get his work done.

The risk of problems isn't just theoretical (which is why the process exists). How much this affects you depends largely on the packages you use, but a stable distro can be less frustrating for a Linux newbie.

Some relevant characteristics (in the distro order listed in the question):

openSUSE

openSUSE is the most stable of the three. It also has extensive, professionally-developed user documentation.

The major desktop environments are available. You are likely to find most common applications in its repository, and they can be expected to be pretty trouble-free. Despite being a stable distro, it generally has recent versions of at least the most popular applications (more so than Debian Stable in my experience).

Ubuntu

Ubuntu is based on Debian Testing, which is the stage prior to the Debian equivalent of the openSUSE release.

The major desktop environments are available within the Ubuntu family. It has a huge (but "less-than-stable") repository, so it provides access to extensive current and recent software, but there is more possibility of encountering problems.

Ubuntu is popular and has a large user base. There is plenty of online documentation, forums, and other sources of support.

New Linux immigrants, especially non-technical users, may want to consider Mint as a starting option. It is based on Ubuntu, but has some helpful utilities and a more beginner-friendly updating system.

Fedora

Fedora is the least stable of the three. In fact, it's intended to be bleeding edge. It generally has the latest versions of third-party software. More relevant, though, it is a development bed for new Linux features and utilities. The criteria for inclusion in Fedora aren't all that different from the Debian Testing criteria that Ubuntu is based on. However, Fedora is created purposely as a test bed, so the possibility of some problems is expected. From the standpoint of the desire for a rock-solid operating system, Fedora probably isn't the best choice for a new, non-technical Linux user.

While the new features and applications may have as yet undiscovered problems, the latest versions of applications include fixes to previously discovered problems. So not everything is in the less-stable direction. Another benefit is that some of the efforts to refine the usability of Linux through automation and improved user interfaces appear in Fedora first. To that extent, some functions may be easier for new users.

The major desktop environments are available. Fedora has a new release roughly twice a year, which doesn't leave a lot of time to do extensive testing on third party software. Its repository is only about one third the size of openSUZE or Ubuntu (but still, that's well over 20,000 packages). So you are likely to find popular software, but if you need something esoteric, it may not be off-the-shelf.

Red Hat

The question also mentions Red Hat. RHEL (Red Hat Enterprise Linux), is designed as an enterprise product targeted at the commercial market. RHEL is based largely on Fedora packages that have gone through roughly a year of testing after Fedora release. Most people who want to use RHEL on their personal computer use CentOS, instead, which is essentially RHEL with vendor branding removed.

RHEL is geared to an environment where reliable operation is critical, which is great for a new, non-technical Linux user. However, that environment tends to have IT support. Infrastructure activities (or their documentation), sometimes aren't newbie-friendly.

For RHEL and CentOS, only the Gnome and KDE desktop environments are available. The business environment for which RHEL is targeted doesn't generally need to have every imaginable application available off-the-shelf. Not every package in the Fedora repository makes it into the RHEL repository, and there isn't extensive testing and supplementing done by either Red Hat or CentOS. So RHEL or CentOS wouldn't be the best match for a new user who wants ready access to any and all applications.

2. Longevity

I'll mention one other consideration. Non-technical users often would prefer to find a distro they like and then never have to deal with replacing it. Several factors can affect the ability to do this in practice.

Release Cycle

Fedora has a new release about every six months and a release life of about one year. This means you need to plan on upgrading frequently. openSUSE has a major release about once a year and supports it for two to three years, with additional long term support for some releases. Ubuntu comes out with a major LTS (Long Term Support) release about once a year and supports it for five years. RHEL and CentOS have a major release every two to four years and supports them for 10 years (RHEL has previously extended support for several releases for a number of years beyond that).

Rolling Release

Some distros have a rolling release, which means that the user should virtually never need to upgrade. That sometimes works better in theory than in practice. Rolling releases don't get testing equivalent to a stable release, so they have more potential to introduce critical problems.

For example, openSUSE also offers a rolling distribution called Tumbleweed. Some third-party modules and drivers don't always keep up with Linux kernel releases, so openSUSE doesn't guarantee that everything will work on your particular system. For non-technical Linux immigrants, Tumbleweed probably isn't the distribution to start with.

Another consideration for a rolling release is that the system may have limitations on updating across multi-release intervals, driving a need to keep the distro reasonably current. For example, PCLinuxOS, a distro not mentioned in the question but one that uses a rolling release, recommends updating at least every week or two, and warns not to go beyond 60 days because they don't test upgrading from releases older than that. If you are only dabbling with Linux and it might be sidelined for months at a time, this would be another situation to investigate if you're considering a rolling release.

Organization Size

In Linux, there are a relative handful of big operations, and hundreds of tiny operations. Many of the tiny operations are as small as one person doing it as a hobby or experiment. There is a high rate of these distros being abandoned or maintained sporatically. Even when they aren't abandoned, the operation is often too small to provide much direct user support or to develop a lot of documentation (or the developer/maintainer isn't skilled at writing to meet the needs of a non-technical audience).

For this reason, users new to Linux who want to "set it and forget it", may be best served by starting with a distro from one of the major operations. All of the distros mentioned in the question meet this criterion.

Not the answer you're looking for? Browse other questions tagged .