Hacker News new | past | comments | ask | show | jobs | submit login
Linux flavors and derivatives tree (futurist.se)
229 points by jacquesm on Dec 15, 2011 | hide | past | web | favorite | 64 comments

Very cool image. My uni computer lab has a poster that has a family tree of Unix derivatives, starting from the Bell labs that is similar to this. Like the unix tree, this tree is also (naturally) incomplete because anyone can create their own linux distro or unix clone, and many do.

One particular omission that caught my eye was OpenWRT descendants, there was quite a number of them a few years ago. OpenWRT is huge in the wireless router market.

Many people see the large number of Linux distributions as a negative thing. I don't agree. The rich diversity of Linux distributions is what fuels constant development and makes it possible to run on pretty much any piece of hardware out there and handle any computing task you can throw at it.

There are even separate Windows distributions out there, in addition to the ones sold to regular customers, they have specialized distributions for e.g. point of sale computers. And of course, there are some custom hacked pirate Windows distros.

Not always pirated on the Windows hacks. I used my valid XP key and ran LastXP. This was initially because the installer included SATA drivers and the XP cd I had from MS did not. The way it was set up I liked it better anyway.

The most impressive unix family tree I've seen is http://www.levenez.com/unix/. Despite being simplified, when printed it's about 20 feet long.

I think "simplified" is a bit of a stretch. That thing lists minor version number releases for iOS as separate nodes!

Agreed, but the creator claims "This is a simplified diagram of unix history. There are numerous derivative systems not listed in this chart, maybe 10 times more!"

Pretty naive question here, but how large is the difference between base versions (i.e., debian vs. redhat)? I'm not a linux user so I have no experience with this stuff... can you run the same software on each?

If this is too broad of a question to answer, if someone could provide a link explaining this sort of basic stuff, I'd appreciate it.

In general, the main differences between distros consist of:

    - Versions of software included
    - Whether any "non-free" software is included
    - How the directory structure is used (for instance, do you use /opt or /usr/local)
    - Is there a package manager / ports system, or do you compile everything on your own?
    - In the event of multiple solutions to the same problem (common), the distro often makes a default choice
    - The GUI often has custom features, such as configuration applets
    - The support culture around each
But if a piece of software can be compiled and installed on one distribution of Linux, though I'm sure there exists an exception, you can generally count on being able to get it to work on another, though it may take some work.

Another key difference is the startup/shutdown process (and service management generally). Some use sysv stile init setup, some use the style more common with BSD.

Several distributions (such as Ubuntu and its derivatives) are moving towards replacing init and related scripts and tools completely with upstart or similar options (http://en.wikipedia.org/wiki/Init#Replacements_for_init).

Notably Fedora has switched to systemd, which probably means we'll see it or maybe something like it in RHEL sometime in the future.

That was actually one of the particular things I was thinking of when I said "multiple solutions to the same problem", so I didn't add it as a separate thing. Though it is a pretty major difference that can trip someone up moving between two distros.

It really depends on the distro. Linux can literally be customized at any level and even the most basic components, such as the filesystem or cron scheduler, can be swapped out with alternatives.

Generally, the biggest difference between distros is that some come largely pre setup with all necessities taken care of out of the box with an easy install, such as Ubuntu, whereas others allow users to configure their operating system to the smallest detail and only provide the tools to help them do so, such as Gentoo. Generally the latter distros require more savy users and will require them to familiarize themselves with the more mundane differences between distros.

I think the most defining characteristic of each distro is usually the package manager or equivalent system. Also, the amount and quality of packages available for distro. Most major distros have their own and each determines a lot about the distro. Debian is known for apt-get for example (which Ubuntu borrowed) which is held in high regard for being relatively easy to use. Gentoo, however, uses portage, which is slow because it usually downloads packages as source and compiles them before installation, but provides a ridiculous amount of flexibility in configuring a system, right down to specifying the compiler flags packaged will use. Both of the these have large repositories of packages for users to browse and select from. Slackware, by contrast, has no package management system to speak of, but does have packages which you can download and install separately.

can you run the same software on each?

Yes. In practice, however, remember that linux software is usually manged through a package manager. This means each distro packages each software package to install using their own conventions and formats. Some conventions (such as freedesktop.org guidelines) and formats (both SuSE and RedHat use YUM/RPM) are shared between many distros, others are not. Also many distributions will patch software specifically for their needs and may even have different compile-time options enabled.

how large is the difference between base versions (i.e., debian vs. redhat)

There are differences:

- between how they handle software packages, like I stated earlier

- in QA and release policies (what RedHat considers stable and Debian considers stable might be different even for the same package)

- in security features (SELinux, grsec, AppArmor, ProPolice, etc.)

- in default packages installed (PCLinuxOS ships with KDE, Ubuntu with Unity, Debian with Gnome, etc)

- in init systems (Sys V, systemd, upstart, OpenRC)

- in available support options

- in release schedules and methods (rolling release [Gentoo, Arch, Foresight] vs scheduled releases [Fedora, Ubuntu] vs "when it's done" [Debian])

- Commercial (Ubuntu, SuSE and RedHat) or volunteer/nonprofit (Debian, OpenSuSE, Fedora and most others)

- in legal and "ethical" standards (nonfree software availability, availability of software known to be infringing on US patents, nonfree drivers or firmware, etc.)

There is an attempt to arrange things logically, so even if you're unfamiliar with the init system on a specific distro -- if you've worked on any other Linux (or even BSD) init system before you should be able to figure things out pretty quickly. Other things, like SELinux, aren't immediately intuitive if you're not familiar with them.

Pedantic, but important: the title is wrong, it is showing linux distribution flavors, not linux flavors. As other posters point out, the different distribution flavors have different mixes of packages and versions.

The biggest advantage of the Debian (and derived) distributions is that they have the largest set of prepackaged "things," which makes most things an "apt-get" away. This is very convenient, but not essential.

Back to your question, prepackaged "things" must be installed on the distribution that prepackaged it (you can "cross the streams" to some extent, but a cross-distribution install has a finite, possibly large, probability of not running).

If you are willing to build the "thing" itself, the portability is pretty close to 100% that it will Just Work[tm] with a "configure && make" build. For complex "things" with dependencies, this can grow geometrically into being a major effort to find and build all the dependencies.

Heh, the distro I made was so short-lived it didn't make it to the list. After you build the basic system it becomes incredibly tedious to maintain and update the thing. But great experience if you want to learn about the guts of GNU/Linux systems or like stripping things down (10MB distros with GUI web browsers are still possible).

Wow, I didn't know you can make clickable links in SVG.

Also, it's interesting how many different flavors of Linux are there, suited for a single goal or for specific groups of users. Interesting examples of Ubuntu versions: http://ubuntuce.com/, http://distrowatch.com/table.php?distribution=sabily and http://www.planetwatt.com/.

What is it about Debian that caused the proliferation of derivatives?

I would say the key reasons are:

1) They nailed package management early on. Apt doesn't feel revolutionary today, but in the 90s it was WAY better than what Redhat was using as it's package management core.

2) Debian's staunch adherence to their free software guidelines drives forks in two ways. First, you can fork without any worry you're violating a license on some component. Secondly, it encourages people to fork because some people will want to include some of those missing components in out of the box installs, and that simply won't happen with Debian.

3) Ubuntu. If you look at derivatives, about half of them forked off of Ubuntu, so Debian gets to count them as descendants because Ubuntu is based off Debian.

Debian Policy. It makes for an exceptionally predictable system. A bunch of other bits and pieces which derive from this, open BTS among them.

And APT (with policy) still blows RPM out of the water. Lack of policy is a big part. I'd like to play with Mandriva, which uses APT tools but the RPM format just for comparison, but the fact that I can pull apart archives using ar, tar, and gzip, as opposed to relying on an inconstant binary format, has proven invaluable more than once.

> so Debian gets to count them as descendants because Ubuntu is based off Debian.

Ubuntu is not only based on Debian, it still regularly merges in packages from Debian.

They should make some kind of distinction between a release that is based off of the parent, but then goes its own way, vs a release that IS the parent + additions. The relationship is much closer.

And actually it goes the other way too - debian tries to merge changes from ubunto back into it. (They have a tool that automatically compares them and suggests merges.)

My guess would be the ease with which one can make a derivative and APT. Red Hat has been a pain in the neck at times. I remember the CentOS people having to jump through some hoops because of some stuff Red Hat was doing. Slackware can be difficult to set up and use without a modern package manager like APT or yum. Anyone extending it and targeting users who don't want to muck around in dependency hell would probably want to bolt on a decent package management system. In that case, it's easier to just start with Debian.

> "Red Hat has been a pain in the neck at times."

Still very much the case. Their ass-backwards networking setup scripts, as just one example.

>> Slackware can be difficult to set up and use without a modern package manager like APT


3 reasons I can think of: For a long time debian packaging format was seen as superior to the RedHat rpm format. So even though many may have considered RedHat a better distribution as a whole, a Debian base was a better choice for a new distribution.

Also, Debian was not dependent on a corporate master, so by basing off of Debian you could be confident that the rug could not be pulled under you by a competitor.

The 3rd reason is that a lot of recent distributions are based off of Ubuntu, so they necessarily become Debian based distributions as well. Basing off of Ubuntu gives you the best of both worlds: you get the cadence and corporate backing, but less of the risk -- If Ubuntu starts playing hardball, you can relatively easily transition to a Debian base.

Just thought of one more. Debian was seen by many to be a great distribution that had a couple of major flaws that could be easily fixed by a corporate master, so there appeared to be an obvious business opportunity. These corporations generally tried to 'fix' three perceived flaws:

- simplified the installation process

- narrowed the focus - switching away from the perception of Debian being a 'jack of all trades, master of none'. To give an example, the initial release of Ubuntu only supported a couple of thousands of packages on 3 platforms, versus Debian's tens of thousands of packages on 8 platforms.

- increased the release cadence

In addition to Ubuntu, I'd also note Knoppix, which itself was forked from Debian. It was one of the first successful live-CDs and has a lot of forks in its own right.

This might be a little cynical, but Debian was originally intended to be the Master Distribution that would function as a sort of open source gatekeeper for the Linux world.

However, it ended up shipping late and RedHat derivatives got a foothold. If it wasn't for Ubuntu, it would have never fulfilled it's original intention at all.

Also, since I'm commenting here, that chart shows a whole lot of completely dead distributions continuing onto the right. It would be a lot more interesting to see how long these forks actually lasted.

Perhaps it's just because I've never been a big fan of Debian, but I would say its age. It's one of the oldest distros.

Debian, Red Hat, and Slackware all date from ~summer 1994. There's really no age difference between the three.

Unrelated: Why on earth does Chrome not scale the huge SVG down to my browser size?

Every raster-image under the sun gets auto-scaled - and then it fails on the one format that was made for scaling...

View Source. Looks like the item sizes/positions are hard-coded.

Ok, in that case I'll have to blame the author of that image...

Heh... well instead of blaming, wanna help fix their code? https://launchpad.net/gnuclad

If the author is reading this.

AtheOS wasn't a linux distro. It was written from scratch as a hobby OS based on POSIX.

Archlinux was based on Linux from scratch and took some inspiration from crux to keep things simple (I was one of the first volunteers that helped with arch).

Good point about AtheOS. Confusingly, the successor project Syllable did release a linux distribution in "Syllable Server".

Thanks for that, as well as all the other contributors - I've been using Arch for about 1 year now and I'm so much happier than I have been with anything else.

Very nice graphic. If there were some way to zoom this a little (I know I can browser zoom, but then the text is unreadable) and some way to distinguish the more popular flavors, that would be pretty awesome. For instance, CentOS is one of the most popular distros at this point, and it's really tough to find (purple branch under the main RedHat line, halfway to the right)

Maybe with the font size dictated by something like a 6-month distrowatch ranking (or something based on harder metrics).

I wonder how Google's Android would fit into this?

It uses Linux kernel, but none of the userspace stuff, so none of the distro stuff.

Crunchbang ditched the Ubuntu layer about a year ago and is now just on top of Debian using Openbox.

Have you use/are you using CrunchBang? If yes, would you mind to share your experience? I'm looking for a minimalist Linux that can boot to console by default but comes with Xorg pre-installed with one command away to invoke some sort of Windows Manager in case I want to browse using Chrome.

Crunchbang is probably a good choice, but if you want to be really minimal

1) Install debian, but don't choose to install the desktop environment 2) Install the programs you want, e.g. 'sudo apt-get install xorg openbox chromium' 3) When you want to browse the web, run 'startx'

I've switched to running my personal laptop and work desktop this way. Granted I'm not a typical user, but it's surprised me how much of the modern linux desktop I can strip away and still have a pleasant experience.

NICE!. Thank you very very much for the info! I'm looking for something similar to this setup (and expand as you go).

I really dig it and have been running the same install since May 2010 as my primary workstation (I even run #! in an emulator now on my MacBookPro instead of OSX :)). Obviously the file system is like Debian but the installation process (including a minimalistic-yet-stylish OpenBox desktop config) has been simplified.

Recent (and rare) release a few weeks ago (most updates are just pushed through distro-upgrade commands) : http://crunchbanglinux.org/blog/2011/11/27/crunchbang-10-sta...

The prerogative over time seems to be continued experiments in the art of minimalism and simplicity. I like that (I love that).

By default a gdm/gui/login kicks in at bootup ... I always kill that ASAP so I can "startx" or somesuch manually.

It's worth your time to try it! (You'd hear more about it but it's 100% word-of-mouth)

Sure: if I didn't have a 9-5 job I'd build everything myself on top of Arch or Debian ... I don't have the time and #! fills in the gaps for me.

And the way to kill gdm/gui/login is by... Ctrl+Alt+Backspace kind of trickery?

Will definitely give it a try!

Nice! One super-easy way is to "sudo rcconf" and then just deselect gdm (and anything else you don't need).

Just to chime in here but I've been using Crunchbang lately too and find it a nice choice. I've wanted something stable and lighter that I use as my "desktop/host" and then do all my dev work in Virtualbox or KVM vms.

FYI, the latest ISO now uses SLim instead of GDM.

Thanks for sharing about rcconf. I'd never heard of that Debian tool before.

By the way, is your emulator VirtualBox by any chance? If so, is there any extra work to get the Linux into full-screen (aside from having to install VirtualBox Guest Tools)?

I've been using Parallels for Mac (last year's version). If you just bump up the video RAM to like 8MB you'll get more options for display sizes. I'll upgrade to version 7 ... just haven't had the time lately.

Check out Tiny Core (http://distro.ibiblio.org/tinycorelinux/welcome.html). It's a full X desktop in 10 MB. You can install it to the hard disk and use their rather decent package manager to grab more applications. Very convenient to keep on a USB stick as well, because it leaves you plenty of space for storing data!

Here is a interesting SVG image[1] from Wikipedia [2], comparing the development of different Unix-like systems.

[1]: http://upload.wikimedia.org/wikipedia/commons/7/77/Unix_hist... [2]: http://en.wikipedia.org/wiki/Unix-like

The first thing I did was to see if there were any distros I could remember that weren't listed... The first is Finn linux (or was it Fynn or Flynn?) that was an early attempt at a commercial distribution. I recall some ads in computer mags around '94 or '95 and it was fairly expensive (several hundred). Obviously it never went anywhere.

The other is the Linux Router Project which was a router/firewall distro that would fit on a 3.5" floppy disc. (http://en.wikipedia.org/wiki/Linux_Router_Project) I actually used it and was disappointed that it didn't really go anywhere. It was nice to be able to back up your firewall by copying a floppy disk :)

There was also the short lived Rubix distro, which used Pacman but was based on a hardened Slackware if I remember.

I'd like to know what this "Muslim edition" of Ubuntu is about. Green color scheme? Call-to-prayer apps?

I'm not being facetious here, I really am curious.

The answer is both on the Distrowatch page [1] and their website [2]:

> What are the main features of Sabily?

> The main software are: Zekr and Mus-haf Othman (Quran study tools), Minbar and Firefox-praytimes (prayer times applications), Monajat (application that popups prayers every predetermined time), Hijra (islamic calendar) and Nanny (parental control tool). Arabic language is also well supported. And of course the graphic design is also customized (see screenshots).

[1] http://distrowatch.com/table.php?distribution=sabily

[2] http://www.sabily.org/website/en/sabily/what-is-sabily.html

Religion wise, there's also Christian Ubuntu: http://ubuntuce.com/

Unlike Jesux http://pudge.net/jesux/ I think they're serious.

I'd always believed that Slackware was the first Linux distribution - this claims that "MCC Interim" was actually first?

I think that SLS was the first "complete" distribution. Things like MCC and TAMU were nothing more than a set of bootdisks that would get you a kernel, a simple init, and some basic utilities up and running.

Slackware and Yggdrasil soon followed as a way to cleanup and remove bugs from SLS.

I looked at this and thought "Oh cool! I wonder where Gentoo fits into this."

It took me a while to think how to find it, but I eventually got there by looking up what year it was first released and scrolling down that column.

Since it's SVG you can actually use your browser's Ctrl+f to find text in the illustration. It does however not do text highlighting, so you still have to do manual searching from the point on the "page" it finds.

Not highlighting is a browser bug. Searching in SVG highlights the results for me.

Original link has gone to link heaven. Alternative is http://ompldr.org/vYmV5bQ

Cool. Browser search sucks, though. Can type in distros -- but good luck finding them!

How did they create these beautiful graphs?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact