Linux for CPAs
Weighing the Benefits and Challenges
by Jay Starkman, CPA
There are good reasons for CPAs to use Linux in a Windows-dominated professional environment. An operating system is primarily the interface between the user, productivity programs, and the computers hardware. Although more programs are available under Windows, Linux offers great free alternatives that users can easily install, as long as they have an Internet connection. Linux can run all kinds of software, which are often easier to install and uninstall and do not require activation, and can improve productivity through multiple desktops, tabbed open files, and tabbed command shells.
Privacy and Security
Linux is easier to keep up to date than Windows, and it runs more efficiently on the same equipment. With Linux, performance doesnt degrade as the system ages. Though not virus- or hacker-proof, Linux is nearly immune to viruses and malware when it is properly administered, and security can be hardened against hacking. In any case, malicious code can inflict far less damage under Linux; thus, privacy and security are far superior.
Unlike Windows, Linux has no activation software, digital rights management (DRM), hidden user-tracking programs, or secret subdirectories. This is why the Washington Post reported that using Linux is the easiest way to avoid Windows malware security woes when performing online banking (Linux Takes Another Step Toward the Mainstream (and the Price Is Still Right), Washington Post, May 30, 2010, G4; E-Banking on a Locked Down (Non-Microsoft) PC).
Particularly cautious individuals can boot Linux from a live CD. Without disturbing an existing Windows installation, most downloadable Linux CDs can
Specialty Linux live CDs can clone and restore images of hard disks and hard disk partitions and perform other special tasks. Clonezilla is similar to Norton Ghost.
Linux comes with built-in support for security encryption that might be required for client files. This allows designated files, directories, or entire partitions to be encrypted, rather than merely password protected. A lost Linux USB drive inserted into a Windows computer will only display a warning that it requires reformatting. Should the finder realize that he is dealing with a Linux-formatted encrypted device, he then faces a decryption hurdle. Thus, carrying client data on a Linux-formatted USB drive offers double the protec tion of a traditional FAT32- or NTFS-formatted USB drive. (For additional information, see 5 of the Best Free Linux Disk Encryption Tools.)
Linux Distributions and Desktop Environment
There are currently nearly 300 actively maintained versions of Linux, including user-friendly Ubuntu, business-friendly Red Hat/Fedora or Novell SuSE, and geek-friendly Debian. CPAs interested in using Linux will first need to pick a Linux distribution (distro). Distros differ in the programs they package together, their look and feel, and the support they offer. For example, Puppy Linux will run on a computer with just 128MB of memory; PCLinuxOS (a "rolling release" keeping it more up-to-date; read review), and Zorin have the look and feel of Windows, easing the learning curve. Mint is currently the most popular distro, featuring Ubuntu under its hood with a choice of desktops. PinguyOS is something between a Mac and Windows. Tails Linux hides a computers real IP address, making it untraceable, and leaves no tracks on the computers hard disk.
A complete list of distributions with descriptions, popularity, download location, latest releases, and weekly magazine is available at http://www.distrowatch.com.
Computers labeled Windows 8-Ready contain a new motherboard component Unified Extensible Firmware Interface (UEFI) Secure Boot that must be turned off or it will only boot the latest versions of certain Linux distros. Other distros are still working on a fix. Micro-Star International (MSI) includes Winki Linux, an instant-on operating system, with its UEFI motherboards, including a built-in Firefox web browser and Skype.
The main element of a Linux distro is the desktop environment. Microsoft only comes with one desktop environment that has very limited customization. Each Linux distro comes prepackaged with an environment, which helps differentiate each offering. Environments function like Windows desktops, but with more choices, which can improve productivity. The most popular Linux desktops are feature-rich Gnome and KDE, which require a modern computer to run efficiently. Alternatives include the less resource-intensive XFCE and some barebones resource-conserving desktops. (For a complete list of desktops, see http://www.xwinman.org.) Despite some differences, all distros can run the same Linux programs. Users more familiar with the look and feel of a Mac OSX should look into the Macbuntu desktop add-on.
How to Install Linux
Installing Linux is as simple as booting a live CD, selecting install from the desktop environment, and replying to a few easy choices. It installs much faster than Windows. Linux is free; no long product key or online activation is needed. Most of the popular distros offer a bootable live CD or DVD, generally an ISO file that can be downloaded and easily burned to a CD. A complete list of live DVDs and download links is available at http://www.livecdlist.com. There are also portable Linux versions that boot from a USB drive; this enables users to boot and run their configured desktop environment and programs temporarily on most Windows computers.
When a Linux distro website presents a choice of downloads, users should select an EN(glish)-amd64 version; however, they could choose the x86-32bit version if they have 4GB or less of installed memory or an ancient processor. (Note that many distros are phasing out 32-bit versions and there is no simple upgrade path from 32-bit to 64-bit if you choose to use Linux.) Reboot your computer (with UEFI Secure Boot disabled, if necessary), from the burned CD and that Linux distro is up and running without disturbing your existing Windows installation in any way. An Internet connection should be automatically detected when using a live CD.
Linux offers many free accounting applications; however, these are not as strong as commercial Windows offerings. (See list at 21 of the Best Free Linux Financial Software.) LedgerSMB is a powerful Linux ledger based on structured query language (SQL). This program claims to be similar to Sage, but it can be difficult to install in some distros, due to conflicts with required libraries.
Personal finance software, such as GNUcash, KMyMoney2, and Scrooge is free and can import Quicken QIF files. Unfortunately, the Linux offerings are weaker than Windows programs, such as Peachtree Accounting, Intuit Quickbooks, Intuit Quicken, and Microsoft Money. Virtually all cloud-computing applications work under Linux, using the Firefox or Google Chrome browsers; only a few insist on Internet Explorer. Many native Windows programs will run in Linux, using an interface called Wine (or Crossover, its commercial version). Almost all Windows programs that won't work with Wine will work under VirtualBox (free or commercial, or the commercial alternative VM Ware), which allows the Microsoft Windows operating system to be installed and run under Linux.
Typical daily tasks using spreadsheets, word processing, databases, e-mail, web browsing, and instant messaging are all available for free. LibreOffice, and Apache OpenOffice are very robust free substitutes for Microsoft Office and are also available in Windows and Mac versions. This author uses LibreOffice almost exclusively, even when running Windows. It can print directly to a PDF, which can be encrypted (using Linux PDF Studio Pro, Windows PDF-XChange Viewer (with Wine), or the free command line PDFtk) and attached to client e-mails. Linux office programs directly open and can save in DOC format, except when password protected under Microsoft Word. Versions 2003, 2007, and 2010 (32-bit) of Microsoft Word and Excel run flawlessly with Wine.
There is no native Linux tax preparation program. Drake tax software appears to work with Wine, but has not been thoroughly tested. Print alignment seems to be problematic with Drake. Most other tax software will run using VirtualBox, as will all Windows accounting software and DVD-based tax research software.
An additional benefit of adopting native Linux software is that IRS doesnt use it. This may protect against present directives for IRS examiners to demand electronic accounting records that the agency has the ability to read.
A Linux operating system comes with expected built-in features, such as a web browser and audio and video playback. Most Windows programs have Linux equivalents; some are superior to their Windows counterpart. (See chart below for a comparison of applications under Windows and Linux.) Linux is kept always up to date with a package manager (e.g., Synaptic, YaST, YUM, or APT, depending upon the distro). These identify program updates that can be downloaded and installed from web repositories with complete anonymity, which makes maintaining Linux programs much simpler and quicker than Windows programs.
Users searching for new software to accomplish a task can find it, install it, and either keep it or uninstall it using the package manager. Almost all are free and most are of very high quality. Thousands of Linux applications are listed in the package manager and can be installed with just a few mouse clicks. Thousands more Linux applications not listed in a repository can be downloaded from websites (e.g., http://www.SourceForge.net). Once installed, new and updated Linux programs are immediately functional without rebooting. Multiple desktops allow users to work on several projects at once with a fresh, uncluttered desktop environment screen for each project. This author uses four desktops: 1) e-mail and Internet, 2) tax returns, 3) general workspace, and 4) Microsoft Windows (used infrequently).
Most distros allow up to 16 desktops, and some permit even more; it’s a wonderful aid to productivity. Windows, on the other hand, has nothing like this; Windows 8 has instead concentrated on better multimonitor support.
(Mac OSX also offers multiple desktops because, under the hood, OSX is Linux with an Apple interface. Windows 10 offers an inferior, limited function implementation of multiple desktops. Windows can't drag and drop programs between different screens, can't change the wallpaper for individual desktops, and you can't quickly jump to a particular screen without cycling through all of your open screens.)
Like Windows, Linux supports multiple monitors as well as multiple users to keep each persona separate, with a completely different desktop environment.
In addition, Linux multitasks more efficiently than Windows. A disk- or processor-intensive operation running under Linux won’t slow down a computer as badly as under Windows. This multitasking ability, combined with a lack of disk fragmentation and less need for antivirus software, makes a computer running Linux significantly quicker than one running Windows. Most Linux programs can be configured to run on a USB drive, so users can run them on different computers. Indeed, the entire operating system can boot and run from a USB drive.
The Gnome desktop uses the Nautilus file manager (functions similar to Windows Explorer) and features built-in drop-and-drag CD/DVD burning, just like Windows XP. The KDE desktop uses Konqueror, which doubles as both a file manager and Internet browser with time-saving programmable features. For example, this author programmed Konqueror so that the command irs:<form/publication number> can be typed into its browser search box to automatically bring up the IRS download page with all matching selections. Or, you can choose Dolphin, a pure file manager, or try Nautilus (Gnome), Thunar (XFCE), or many other choices. Linux gives the user choices; unlike Windows Explorer.
Linux file managers can be tabbed for added efficiency, just like a web browser. The settings can be saved so that you can open the same multi-tabbed file manager at a later date.
The Linux terminal mode (called, shell, which is far more powerful than the Windows command box, can have multiple tabs and be resized and scrolled, similar to a web browser. When the computer is restarted the next day, the shell remembers the commands used the prior day, unless it has been configured otherwise. If the user doesnt recall a prior command, typing an exclamation mark with a few letters will bring up a list of previous entries (e.g., !cd will result in a list of all the change directory commands in the queue to select from). Complex math can be performed on the command line (eg: echo $((2**16)) responds, 65536). A wide selection of free Linux calculators is also available.
When a Linux program is uninstalled, it leaves no droppings in a registry because no registry exists. Linux is resistant to disk fragmentation, so no defragmentation is required. Windows, in general, deteriorates over time with the installation of more and more programs.
Inevitably, disk fragmentation, registry, and dynamic link library (DLL) bloat cause Windows computers to slow down as they age, requiring system mechanic programs. The Windows side-by-side SxS subdirectory, added to resolve stubborn DLL problems, adds more gigabytes of bloat. Linux installations are smaller and more efficient, and performance does not deteriorate with age.
Instead of DLLs, Linux uses library modules, which is a Linux strength and weakness. Unlike Windows, where each program must contain its own support modules, Linux programs are allowed to reuse modules written by others, making Linux installations much more compact than Windows. However, missing or incompatible libraries create dependency issues, which can prevent Linux programs from installing or functioning. Package manager programs automatically download and install (or uninstall) programs and libraries from Internet repositories, thus resolving most dependency issues. Moreover, certain Linux commands will automatically search out and remove unused orphan libraries.
All software has its bugs, and Linux open-source programs have more bugs than Windows. The cure under Linux is frequent software updates, usually installed with ease, with no need to reboot the computer.
One of the biggest frustrations for Linux users is a lack of drivers for hardware and interface issues. Hardware must be selected with care, because it might be incompatible with Linux, or only compatible with certain distros. Having more than one DVD drive might confuse some Linux applications. The presence of more than one hard disk might require manual editing of the file systems table (fstab) to define which is the boot drive and where certain directories are located.
Some of the most powerful Linux apps require use of the terminal mode shell, for which there are not always graphical user interface (GUI) substitutes; many have no Windows equivalent. For example, when the time comes to move a computer installation to a new machine, a simple dd copy command will move or clone an existing Linux system to the new hardware. This is a complex operation under Windows, which can even be impossible because of licensing and activation issues. The Linux shred command allows users to write zeros or random data to wipe any information from an old drive prior to disposal. Remember, these can also be accomplished for a pure Windows system by booting from a live Linux CD.
Challenges of Adopting and Implementing Linux
Although Linux installation is easy, users might feel overwhelmed at first by the many choices for customizing their desktop environment and the vast selection of new and different programs. In addition, users might be frustrated over things they know how to perform in Windows, but don’t yet know how to perform under Linux.
Online help for Linux problems with
workable solutions is plentiful; however,
users must differentiate between new and
obsolete or accurate and inaccurate advice,
as well as advice specific to particular
distros, not necessarily the one they are
using. Dozens of free Linux books are
available for download, such as the 133-
page Linux Starter Pack and the 433-
page Getting Started with OpenOffice.org
3.x (20 of the Best Free Linux Books). Free textbooks
are also available (e.g., Free Technology
Academy). Instruction manuals for most
Linux commands are easily accessed by
Windows skills are transferable to Linux. There are many differences, which contribute to a difficult adjustment when individuals decide to use Linux. The strange Linux directory structure, with no drive letters and a forward-slash (/home) instead of a Windows letter-colon-backslash (c:\documents and settings), contributes to the steep learning curve. Upper case is treated differently from lower case. In Linux, MyFile.txt and myfile.txt represent two different files and can exist in the same directory.
Permissions are central to Linux security, but it can be one of the most frustrating features to learn. Three types of Linux password-protected users exist: root, user, and group. Root is similar to administrator in Windows and has access to everything. Users only log in as root to accomplish a particular task, such as installing new programs.
Otherwise, users will log in under a user name. A user has full access only to those files in her “home” directory and other files to which she has been granted permission. A group can be granted access to certain files of a particular user. For example, a payroll supervisor can establish payroll files with a payroll group and grant access to the payroll staff and company executives so that only they may access the payroll files. Access may be denied or restricted to reading only or to reading and writing.
File and printer networking under Linux can be difficult and frustrating. Internet connections should work upon installation, but file and print sharing might require help from a Linux professional, due to a minefield of Linux security and permissions and a lack of wizards. Most, but not all, network cards have Linux drivers. Linux and Windows computers can be networked together with transparency.
Hardware should be checked for Linux compatibility before purchase (for example, at http://www.linuxquestions.org/hcl). Linux has made great progress with Apple’s Common Unix Printer System (CUPS) in resolving printer issues, but it is not perfect. A partial list of Linuxcompatible printers is available at http://www.openprinting.org/printers, and a list of scanners can be found at http://www.sane-project.org/sane-mfgs.html. Only some of a multifunction printer’s capabilities might be compatible with Linux; thus, careful shopping is essential.
Linux uses, but does not require, a file extensionfor example, a file named Guess could be a text file, a spreadsheet, an image, or an executable file. For further security, an additional Linux permission is required to make a file executable. This is why malicious e-mail attachments or other malware have difficulty overcoming the builtin security in Linux; even if it does enter the system, it must be written specifically to run in Linux, and then the damage it can inflict is limited because it cannot get root access.
With few exceptions, all tasks can be completed in Linux, usually with a native Linux application; if not, users can use a Windows program running with the Wine interface, or they can use VirtualBox. Time and patience will help users overcome the learning curve; thus, interested individuals should plan on integrating Linux incrementally over time.
A Better Alternative
Linux is similar to Windows because of its GUI desktop and the familiar dropdown menus inside programs. Users will hardly notice a difference in browsing the Internet, sending e-mails, or watching videos. But if users are uncomfortable working with a Windows command prompt, they should not consider Linux for more extensive use. In addition to a GUI, Linux offers vast control over programs and the operating system through the shell.
Novices might be frustrated by the steep learning curve and discouraged when a familiar Windows task takes longer because it requires learning an unfamiliar Linux alternative. This author has been working with Linux for more than a dozen years. It has improved to the point where installation is easier and quicker than Windows. VirtualBox is a great alternative for running Windows natively in a separate Linux desktop when users require a program that won’t work under Wine.
Linux isn't exactly the same as Windows. It's better, but it's different. No one who invests the time to learn Linux wants to go back to Windows. That's because Linux really is better.
Although the Linux operating system and most programs are free, the main reason to adopt Linux is because it is more productive, stable, and secure. Switching to Linux solely because it is free is not worth the retraining costs. The availability of feature-rich applications that can be easily installed and completely uninstalled if unsuitable, without any thought to a purchasing decision, is a great benefit. Linux integrates well into a mixed Windows network environment, and it is also a great stand-alone alternative to Windows.
Users can dabble in Linux using a bootable live CD. Many great Linux programs for example, LibreOffice, GIMP, GNUcash, and most non–Internet Explorer web browsersare published in Windows and Mac versions so that different operating systems can be standardized using the same productivity programs. Linux can give an obsolete computer new life with a free, modern operating system. CPAs looking for an alternative to Windows should consider Linux.
Jay Starkman is a sole practitioner in Atlanta. A version of this article was originally published in The CPA Journal, November 2013. ©2013 New York State Society of Certified Public Accountants.