Software can be broadly divided into the operating system and its supporting files (such as libraries and device drivers), and applications. Let's look at the operating system first.
The Operating System
The first software decision you have to make when building your own computer is what operating system you will be using because not all hardware works with all operating systems. A computer's operating system performs many vital functions, including:
Keeping track of what devices are installed on a computer and managing communication between the devices, the operating system, and the applications. The operating system makes the computer's resources available to applications.
Providing a common interface by which humans can communicate with the machine and use the installed applications.
Providing a common platform and application interfaces to hardware devices. This enables programmers to design applications that can print, for example, without having to write drivers for every single printer on the planet.
Allowing the transfer of data between applications (for example, by using the "clipboard" to "cut and paste" text from a web page to a text editor or word processor).
At the time of this writing, the most popular operating systems among home computer builders are:
The most popular desktop operating system in most of the world is Microsoft Windows. As the time of this writing, Windows 10, which comes in home, professional, and Enterprise editions, is the current Windows version.
Because Windows is the most popular operating system, it's very easy to find applications written for Windows, and virtually all hardware devices come with Windows drivers. In addition, Windows 10 Professional and Enterprise can run "virtual" machines system on top of Windows. I've never had any "live" Linux distribution, for example, not run in Windows 10 virtualization.
Earlier Windows versions can also run as virtual machine on Windows 10 Professional, assuming that you have licenses for both Windows 10 and the older version of Windows. This can be handy if you have older applications that simply refuse to run properly on Windows 10.
In addition to virtualization support, Windows 10 Professional offers enough other advantages over the Home edition that I recommend it for most serious users. These include much finer control over updates, the ability to join a Windows Server domain, Bitlocker device encryption for near-bulletproof security, the ability to tweak the system using the Group Policy Editor (even on a freestanding computer), Mobile Device Management, enhanced privacy controls, and many others. I personally use Professional on all my Windows machines.
The second most popular operating system for home computer builders is Linux, which was originally created by Linus Torvalds when he was a computer science student in Finland.
Linux is an open-source operating system. The source code (the human-readable programming before it is compiled into binary machine language) is freely available to all, and it may be modified by those possessing the ability to do so. It's estimated that between 50 and 75 percent of the world's Web servers run on some flavor of Linux.
If you're considering building a Linux box (and especially if you've never built one before or have never used Linux), then I urge you read this page and the pages that follow it first. Linux hardware support is much better than it was when I first wrote this site, but there are still some differences that you'll need to be aware of.
Most Linux distributions are free, as are thousands of applications that run on Linux.
Applications are programs that allow a computer to perform some specific task, such as word processing, browsing the Internet, editing photos, and so forth. You need to think about the applications you'll be using before you decide on the operating system, because most applications run on only one operating system. If there's some application that you absolutely must have, and that application only runs on one operating system, then your decision has pretty much been made.
Computer security software is a special and essential category of software, especially for Windows machines. Although there are many different kinds of security software, the security software most commonly needed by home users are an anti-virus program and a firewall.
Anti-virus software is designed to detect and protect against malicious code that can be contained in Web sites, emails, downloaded files, shared files, pirated software, and even on legitimate, commercially-released software on CD's or DVD's once in a while. Most anti-virus software works by examining the code against a database of known malicious code (commonly known as "signature checking"), and also looking for software that has characteristics that make it suspicious, even if it's not in the database ("heuristic" checking). I personally use ESET NOD32 Antivirus and have been for years, but there are many other good antivirus programs.
Another essential security application is firewall software, especially if you're not behind a hardware firewall. If you're connected to the Internet through a properly-configured hardware firewall (or a properly-configured router with firewalling capabilities), then probably the firewall included with Windows or most other operating systems is adequate. But if your computer is connected directly to the Internet (or if you're not too confident that the router or firewall is configured properly), then you need a good software firewall. In this case, I recommend ESET Internet Security. It includes the ESET NOD32 virus scanner that I like, plus a firewall and other security applications. This probably is the best choice for most users unless you are certain that your external firewall is properly configured.
Let me say this right off the bat: MailWasher is not the easiest anti-spam application to install or use. It also doesn't work if you use webmail to check your mail. It only works if you use an email client installed on your own computer like Outlook, Windows Mail, or Thunderbird. It doesn't matter whether you use IMAP or POP3, but it has to be a resident client, not a webmail app. Also, don't attempt to install MailWasher until you have all your email settings and passwords handy. It will ask for them during setup.
The way MailWasher works is that it sits between your email client and the Internet and checks the mail before your email client does. When mail arrives, it alerts you, makes an educated guess as to whether or not the mail is spam using a variety of filters and algorithms, and allows you to decide how to handle it. You can mark the mail as legitimate, mark it as spam, delete it, and/or bounce it. (I urge you not to bounce spam, by the way; but the ability is there if you need it.)
You also can report spam to Spamcop or another anti-spam database if you have an account with the organization maintaining the database, to the United States Federal Trade Commission, or to any other agency you define and configure in MailWasher. I personally report every spam I receive to Spamcop and have reported nearly a hundred thousand over the years. Spamcop uses these reports to notify hosting companies that their servers are being used to send spam; and if the hosts don't correct the problems, the servers are added to real-time blocklists (RBL's) that email providers use to filter spam before it ever gets to users.
Long story short, MailWasher makes checking email into a two-step process, which may turn some users off. But it also provides you with advanced spam-handling functionality that other spam filters don't, as well as the ability to become a real-life spam cop if you want to proactively fight spam. Most importantly, it doesn't do anything without your approval, which means it will never delete legitimate mail.
You can learn more about keeping your computer safe on this page.