Linux Mint is based on Ubuntu. Ubuntu is based on Debian. Like this, there are several other linux distributions that are based on Ubuntu, Debian, Slackware, etc. What confuses me is what does this mean i.e one Linux distro based on some other. How they are made?
migrated from stackoverflow.com Jan 4 '12 at 19:33
This question came from our site for professional and enthusiast programmers.
Ubuntu uses the same packaging management system (deb and apt) and with each development cycle pulls in the latest packages from Debian and then adapts them to Ubuntu specifics and adds more features and patches where necessary. They also push changes back to Ubuntu and often developers are Ubuntu and Debian developers.
Mint in turn does the same with Ubuntu packages (Update: although Mint does not seem to contribute back as much or at all)
|show 3 more comments|
Zack had a great diagram explaining it on his UDS-P Talk Slides
Basically, Every Ubuntu cycle, until Debian Import Freeze, source packages that aren't modified in Ubuntu are copied from Debian into Ubuntu, daily (the 74% branch). Packages that have been modified in both Debian & Ubuntu get manually merged (the Patch branch), usually by the developer who last touched the package in Ubuntu.
Some core packages (kernel, much of the desktop, and other bits) doesn't come from Debian at all, and comes straight from Upstreams (the 11% branch)
So, Ubuntu gets to maintain its own core set of packages and also get the benefit of the huge quantity of Debian packages.
I always liked this little picture about linux distributions and their relations. :)
There are a number of things that define a distribution, apart from the name. Packaging system (deb, rpm, ...), standard environment (eg. the kind of "init" used as a standard), and a number of other things, like scheduling policy, main target users, etc. Notice that sharing certain core tools don't make two distributions "siblings". See the case for Red-Hat and SuSE, for example: on the graph linked by @Zenklys, you see that SuSE is an early derivative from Slackware, but they borrowed the RPM packaging system from Red-Hat, I guess not to reinvent the wheel.
Most of those things are decisions that someone (a company, individual or a developing community) takes for you. Some distributions are quite different from each other and have almost nothing in common in their origins (Debian and Red-Hat are two examples from early times...), result of parallel efforts on achieving a working environment, but others are born just because a sizeable community agree that certain aspects of an existing distribution could be done in a different way, like having shorter (or larger!) release cycles, or maybe making the distribution less "general" and focusing on certain aspects, like media creation (you pre-install tools, try to have better/easier hardware config for specific things...); or when a company decides they can do business by tuning a distro for certain target audiences.
Let's keep with Ubuntu from here on, but keep in mind that this process is similar all around.
Of course, taking the "derivative" way means you start with a working system from day 0, where you work will focus on making the desired changes and on keeping up to date with the "parent" version.
Ubuntu is a derivative of Debian in that sense: they took a working distribution and decided on a number of things: default (and officially supported) desktop environment and theming, putting emphasis on a non-root user being able to access all the restricted areas (hardware setup, for example), etc., and also integrating tools and, sometimes, also developing new ones, to achieve their goals. At some point, they started taking more fundamental decisions, like changing crucial subsystems (going for upstart, for example), or default version of tools, for example, the one for Python, in which Ubuntu depends heavily. Some of those changes may end up not taking place on the original distribution, or just taking longer time... or the opposite, where you don't like a change that has been made in the parent distro and you arrange things so that your distribution stays the same way as it was (like when Ubuntu moved to Gnome 3 as the default).
Then again, at some point Ubuntu users decided they weren't happy with all the choices that are being taken for them, so you end up with derivatives like Kubuntu or Xbuntu that may (or may not) end up achieving a certain "official" status within the original project.
Ubuntu has kept a certain level of feedback with Debian, making it easy to take your knowledge from one to the other (to a certain degree), but that doesn't need to be true for all derivative distros.
And so on... but the answer is running long by now :P