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.
Note: Comments are owned by the poster. We are not responsible for their content.
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
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
So... who wants to tell these guys about gentoo?
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.
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
By: Progeny co-founder Ian Murdock
Posted by: Curtman on February 27, 2004 07:48 PMLet me just say this: thank you, thank you, thank you, thank you, thank you, thank you, thank you, thank you.
P.S. Thanks
#