Open and Shut Case

"Software is like sex: it's better when it's free."
  -Linus Torvalds, best known as the creator of the Linux® kernel

Computers without application software are like cameras without lenses. It's common for one's investment in lenses to exceed the cost of the camera body or bodies. It is similarly typical to spend more for the computer programs we need than for the computer itself. Most computers with operating systems from Microsoft® or Apple® come with a few programs already installed. Some of these are more useful than others, but to maximize our investment in computer hardware, most of us can't avoid buying software.

These are the "mainstream" applications, those we must have for various reasons. While many of these are available in demo or trial versions, often preinstalled on new computers, we have reasons to buy them. We might pay for a "full version" when a demo expires. We might buy or upgrade to a more capable version. We buy because the applications and suites are useful; because they're the only tool for the job; because we use them at work and need compatible programs at home; or because, for better or for worse, they've become the standard for whatever they do, the programs everyone uses.

These can cost hundreds of dollars; in the case of some of the "suite" packages, or special-purpose niche applications, into the thousands. As I suggested in "Raising the Rent", you don't buy these programs. You rent them. The rent comes due in the form of expensive upgrades. Sometimes the best approach is to open your checkbook and make the purchase. While no software is bug free, and while even the biggest names in software make dumb design decisions with surprising regularity, commercial applications from Adobe®, Microsoft, Apple, and the other big players are created using specification, design, construction, and testing processes, and generally work well for most customers. There surely are exceptions; everyone's had a bad experience with a product from Apple or Microsoft or Adobe or Symantec®, among others. The Web is rife with individual horror stories. But it's pretty rare for a "big" program from a big company to work poorly for everyone. Those kinds of products aren't around for long, nor is any company that produces a string of them.

The mainstream commercial applications are proprietary software. You purchase an end-user license. The software remains the property of the developer; by installing the software you agree to the opaque and endless terms of the license. This agreement typically defines installation, distribution, and use provisions (restrictions), and prohibits reverse-engineering or otherwise modifying the source code, or underlying programming, of the application or suite. This is also called "closed source" software.

Quite often there are alternatives to proprietary software.

Open Sesame

For nearly every category of proprietary software, there's an open source application with similar functionality. An accurate definition of open source software, or OSS, is long and a bit complex. TechRepublic® has posted some concise definitions of various open source terms. In short, OSS is usually developed and maintained by a community of designers, programmers, and writers; the source code is freely available and freely distributed so anyone can make revisions and improvements, even taking the product in new directions (branching). Technical support comes from the community, typically via forums on the Web. Open source programs are usually free, although donations to help defray costs are always welcome. OSS is often cross-platform; there may be versions of the same application for Windows® operating systems as well as the Mac OS®, Linux, and possibly others. There are several licensing arrangements in use for OSS; they almost universally require the source code to remain free and open.

OSS is sometimes incorporated into other applications, even into some computer operating systems. Some of these programs and OSes are free, some are not. For example, Apple's Safari® and Google™ Chrome™ Web browsers, both free, are built on the open source WebKit framework. Numerous backup programs make use of the OSS rsync program. There are many other examples.

A number of software development tools (programs for programmers) are OSS. Programming environments from companies like Microsoft, for example, are complex systems and often fabulously expensive. These may combine design tools, programming languages and compilers, database construction packages, collaboration mechanisms, source control programs for version management, testing management systems, documentation software, and more, into a more-or-less consistent framework. OSS development tools may not include such wide-ranging capabilities, but they are often more than adequate for individual programmers and for widely distributed development and documentation, that is, for use by programmers scattered around the world working jointly on the same project. As you'd expect, many of these tools are free. We mere mortals, the end-users, don't care much about programming tools, free or not, but if they didn't exist it's unlikely there'd be so much free and low cost software available.

Beyond Photography

I bought my current computer primarily to serve as my digital darkroom and secondarily to help manage my business. I loaded it with memory and additional hard drives, and then purchased and installed Adobe's Photoshop®; I'd been using an earlier version on my older computer, so I was comfortable with Photoshop. It has the tools I need (along with a great many I don't), is fairly stable, is almost universally used by professional photographers or those who manage photographers' digital assets, and is well supported by Adobe, many professional instructors, and the user community. It's pricey for those of us not eligible for educational or other discounts, but one need only sell a few prints to pay for the software. I've historically purchased every-other update, which has worked out fine and saves a little cash.

Beyond Photoshop, I need software to maintain my Web site. I need an "office suite" for correspondence and other writing, and for creating presentations and financial documents. This must be compatible with the Microsoft Office suite everyone uses so I can view, and sometimes edit, files I receive from others. I need a page layout program for generating fliers, posters, brochures, and the occasional form. I need an e-mail program (I dislike Web-based e-mail), a Web browser, and a few other programs for the remaining chores of running my business.

Horses for Courses*

An Impress slide from one of my classes

A slide from one of my classes, made with LibreOffice's Impress presentation program. Click the image for a larger version.

Most of the computers here use the Microsoft Windows operating system. Some of these have the Microsoft Office "productivity suite" installed. To avoid the expense, complexity, and general Microsoftiness of MS Office, I've used OpenOffice on my Mac®. OpenOffice includes a word processor, a spreadsheet, and programs for making presentations, drawings, math formulae, and databases. By default it saves files in open document format, which Microsoft began supporting with Office 2007. OpenOffice can open and save files in a variety of other formats, including those used by Microsoft Office. I create slide presentations for my classes using the Impress program in OpenOffice, save them in Microsoft Powerpoint format, copy them to my Windows laptop, and then use that machine in the classes. OpenOffice can also generate PDF (Portable Document Format) files, which nearly everyone can view. OpenOffice is available for Windows, Mac, and Linux, and is, of course, free. It's a little quirky (a trait common to OSS), but it does all I need it to do, and the price can't be beat.

LibreOffice is a branch of the OpenOffice source code; the first general release occurred near the end of February, 2011. This release is nearly identical to OpenOffice, and of course is fully compatible. I suspect LibreOffice is the future of this product. After a recent rebuild of my computer's boot hard drive I installed LibreOffice instead of OpenOffice. Except for a few cosmetic changes I see little difference in the things I regularly do with the suite.

trifold brochure created with Scribus

A trifold brochure created with Scribus. Click the image for a larger version.

To make brochures, posters, and other publications, often incorporating my photos, I use the open-source Scribus. This could be considered a "high-end" page-layout application, with capabilities similar to Quark Inc's QuarkXpress® and the late and much-missed PageMaker®, abandoned by Adobe in favor of their InDesign® application. Scribus is a frame-based layout application, with tools for precise control and positioning of elements on the page, sophisticated typography, full color management, press pre-flight, and more. Yet it is an approachable and easy to learn program, if a little odd in its approach to some things. It's also not without bugs, but what I've found can be easily worked around. Scribus will only get better with each new release.

This Web site is entirely hand-coded. That means I use a programmer's editor, often simply known as a text editor, to type both the computer code that makes these pages look and work as they do, and all the content on the pages. Once each of the various styles of pages was created, I was able to do a lot of copying and pasting to make additional similar pages. This still requires the use of an editor. For several years I used a free, but closed-source editor called Smultron. I was pretty happy with it, but the developer stopped work on the program for a while, and then restarted it with a non-free (although very inexpensive) entry into Apple's recently-launched on-line software store. Although a new release of Smultron is available in the Apple Store, I've moved to the open source Editra editor. This is a fairly new project; the feature set is growing, but it's still missing a few features I'd like to have. What's there seems quite solid.

New pages and content for the site must be uploaded to servers at my hosting service. This is done via FTP (File Transfer Protocol). There are lots of FTP client programs available, including a number of free ones. I use the open source FileZilla, which seems capable, solid, and less bloated than other FTP clients I've used in more than a decade of managing Web sites.

One of the Windows computers here is a file and print server; it's where many gigabytes of photo files are stored on a RAID (hard drive array). This server sits by itself in a room without a comfortable working environment. Using the open source CoRD "remote desktop client" on the Mac, I can operate and manage the server from my comfortable office. CoRD allows me to run the server, or any other Windows computer here, in a window on one of the Mac's monitors. CoRD provides full control from the Mac keyboard and mouse, and can even bring the PC's sound to the Mac's speakers. Microsoft offers a free Remote Desktop client for the Mac which has most of the feature set of CoRD. I tried Remote Desktop several years ago and found it awkward and buggy. I was happy to find CoRD as a replacement.

Much More

There are several other open source programs I use on a less frequent basis, and a few I use daily. Firefox® and Google's Chrome are Web browsers I use for various specific purposes. SynergyKM is a software keyboard/mouse switch allowing control of any computer on the network by any other. I use Apache® Server and php for Web site development and maintenance. Clonezilla® is hard drive cloning software—a program that makes a perfect duplicate of one hard drive onto another. This isn't quite the same task as making a backup, but a clone of a boot drive can save hours of work if a drive fails. It's also a great way to test unknown or questionable programs, since the drive can be quickly and easily returned to its previous state after the testing or trial is finished.

There's much more in the open source domain; you're likely to find free, possibly cross-platform solutions to any problem you might encounter in your computing life. There's even a Photoshop-like image editor, The Gimp. I've not looked at this, being happy with Photoshop. But The Gimp has an ardent following, and might be just what you need if you're looking for a sophisticated image editor without the Photoshop cost of entry. While I'm mentioning OSS alternatives to Adobe products, I have to include Inkscape, an OSS vector graphics editor with capabilities similar to Adobe's Illustrator®. I plan to have a look at Inkscape.

Sometimes free stuff is no bargain. But sometimes it is; it can take some work, and perhaps a shifting of mental gears, to determine that. There's often good reason to sign up for the endless rental of proprietary software. In many cases, however, there's a free application or suite that will do the job well enough, perhaps even better than the big-buck version. It's worth a look.

*Choosing the best tool for the job, if that's not stretching the conventional definition a bit.

Links to the OSS Mentioned

As always with a list of links, these sites may change or disappear over time, breaking the links. If you find a broken link, please let me know. You can always use your favorite search site to find the current pages.

February, 2011

All products and brand names mentioned are trademarks or registered trademarks of their respective owners. I've done my best to get all the ® amd ™ symbols in the right places, but I can't guarantee the correctness or completeness of this effort.