posted by Adam S on Wed 30th Apr 2003 07:26 UTC

"If I Had My Own Distro, Part III"

My distro would be available for download on throttled public FTP servers and also from some sort of contributor/buyer FTP servers. My contributors and paying customers can also download my apps at high speed. I don't mind people seeding BitTorrent or anything, I just don't want to pay for the bandwidth. Last I checked, availability was rarely the reason people did or didn't try a distribution. On that note, my source code CDs are not available for public download either. That's bandwidth I don't care to pay for. Source, or what we release of our source, will be available to those that request it for postage only - I'll GIVE it to anyone who wants it and is willing to pay for the postage - the CD's are on me. The cost of CDs is negligible, and the cost of postage will weed out the "getting it 'cause it's free" crowd. I don't want to milk the developers, I just don't want the whole world downloading 2 or 3 extra CDs by mistake. As a company, we want to be smart, we want to share, and we want developers to feel loved, but most importantly, we want to make money to stay afloat. So we need to be smart.

Defaults are very important - one thing I've noticed is that there are few system-wide defaults with most Linuxes. For example, click on a link in Evolution, I get Mozilla. Click on a link in gaim, I get Konqueror. Want to change that behavior? I change it in gaim. But Evolution's default won't change. And Mozilla always defaults to MozillaMail. There is a way around this. The way I understand it, pretty much everything on a GNU/Linux system runs commands terminal-style. Perhaps the way to get system-wide default is to have a given directory, say, /system/commands, that appears to be the equivalent of /usr/local/bin or /usr/bin - that contains the executables from the command line. Except, in our distro, the real files are kept in /system/bin. /system/commands is full of aliases. Then, when you change your default browser through our control panel - all the known browser commands - konqueror, mozilla, opera, galeon ... they all change to aliases of your selected browser. Now, obviously, menu commands have to map to the hypothetical /system/bin, since we don't want to effectively stop those programs from ever launching - just from launching via standard systems commands. This is all very complex, and would surely be an engineering feat, but until Linux/BSD as a whole is cleaned up and standardized, it's a possible solution.

If this were reality, and I truly had a venture capitalist's backing on this project, I should mention that I'd probably have to reconsider Linux as a whole. We're a company first and foremost, and so our goal is to stay in business and make money. We'd have to achieve this in two ways:
a) first off, we should probably base our distribution on the FreeBSD system. FreeBSD has many drivers, boots much quicker than Linux, is very clean code, and most importantly, has a much more liberal license. The GPL provides little room for making money on software, only support (see many comments by RMS, Bruce Perrins, and Eric Raymond, as well as the history of Cygnus for more on this). In order to develop an OS and provide the right environment for it to grow, we need to be a viable commericial company. In order to do this, we must protect some of our code. The second part of this scenario, strangely, is the exact opposite.
b) we're going to share some of our code. As much as we will borrow from other coders, we will share some of our improvements with the community. As we all know, companies that are reluctant to share source code are frequently shunned by the knowing community. We will be good open source citizens, but we will protect some of our investment. The decision to use FreeBSD may not be a popular one at first, but it would ultimately be what sets us apart from the pack. Our distribution will be based on years of proven rock solid stability fused with a modern approach to user interaction.

Now, let me be the first to say that much of what I propose here may not be technically, or more likely, financially, feasible. However, I believe that the open source community gets things done by discussing what we'd like to see and eventually, the most popular opinions make their way back to the developers and the commericial companies. Clearly, Linux and FreeBSD on servers is working and popular. Linux on the desktop has come a long way, but even companies with a novelty - Xandros and their integration into Microsoft domains, LindowsOS and their Click-N-Run, etc, still aren't really making any noticeable dent in the desktop community. Linux can't be scary, and all we've seen so far is a pretty face to the undecipherable mess underneath. If you don't agree with me, show the filesystem layout to your mother and ask her where an application might be located. Even I couldn't tell you for sure - /usr/bin? /usr/local/bin? /bin? ~/.appname? /opt? /etc? It's a total guess. DistroX is going to make sense because it's going to be built that way from the get go.

I'm of the belief that someone is going to have to do something drastic to see real change. There should be a real, distinct difference between a "packaging company" and an "operating system company". The first step, in my mind, is to decide you're not just going to release "YALD," or "Yet Another Linux Distribtion." What do you think?

About the Author:
Adam Scheinberg is a regular contributor to He recently moved to Orlando, FL, where he is looking for a network administration position. He uses Mandrake Linux 9.1 as his main desktop OS.

Table of contents
  1. "If I Had My Own Distro, Part I"
  2. "If I Had My Own Distro, Part II"
  3. "If I Had My Own Distro, Part III"
e p (0)    192 Comment(s)

Technology White Papers

See More