Recommended open source software

Bobulous CentralMiscellaneous pages → Open source software list.

Here's a short list of my favourite open source software titles. Just in case you're not sure what open source software is, see my article about why you should use open source software.

Firefox
Firefox is a web browser. Like Internet Explorer, but with better features. It's available for Windows, Linux, FreeBSD, Mac OS X and many others besides.
Linux
Linux is an operating system that is open source according to the strict GNU Public License (which forces all derivative software to be open source, free, and subject also to the GNU Public License). Linux is really just a kernel, but comes in many distributions that vary from the sparse (bare basics, no graphics) to the very friendly (loaded with software, fully graphical, easy to install and add software to). It's an open source, growing alternative to Windows, and the kernel (the core of the software) and many distributions are available for download completely free of charge. A huge quantity of quality software is freely available for use in Linux. Take a look at my review of the Ubuntu Linux distribution.
TrueCrypt
TrueCrypt allows you to create an encrypted volume and mount it so that your operating system treats it like an encrypted hard disk. You can do this by encrypting an entire partition, or simply by creating an encrypted storage file. TrueCrypt is another piece of software that is so full-featured and professionally presented, it puts even commercial software to shame. See my page about encrypted file backups which uses TrueCrypt.
Netbeans
Netbeans is an IDE loaded with features to make software development easier, and I find it particularly useful for PHP development where I think it has the edge over Eclipse. It integrates very nicely with tools PHPUnit and Xdebug to make unit testing easy to run and analyse. Netbeans also does an excellent job of making Java development easier.
Eclipse
Eclipse is a massive application development suite, which offers advanced text editing, project structuring, building, compiling and debugging for a range of software languages. It's geared up for Java by default, but extensions can customise it for languages such as PHP and C/C++. Eclipse is so project oriented that you will probably find it overkill for small, single-page scripts and the like. Once your project spreads across multiple files, though, Eclipse becomes a very good idea.
XML Copy Editor
XML Copy Editor is available in Linux and Windows. It makes XML editing easier by offering validation of XML files against both DTD and Schema (though there's no option to force validation before saving, unfortunately). It also makes it easy to wrap selected text in new element tags. And it doesn't yet offer automatic population of elements based on DTD or Schema requirements (such as adding an alt attribute automatically in an image element tag). But I'm keeping my fingers crossed that such features will be added eventually.
jEdit
jEdit is a text editor with features aimed at software developers. The reason that it's a favourite of mine is its powerful search and replace feature. You can search for strings or even regular expressions in an entire directory tree, searching all files or only those whose names fit a specified pattern, and then you can see a list of results, or replace every match with a standard string or a string that includes text captured by the regular expression you've searched for. It's an excellent feature, and it can save you hours that you would otherwise have to spend manually finding and replacing outdated links, blocks of code, markup, and so on.
FreeBSD
FreeBSD is an operating system that uses the Berkeley Software Distribution kernel. It can be a solid server platform (Hotmail used to use FreeBSD, even for a while after Microsoft bought Hotmail), or a graphical desktop platform for office use or software development uses, or both at the same time (UNIX has always been a true multitasking platform, Windows has not). It is an excellent, stable, free system that can run almost anything that Linux can, so the amount of free software available is staggering.
digiKam
While it's not perfect, digiKam is the best open source photo organiser I've found. It makes it easy to attach XMP metadata to photos, such as captions and tags, and even easier to filter your collection by date or by multiple tags.
Blender
Blender is a 3D rendering application. I have no artistic skill at all, but even I produced some nice images after a fortnight using Blender, following the video and web tutorials that the Blender site points to. Given the astronomical price of most 3D software, the fact that Blender does so much for free is seriously admirable.
The GIMP
The GNU Image Manipulation Program is a graphical editing application rich with the sort of features that Windows graphics applications offer, but it's available for UNIX, Linux, Mac OS X, and Windows.
Inkscape
Whereas The GIMP is a bitmap image editing tool, Inkscape is a vector image editing tool. You work with lines, curves and polygons, and the points that define these shapes can be moved and tweaked at any time. Because these lines and shapes are defined mathematically, vector images can be scaled to any size without the sort of nasty pixelized edges you'd see on a scaled bitmap image. Inkscape is a nice tool to use for creating vector graphics, and it can save images as SVG files, a format which is gaining importance.
OpenOffice.org
OpenOffice.org is a complete office suite, offering a word processor, spreadsheet, multimedia presentation creator, database, and graphic creation application. It can read and save Microsoft Word Documents (unless the documents contain layout features like tables and fields), and it can save in PDF format (which can then be read using Adobe Acrobat Reader). Excel files can also be read and saved.
FLAC and Ogg Vorbis
FLAC is a codec that compresses music audio tracks without any loss of quality. Ogg Vorbis compresses audio tracks much more effectively, but has to discard some of the audio information in the process. See my lossless and lossy audio formats comparison article.
Wine
Wine is a compatibility layer that allows Linux, UNIX and BSD systems to run Windows software. While it might not work with all of your software applications, the compatibility list is quite impressive. Even a fair number of modern games are reported to run on Wine (though I've not tried this myself). If you want to kiss goodbye to Windows, but are still held to ransom by one or two last applications, see if Wine will allow you to run them in Linux. As an example, you can run foobar2000 in Linux using Wine (see my page about Replay Gain in Linux).
Bobulous CentralMiscellaneous pages → Open source software list.