10 great free software tools

Here are 10 free software projects that remind me that giving everyone the freedom to tinker produces great projects.

    Rockbox
    A group of developers wrote some GPL’d firmware for Archos digital music players, and then they started porting it to similar devices. So you can customise the display, install the games they wrote, add the features you hate the pre-installed firmware for not having, etc.
    GnuPG (gpg -c)
    The simplest use case: if you ever wished that gzip or bzip2 supported encryption, or if you just want to encrypt a file so that a password is required to decrypt it, then the answer is "gpg -c". The "c" tells gpg to make a password protected file requiring no keys. GnuPG compresses files before encrypting, so this command makes a compressed, encrypted file and the recipient just uses "gpg -d" and enters the password to decrypt the file.
    GNU Classpath
    I’m impressed by the progress being made in this field. Mark Wielaard of GNU Classpath recently published a summary of the collaborations of recent years.
    Gnash
    Many people can’t resist the temptation to install proprietary Flash on their otherwise-free system. Gnash is the most promising free alternative.
    gPhoto
    It must be hard to make all these devices work when the hardware manufacturers give you no help.
    LinuxBIOS
    Unfortunately, my computer isn’t supported by LinuxBIOS, so I only know the theory behind this project. It seems to be a full Linux kernel, compressed, running as your BIOS. Some say it’s a big win in terms of preventing DRM from being imposed on users.
    GCC
    If compiling our software meant putting it in a black box and using whatever came out the other end, software freedom would be a joke, or a leap of blind faith at best. No wonder a compiler was one of the first packages the GNU project made.
    Ken Thompson highlighted the importance of a free compiler in his 1984 paper Reflections on Trusting Trust (look for Figure 6). He describes a trojan horse that could easily be put into a compiler.
    GNU wget
    Robust, featureful, simple.
    GNU Standard C library
    This must take massive amounts of work, and it is so problem-free that it is usually forgotten about.
    GNU Emacs
    This is not a text editor. It’s a productivity tool, or a working environment. It contains 1000s of useful features and the interface is informative. It took a while to get used to, but it’s clearly my favourite piece of software.

UPDATE: there’s a nice article just published about the new features in GNU grep.