Get the highlights in your inbox every week.
Jim Salter: My Linux Story
A great time to be a Linux person
It's 2015, and there are no computers in my house that run anything but Linux. Yep, I'm one of those people.
My name is Jim Salter, and I'm a professional Linux sysadmin and developer. I'm the chief technologist of Openoid, and the author and developer of its product, Sanoid, an open source project that aims to make your servers functionally immortal. But, somewhat unusually for people who have taken the full plunge, I didn't start out that way.
I'm older than MS-DOS, so "what I grew up with" was never really an issue. But my career in IT kicked into high gear coincidentally with the appearance of Windows 95—so as a professional, I "grew up on" Windows 9x and Windows NT. And I loved them! I didn't really understand all the Microsoft hatred back then—Microsoft seemed OK in my limited perspective, and at the consumer and small business level, Windows really did blow the doors off anything else I had seen. To make things worse, the few hardcore Linux people I knew argued all the wrong bullet points. I didn't really care about making old hardware run better, and in the days before global broadband, and the security problems that came with it, uptime wasn't much of an issue either. (Sure, Windows95 wasn't great for uptime, but I had NT 4.0 workstations and servers with several years of uptime.)
I tried dual booting Linux for a while, but it left me feeling underwhelmed. OpenSUSE in the late 90s was... OK. But even getting the GUI working on a very vanilla set of hardware was a real challenge. In the end, in my case, getting X and KDE working right meant several hours of poking and muttering from a very neuroatypical friend-of-a-friend. The results didn't really impress me, either—on my fast-for-the-time hardware, it was no faster than my Windows NT main install. Since none of my day-to-day software was available, I was constantly giving up and rebooting into NT. I booted into Linux less, and stayed for shorter amounts of time, the longer it was there.
I did always know that Windows had its weak points, though, and Internet services were definitely one of them. Walnut Creek CD-ROM was serving up more internet traffic than absolutely anybody, and they were doing it with this snazzy OS called FreeBSD. FreeBSD was also Unix-like, and ran the same open source (free software!) applications, but at the time was doing it tremendously faster and more reliably. I knew whenever I managed to start doing things on the Internet, I wanted a FreeBSD server. So, I built one.
I'd learned at least one thing from failing to get to know OpenSUSE—if I was going to accomplish anything with FreeBSD, dual booting wasn't going to cut it. I needed to build a dedicated machine, and I needed to make myself use it. So I installed Samba, and made it my day-to-day fileserver. My primitive little FreeBSD 4.2 server had no GUI whatsoever, and I wasn't even vaguely familiar with a real shell, so the learning curve was pretty steep. But it worked, and I learned, and then I started leasing a dedicated server with a small ISP in Florida. Before I knew it, I was getting that dedicated server lease for free, because I was supplying technical support to my host himself.
Fast forward a few years to 2002, and I was running my own one-man local consulting firm in Columbia, South Carolina. By this point I had several years' experience with FreeBSD and Samba, and I was impressed. An accounting firm's hoary old NT 3.51 server was going down for the count, and they didn't want to spend a lot of money. I'd gone over and over the hardware itself, and it seemed fine—it was just the OS itself that had gotten creaky and unreliable. Heart in my throat, I suggested FreeBSD and Samba. I was terrified that I wouldn't be able to sell the idea of this "free software" as anything but something I'd found in a cereal box. To my surprise and relief, the firm didn't bat an eye, and I'd sold my first BSD/Samba fileserver. Emboldened with one success, I started pitching FreeBSD servers to other businesses all over town, and discovered that it really wasn't difficult at all.
I still liked BSD better than Linux by a long shot in the early 2000s. That was all on the server side, though—on the workstation side, I was still very much a Windows person. I did set up FreeBSD with X11 on my laptop, and played with both KDE and GNOME (I preferred KDE), but it was very clearly not as polished as Windows. Eventually I set up Debian on the same laptop, and it had better hardware support and an easier path to a GUI, which was nice—but in the early 2000s, X11 and KDE or Gnome were still no real challenge to Windows in terms of desktop usability. They were good enough that I started getting interested in cross-platform design, though—Firefox rapidly became my browser of choice, and Thunderbird the mail client, because it seemed like a tremendous step forward not to have to give up your applications when you change your operating system.
2007 is when desktop Linux really shifted into high gear for me. A friend had told me that he'd tried Ubuntu and it was really awesome. "It's designed to be immediately usable as a desktop OS, and it shows," my friend said. So when my roommate started crabbing about how much he despised Windows on his laptop, I started trying to convince him to install Ubuntu Feisty Fawn. He seemed dubious, and I wasn't really using my laptop very often, so I did an install on my own laptop and showed it to him. As I answered his questions and solved his potential adoption problems, I started looking seriously at it myself. Feisty was nice, in a way that desktop Linux never had been for me before—it was actually easier to get simple day-to-day tasks done than it was with Windows! Of course, it also had the reliability of Linux, and it was nice using something more like my servers on my desk.
So I took the plunge, and wiped and reloaded my own daily driver workstation with Feisty. To my delight, I discovered that I didn't miss Windows at all. Most of my apps followed me from Windows, since I'd already been deliberately choosing open source and cross platform apps. The few apps that didn't follow me over were easily and satisfactorily replaced with a few apt-gets. Better yet, my treasure trove of "install directories" on my server became obsolete overnight—replace the machine? No problem, apt-get fixes everything, no more hoarding required. (And no more, erm, "extra-legal acquisition" of overpriced proprietary tools, either.)
A year later, I started mostly deploying Linux servers instead of FreeBSD. Then the rise of KVM had me deploying even Windows "servers" virtualized on Linux, rather than on the bare metal, and when ZFS on Linux got stable, I shifted entirely from FreeBSD to Linux, and Sanoid began to emerge shortly thereafter. These days, literally everything I or my family runs—servers, laptops, workstations, you name it—is run on Linux. (Usually, the latest Ubuntu LTS release, by preference.) And now that Steam is on Linux and the majority of the games I'm interested in are easily available there... well, it's a great time to be in computing, and it's a great time to be a Linux person.