Ask most anyone who runs Windows at home what edition of the operating system he or she is using, and odds are you'll hear a fairly predictable roster of responses: Windows XP Home, XP Professional, Vista's various incarnations, maybe even Windows 2000 Workstation.
But what about a server edition of Windows? Who needs a server-level operating system at home, and why?
A server in a home network isn't as exotic as it sounds. In fact, you probably have at least one Windows machine in your home network right now that's acting as a server in some capacity. Most of the functions performed by such a machine should be pretty familiar: sharing a printer or a network connection, sharing files and folders, or providing space for backup operations. What makes regular desktop Windows limited as far as such things go is a set of artificial constraints imposed by Microsoft about how much functionality they can offer. These constraints, arbitrary as they may be, don't always prevent you from getting things done in a home environment -- but they're worth enumerating in detail and understanding.
Windows Server: Fewer limits, but more money
One of the most commonly cited reasons for using Server at home is its support for more than 10 simultaneous NetBIOS connections. NetBIOS connections are used to create file and printer shares in Windows, and desktop versions of Windows -- XP Home and Pro, and Windows 2000 Workstation -- have specific limits about how many inbound NetBIOS connections can be established. A Windows XP Professional machine can host up to 10 inbound connections, as does Windows 2000 Workstation; Windows XP Home can host only five.
Note that these connections are enumerated on a per-computer basis: If you have one computer connecting to another computer that has a file share and a shared printer, the file share and the shared printer are all counted as one connection. (On a personal note, I did in fact run a Web server out of my house via a dial-up link -- almost a decade ago -- using Windows NT as the server. It was never more than an experimental thing, though, and as soon as I could buy my own Web site hosting with a decent amount of disk space, I did.)
If you habitually have more than 10 computers in the same household (LAN party, anyone?), then one instance of Server may be useful. The vast majority of the time, you can get away with an XP Pro/Vista setup -- especially since there's a quirk to the way NetBIOS connections are established.
After a certain amount of idle time (about 10 minutes), a NetBIOS connection is automatically dropped. This way, in theory, more than 10 clients could connect in round-robin fashion; it's just when you have 10 or more clients connecting continuously that it becomes a problem. A similar restriction exists for inbound TCP connections in desktop editions of Windows, but unless you have ambitions to run an Internet server out of your house, this is generally even less of an issue.
Yet another reason why someone might run some variety of Windows Server in lieu of XP (or even Vista) is support for server-level applications. Some programs simply don't run on anything other than some variety of Windows Server. That said, many of those programs can be found in equivalent editions for desktop machines. Microsoft, for instance, has started offering functionally similar editions of certain server applications that can be run on desktop editions of Windows.
For those who can't run the full version of SQL Server, there's the SQL Server Express Edition; its biggest limitation is that it can't deal with any single database bigger than 1GB. Another server-level app from Microsoft that will run on desktop editions of Windows, but with connection constraints, is Internet Information Server.
A third major reason for adding some kind of server in a home environment is to bridge the gaps between multiple platforms. One of our editors has an Intel-powered Mac, a MacBook and an assortment of Windows machines. In my own home, I've had all of the above at one time or another plus various kinds of Linux boxes. If you set up one server to support file- and printer-sharing to all of those machines at once, that's generally far easier than trying to get each of them to talk to the other. Of course, this implies that the server platform you're using can do that in the first place but, mercifully, most of them can do this -- and in that respect, Windows Server is only one of several possible choices that also include a Linux box or a device dedicated to sharing files across a network.
Linux: Another way to serve
One common alternative that's been posited to Windows Server in a home environment is Linux -- specifically, a user-friendly variety of Linux that's been written to coexist with Windows systems. Linux has come a long way from being a no-GUI, hackers-only system, thanks to the various development communities that have sprung up around it and created highly personable (and personalizable) versions of the operating system. Many of them can be installed on a given PC with relatively little hassle, and made to serve as a file or printer sharing system.
Ubuntu and Red Hat's Fedora distribution are among the easier ones to set up and administer for these kinds of tasks, and they cost nothing (apart from the user's investment of time and effort) to download and install. Finally, there are none of the arbitrary connectivity limits that Windows imposes.
Right now, the single biggest issue with Linux as a print server is actually not usability, although the degree of user-friendliness does vary depending on the distribution you're using. Instead, it's hardware compatibility, for printers in particular. One of the natural advantages Windows (any variety of Windows, not just the server variety) has in this area is that most any printer made, past or present, has some kind of Windows driver.
Many printers use proprietary communications protocols and don't have manufacturer-written Linux drivers available for them, so if you're considering using Linux for printer-sharing, make sure it either supports a standard printer protocol (PCL 5/6, or PostScript) or has a community- or manufacturer-supported driver of some kind.
File and folder sharing from Linux to Windows has also been made a lot easier over time. Before, it used to involve a good deal of command-line hackery, but this is thankfully not as much the case. The one possible catch is if you have any Vista machines in your network. Some Linux distributions use default Windows file-sharing settings that don't take into account the way credentials are passed to and from Vista boxes. Fortunately, this is not too hard to get around, and may already be fixed by default, depending on what distribution you use.