Linux Distribution: Puppy
These are extraordinary goals, yet Puppy achieves them all. Obviously, some objectives have qualifications, for example, to load totally into RAM the PC must have either 128M RAM or failing that a swap partition. Also, the "will just work, no hassles" obj
One thing to be very much aware of is that Puppy is incredibly small. After all, to load totally into RAM and run from there, Puppy has to be small. The live-CD is about 50-60M, yet "every" application you need is there -- I'm quite serious -- it doesn't seem possible but it is. Furthermore, as everything runs in RAM, there are no delays and the speed is nothing short of astounding.
Puppy was just one year old on June 18 2004, and the pace of development in that short time has been incredible.
Puppy versions up to and including 0.7.9 were compiled on a Red Hat 8.0 host system, Puppy versions 0.8.x were compiled on a custom uClibc host system, and Puppy 0.9.x is compiled on a Mandrake 9.2 host system (and now apps are using glibc). Puppy 1.0.x is still based on apps compiled on Mandrake 9.2.
Development is now focussed on the 0.9.x/1.0.x series, however those interested in the 0.8.x uClibc build, perhaps due to its compactness, can find information in the link shown at the bottom of this page.
I am very happily using Puppy to surf the Internet, access email, ftp, and so on, however there's heaps more that can be done...
Interested in the concept of Puppy? I will greatly welcome help with developing. Read the suggested projects on the this page, and see if anything takes your fancy. You may be interested in one of these topics purely as a learning exercise for yourself, solving a real-world problem along the way. I have put Puppy together from virtually nothing, file by file, learning as I went. A great way to understand what is really going on under the hood, though somewhat painful at times.
There are basically two levels of involvement:
Configure the current Puppy distribution
Improve and recompile applications
The first one is the simplest. It is a matter of modifying and creating configuration files and scripts, to improve Puppy. You can then send these to me and I will check them and if ok will incorporate them into the next release.
The guiding philosophy for Puppy is "small and simple". The criteria for applications are:
They must be written in Tcl/Tk, C or C++.
GUI apps must use Xaw/Athena (Puppy actually uses Xaw95), Tk/Bwidget, GTK+ v1.2, GTK+ v2.2, or Qt v3.3.4 widget libraries.
They must be open source