I decided today that I don’t always want to sound like a crusty old coot in this journal, so I thought I should write a quick journal entry about what I consider to be fantastic pieces of software. So briefly, here are my top five nominations.
- PINE, the e-mail client. I have to qualify myself and say that yes, I do know that it has had a checkered history as far as security goes, and that there are other text-based mail clients out there. Still, for someone who used ELM for years, PINE was a natural choice, and I have to say that it has never eaten my mail (it’s come close once, with the mbox bug in 4.55). This puts it one step ahead of Mutt, which ate my mail within 30 minutes of my installing it.
- LyX. LaTeX is fabulous, too, but it’s hard to learn. LyX is a great frontend for it, and its ability to spit out a myriad of output formats magically is a blessing. I do almost all my formal correspondence using it, because I know that while it won’t have fancy-schmancy formatting, I also won’t get weird mystery Microsoft Word bogons, either.
- VMWare. The effort that must have gone into building and testing this product is unfathomable. I mean, writing any emulation software is hard. Writing emulation software that captures raw assembler issued by the guest operating systems and redeploying it in real time to execute on the host system is mind-boggling. But it works. At ~US$300 a license, it really is a steal. Why run Windows on your PC when you can run Linux or *BSD and run Windows inside a virtual machine (VM)? When it crashes, just restart the VM, or revert to the last snapshot.
- Mozilla. Almost everything about it is larger than almost any given operating system — the size of the code, the number of developers, the size of the testing cluster. But for an Open Source project that was developed from the ground up, it has been a surprising success. Deservedly so, for there were times when I thought Mozilla would never reach a 1.0 release. Having Mozilla really clears the last hurdle for Unix to become a widespread desktop operating system.
- Apache. Another shining example of software that rose from the ashes (in this case, of NCSA httpd) to be a well-designed, scalable, robust, and easily-extensible piece of code. Dreaming is running about 75 virtual hosts off a single Pentium II/400 with 128MB of RAM, and the box is doing fine. I’m impressed. Try doing that with Insecure Internet Server.
These are just examples off the top of my head. There are plenty of other worthy software projects out there, but these are some of the ones I’ve found to be the most mature in the free software community, probably because they’ve had such long histories.