Linux.com

Feature: Linux

Toward a new kind of 'Linux distribution'

By Progeny co-founder Ian Murdock on February 27, 2004 (8:00:00 AM)

Share    Print    Comments   

There's no denying that "Linux distributions" have played a central role--arguably the central role--in the evolution of Linux from hobby project to mainstream technology. However, even as Slackware, Red Hat, and other distributions became "Linux" to millions of users, one inescapable fact remained: that unlike their proprietary OS cousins, which contain technologies developed (or licensed) by a single organization to fit into a single, integrated product, Linux distributions are merely convenient packaging around a loosely knit collection of thousands of independently developed technologies.

Even today, Linux distributions continue to be developed from the top down as monolithic wholes, as opposed to bottom up as collections of piece-parts, a model that would be a much better fit with the nature of every distribution's (common!) constituent elements. Even newer distributions built by seasoned veterans have tended to follow the top-down model (and, I would argue, to their detriment) -- I'm thinking here of Red Hat's Fedora (which, although called "Fedora Core," hardly seems a "core" at all, weighing in at 3 CDs) and Bruce Perens' UserLinux (which appears mired in endless discussions about which technologies should be included and which shouldn't, with predictable results).

For the commercial Linux-as-product distributors, it is a sensible strategy to portray their distributions as monolithic wholes, as this allows them to position the distributions as platforms unto themselves and, thus, pursue traditional OS business models based on locking users in to a platform (I've argued before this will be a losing strategy in the long run, but that's another topic).

However, for those who view Linux not as a product but as a platform on which to build their own products, the monolithic nature of the typical distribution is a particularly bad fit. The typical Linux-as-product distribution optimizes for breadth -- because it is "one-size-fits-all," it needs to include a huge assortment of features and technologies to satisfy the widest possible audience, only a few of which may be important to any given project (and the few that are important will always vary). Ideally, for Linux-as-platform users, a distribution should optimize for depth, i.e., to excel in those few features and technologies important to the project at hand.

To allow optimization for depth, a new kind of distribution is needed -- a componentized distribution from which users may build platforms from the bottom up, including only the features and technologies their products require. Progeny is building such a distribution, which we call (cleverly enough) componentized Linux. Furthermore, we are building it in the open as a community project in the hopes that others will be intrigued with the concept, collaborate with us on the component infrastructure and underlying open-source technologies (Anaconda, APT, etc.) and ultimately build their own components too.

If this sounds a lot like Debian, that's because it is in many ways: the end result is more of a collection of software than a distribution, and we hope the open development process ends up fostering the same kind of inextricable developer community that has sprung up around Debian. Importantly, the componentized Linux is a layer above an existing distribution--or, more properly, above an existing collection of packages. Our components are currently based on Debian sarge, and we are planning to support Fedora-based components as well in time. Our LSB 1.3-certified core runtime is available today. More components and a component-aware, Anaconda-based installation mechanism will be added in the coming weeks.

This article was originally published as a Progeny weblog entry, and is reprinted here with the author's permission.

Share    Print    Comments   

Comments

on Toward a new kind of 'Linux distribution'

Note: Comments are owned by the poster. We are not responsible for their content.

By: Progeny co-founder Ian Murdock

Posted by: Curtman on February 27, 2004 07:48 PM
Nevermind Progeny! You're the Ian in Debian!



Let me just say this: thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you.



P.S. Thanks

#

Re:By: Progeny co-founder Ian Murdock

Posted by: Anonymous Coward on February 27, 2004 08:13 PM
Lol, yes, that's my Linux zealot spirit, too! We have, thank God, a lot of good people on our side. Let's not forget his wife, who inspired him...

Thanks a lot.

#

Re:By: Progeny co-founder Ian Murdock

Posted by: Curtman on March 01, 2004 06:00 PM
Easy on the Z word. I'm not real big on the G one either.

#

Re:By: Progeny co-founder Ian Murdock

Posted by: Anonymous Coward on March 02, 2004 02:02 PM
So you're an atheistic zealot? Linux is about freedom of choice. So is religion. Live and let live. God hasn't forced you to believe in Him, so maybe you could show the rest of us some courtesy re. our beliefs.<nobr> <wbr></nobr>:)

I, too, want to say thanks to Ian and Deb Murdock. Where might Linux be without Debian? I was surprised he listed himself as a co-founder of Progeny. I know it's his latest thing, but Debian is still his greatest thing IMHO.

#

Re:By: Progeny co-founder Ian Murdock

Posted by: Curtman on March 03, 2004 01:25 AM
maybe you could show the rest of us some courtesy



Fine, keep your zealot comments to yourself, and I wont comment on your silly fantasies.

#

Linux

Posted by: Randall McFarlane on February 27, 2004 11:39 PM
Linux is getting better and better. but the fact is that everyone helps linux. even the people who made the code for usb. Its everyone that makes Linux what it is today. Someday I hope that when you ask someone if they use windows they will say win what?

#

What are the benefits?

Posted by: Anonymous Coward on February 27, 2004 11:43 PM
As someone who is a satisfied user of Suse 9, I have to ask: what are the benefits (other than philosphical) of the new model? The article is heavy on philosophical negatives, but nowhere does it tell me what the new model does that the old one doesn't. With Suse, I have just about everything I need in one set of disks. I don't have to compile anything, and everything works together nicely. It seems to me that a distro that is merely a collection of disparate packages wouldn't necessarily play nicely together "out of the box", and would require more effort than, frankly, it's worth to make them do so. If this is not the case, then I'd like to know.

More details are required, please, not just vague claims.

#

Re:What are the benefits?

Posted by: Anonymous Coward on February 28, 2004 02:09 AM
The main benefit as I see it is for those with more specialised requirements.

If you want a standard desktop use SuSe/Redhat/Xandros/whichever distribution.

But if you want to set up a mail-server/web-server etc that is available from the internet, then this could save a lot of time shutting down and removing a lot of un-necessary services.

When I have set-up an internet mail-server using Redhat, a lot of the time taken is spent removing the services that are not relevant to that particular machine, but that are included by default.

I will certainly be keeping an eye on this to see how it develops

#

There are quite a few.

Posted by: Anonymous Coward on February 28, 2004 11:16 PM
Especially in the non-desktop world. Even in the desktop world there are benefits.

If you want a server machine, you want your server stuff. You don't want games, if you're smart you probably wouldn't even want a GUI. If I can grab a distribution, get the kernel optimized, then grab a server module - it just makes things that much more simple.

Likewise, if I want a workstation, I could grab a 'KDE Code Workstation' module, complete with several IDEs and compilers. Or a 'Gnome Graphics Workstation,' with blender et al.

It would allow you to tailor the distribution at a finer level than currently possible, but at a courser level than a per-package basis. Sounds like a really freakin' good idea to me. If you don't need everything, why do you need to grab 3 cds in order to uncheck the boxes next to most of the stuff on said CDs?

#

Re:What are the benefits?

Posted by: mt_nixnut on February 29, 2004 02:43 AM
Size and freshness is what comes to my mind.


If you are trying to make a distro for download. A ton of bandwidth is wasted on things you may never use. Or more likely, in need of patching before you even get it installed. So installing a small core and downloading just things you want/need allows you to build a cleaner more up to date distro with less wasted bandwidth/time. For example if I want to download and install Fedora right now I will download 3 cds worth of ISOs and then download over 100mg of updates just to bring it to its current state. (Just did this) Now it you could download a small core and build just what you want from fresh packages on the net I see HUGE benefits. I think models like this are going to be on the rise as we see the shrink wrap model become obsolete. This kind of thinking along with apt type packaging systems allows for a much more dynamic method of distributing and updating software.


just a thought or 10

#

Re:What are the benefits?

Posted by: Anonymous Coward on March 01, 2004 06:43 AM
I'd say anyone of you in this thread have ever used Debian, don't you?

For if you did, you would know that all that kind of "advantages" are the Debian's bread and butter.

You just install the "core" Debian, when asked about packages you'd want to install (and which method to choose them will you use, dpkg or metapackages) you just skip and end up with quite a meagre distribution.

So you want an email server? Just apt-get install postfix and all dependencies will follow.

Do you want a LAMP? apt-get install apache-ssl php4 php4-mysql mysql

There you go!!!

And again: Well, what does this new distribution "concept" really add??

#

interesting

Posted by: smitty45 on February 28, 2004 02:14 AM

"Ideally, for Linux-as-platform users, a distribution should optimize for depth, i.e., to excel in those few features and technologies important to the project at hand."

can't one argue that that might result in distros trying to be too much to all people ? it's very clear that in the past, some distros have furthered development in their particular "focus"...for example, for a while there, Redhat (and maybe Mandrake) wanted to be the distro of easy and nice UIs. TurboLinux has wanted historically to be the "performance" oriented distro, etc.

#

packaging idea

Posted by: Anonymous Coward on February 28, 2004 04:11 AM
its a good idea, how about this as a distribution-making tool:
based on debian (could be anything but debian seems to have the most packages) the supporters of this tool build a group of customized distributions such as a network managing distribution that uses customized kernel and packages to make the basic distro, perhaps it is also tailored to fit on one CD so that the network admin can carry it around with him. Another package might be a secure/hardened distribution with custom kernel and packages. From these basic distribution packages you can combine them to make (continuing our example) a hardened network administrating distro for your (the network admin's) own computer. Now obviously there are some tweaks that need to be done (how much security vs. network options) but the basic idea is that its very easy to make LFS distros by using prebuilt packages

#

Re:packaging idea

Posted by: Anonymous Coward on February 29, 2004 07:23 PM
yet another idea.

package management which would allow multiple versions simultaneously installed.

packages which would install under selected prefix (/packages...)and then append its own prefix of (/packagename-version...) and then package management tool to select which package files should be soft/hard linked to system directories and pretend to be default.

this would enable blindingly fast downgrades (just kill services relink and ldconfig) in case of upgrade breaking some rare(commercial package provided) service

#

A Distribution Is Really a Policy

Posted by: Anonymous Coward on February 28, 2004 06:22 AM
This matches something I have long argued: the essence of a distribution isn't a collection of software, but rather a set of policies that determine how whatever software you bring in must fit. Such policies are most easily enforced in the package construction process, but policies may be important but (nevertheless) not fit there.


Of course it's impossible to invent policies without reference to the software that may end up packaged. Rather, every new bit of software may demand clarification or revision of various policies, with the churn rate gradually declining as experience is gained. Still, the rate of change can never reach zero.


A mature set of policies arrived at by a sound conflict resolution method applied to a large number of software packages is an incredibly valuable asset. Such a policy suite, if it could be parameterized according to varying needs, would allow each user to construct a local distro that would nonetheless remain compatible with every other using the same policies.


That actually seems to be the aim of Debian, and explains why Debian is the basis for so many specialized distributions.


ncm

#

Sorry but linux is not windows

Posted by: Anonymous Coward on February 28, 2004 07:17 AM
Look and feel mixed bag of apps. This is linux you have freedom some times to much. Over time programs and merging and working together but if they were not put together this would not happen.

Basicly Distros are grab bags so that you can setup systems to do anything or only to do one task ie some of the linux firewall distros don't even include X windows. This is just linux there are many point of views it is the best live the worst die. Remember Saig the Office suit kind crushed out of existance by Open Office. So a soild look and feel might never happen. You have Gnome and KDE users(yep one runs one and one runs the other start a fight between them you have just got no left ears) Basicly linux is not one and might never be. But what happens when linux has every program you could ever need one set of disks to install it all. Now this is the distro goal. Basicly windows Xp plus microsoft Office plus photoshop plus<nobr> <wbr></nobr>.... This is the Goal. The question when will we achive it.

#

Re:Sorry but linux is not windows

Posted by: Anonymous Coward on February 28, 2004 11:54 PM
This is YOUR goal. I personaly like GNU/Linux the way it is now. I like having choices. Yes it would be nice to have a more unified UI, but sometimes that doesn't happen. (disclaimer: the numbres for the rest of this rant are pulled out of my nether regions) I like having 6 different office suites, I like having an assortment of graphics tools, even if I mostly just use The Gimp and Image Magick, I like having 7 different CD players installed on my computer, and the option to download hundres more. I like having vi for little editing jobs, and emacs for big ones. I like having a collection of IM software, all of which is a bit different because one program works better at work through the crappy terminal emulation windows has, one works nicely on a terminal at home, and one is great in X. I like the enlightenment window manager, which many disparage as a dead end, but which has WONDERFUL features I don't want to do without. Now where I think Linux should go is continuing with this trend and the UNIX philiosophy, small tools that work together well bound together by powerfull scripting and programing tools.

#

i have a sense of deja vu

Posted by: Anonymous Coward on February 28, 2004 11:22 AM
So... who wants to tell these guys about gentoo? You build gentoo from the ground up, starting off with just the most basic build system required to compile software. Different components can be installed depending on settings, with support for these components built into every other component that supports it. Using the graphical use flag editor, ufed, I've set my USE setting to the following:

USE="acpi amd autofs bidi canna cjk cscope cups curl dga dnd dv dvd dvdr \

          ethereal etwin evo expat faad fam fbcon fbdev ffmpeg fluidsynth \

          freetype freewnn fs geoip glut gstreamer gtkhtml idea imlib2 jabber \

          javascript jikes joystick libgda lufsusermount maildir matroska \

          mldonkeypango mng moznocompose moznoirc moznomail mozp3p mozsvg \

          mozxmlterm mpeg4 mpi msn multilib music net nvidia ocaml offensive \

          openal pcap pic pnp ppds psyco S3TC samba sdk serial slp snmp sox \

          speedo svg tiff transcode type1 unicode usb v4l videos wmf wxwin \

          wxwindows xchattext xfs xine xinerama xosd xvid yahoo zvbi --cups \

          --java --qt"

I admit I went a little overboard playing with settings, but as you can see it's quite simple to have complete control over every little detail in gentoo.

So... like... yeah. Been there, done that?

#

Re:i have a sense of deja vu

Posted by: Anonymous Coward on February 29, 2004 10:23 AM
So... who wants to tell these guys about gentoo?


The whole time I was reading the article I was thinking, yeah, Gentoo does that, and that etc

I got to the end and there was nothing he was proposing (or working on?) that Gentoo could not already do.

Some of the other comments were about installing a Distro and then they had to turn off a bunch of things. Nothing in Gentoo gets started unless you tell it to.

#

Debian in the lead again!

Posted by: Anonymous Coward on February 28, 2004 02:19 PM
Reading the first five paragraphs I was thinking, "Isn't that what I've been doing with Debian the last six years; install a base system and add only the programs I want?". I can't imagine doing an install any other way and I am very surprised to learn that other distro aren't managed in this fashion. Ya learn somethin' new every day on this here web, by gosh!

#

Debian is the mothership

Posted by: Anonymous Coward on February 28, 2004 07:52 PM
I think the author (who founded Debian way before Progeny was ever envisioned) has the right idea, although he doesn't really state it the way I would. Namely, that something like Debian can be overwhelming at first. I might liken it to an American who has never traveled abroad being dropped in the middle of another continent and told "OK, enjoy your holiday". Our hypothetical newbie tourist encounters different languages, currencies, and customs, and may even get into danger. These specialized Debian-based distros are like a tour guide or a travel agent.

I see Debian as the grand central repository. It is certainly a great distro in its own right (I am typing this on a Sid desktop), and efforts to make it "easier" are welcome, but the proper focus should still be stabiltity and security on multiple hardware platforms. The "easy" part can quite properly be delivered by secondary distibutions based on Debian that offer more hand-holding. Once users feel comfortable, they are only an edit of<nobr> <wbr></nobr>/etc/apt/sources.list and an apt-get dist-upgrade away from moving to any "real" Debian release they want.

#

Re:Debian in the lead again!

Posted by: Anonymous Coward on February 29, 2004 11:44 AM
I totaly agree. all my installs have been floppy based net installs.

#

Re:Debian in the lead again!

Posted by: Anonymous Coward on February 29, 2004 12:17 PM
Nobody want to hand-pick 4000 apps to install one at a time. On the other hand the RedHat bundles of server or workstation aren't quite right either. What we need are maybe 100 choices that pre-package everything you need for as many purposes with the choices made by someone who has had some experience. This wouldn't take away the choices if you really want to wade through thousands of packages that you haven't tried yet and guess whether or not you need them, but it would save a lot of time getting the system pretty close to what you want on the first cut.

#

Re:Debian in the lead again!

Posted by: Anonymous Coward on March 14, 2004 03:40 AM
With Debian you don't "hand-pick 4000 apps to install one at a time". Rather, you pick that package you're interested in at the time. Since Debian manages the dependencies so well, if you pick something at the top of the food chain all the packages you need to do that one thing are installed as well.

Therefore, if you did pick something that required 3999 other packages to work you would indeed be installing 4000 packages, but you only needed to decide on 1.


Granted, you still have to install apps individually, but you don't need to do it all at once. Providing you're hooked to the network, and you need a video player, just look for one and in about 5 minutes you're good to go.

Not to mention, if you kind of hose up your distro you can just "update the distribution" and things will be fixed up quite nicely.

Sorry to go on, but I think Debian has about the best maintainence model of any OS I've ever used.

#

Sysadmin-based variations

Posted by: Anonymous Coward on February 29, 2004 12:10 PM
What we need is a base distribution that has a built-in mechanism to make multiple computers track the package changes on a master system. Not just updates of already-installed packages, but to the point that new packages installed on the master will be picked up by others tracking it on the next update, and likewise for deletions. Then a few good sysadmins could manage perhaps a hundred different master systems targeted for specific purposes and all the rest of the world would have to do is periodic updates.

#

The answer is already out there

Posted by: comicusnymous on February 29, 2004 10:33 PM
To allow optimization for depth, a new kind of distribution is needed -- a componentized distribution from which users may build platforms from the bottom up, including only the features and technologies their products require.

I should keep myself short on this one. The Linux From Scratch Project. Your very own distribution.

#

CustomDebian

Posted by: Anonymous Coward on March 01, 2004 11:15 PM

To understand this a bit better, have a look at projects already at work.

You can find several of them at the Custom Debian Distribution page:


<A HREF="http://wiki.debian.net/index.cgi?CustomDebian" TITLE="debian.net">http://wiki.debian.net/index.cgi?CustomDebian</a debian.net>


I appreciate Progeny working on this too, and it'd be great with more (visible) cooperation.


Harald

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya