Most Mac lovers love the Mac for the carefully wrought user interfaces and the crisp design, and never pay attention to the open source at the heart of the operating system. But underneath this beautiful facade is a heart built upon the rich -- if often chaotic -- world of open source software.
If you want to go through the pain and joy of building the OS yourself from scratch, you can even download the open source core of Mac OS X known as Darwin.
[ See the slideshow summary of the 10 best open source apps for Mac OS X. Read about the winners of InfoWorld's 2009 Best of Open Source Software Awards. ]
That's just the foundation. There are thousands of open source tools available for the Mac, some built for the Mac alone and others that are translations of software created for other operating systems. Some are aimed at a niche of programmers or scientists, but a good number are supremely useful tools for everyone.
This list includes just 10 of the most essential open source applications for a Mac, all precompiled, polished, and ready to run.
Downloading the software is just the beginning because many of them have yet another layer of openness hidden inside. Several of the applications have their own built-in environment for extending the software. Some accept plug-ins, some have pop-up windows for writing short extensions, and some have both -- so you have even more options for customization.
In many cases, you're not just getting an open source tool; you're getting a range of options to add to that tool.
Fix your Mac with AppleJack Why is one of the simplest ways to mend a sluggish Mac is to "fix the permissions"? Who changes the permissions on my files? Shouldn't I know? Shouldn't I -- what is that word? -- give permission for the change? What good are permissions if some gremlin can just come in and change them without asking me?
One way to fix the permissions and perform a host of housekeeping chores is to run AppleJack, an open source tool that triggers many of the standard housekeeping scripts like disk repair and cache cleanup. The only limitation is that you need to run it in Single User mode (hit Command-S at startup).
[ If the screen images in this article don't display properly, view them in the original story at InfoWorld.com. ]
AppleJack won't ask you how you want to set the permissions because, well, that would shatter the myth by letting you, the system owner, know what's going on. So don't worry your pretty little head. The permissions will all be fixed and your Mac will run faster and smoother. If you ask too many questions, you'll end up burning the time you've saved by making your Mac more efficient -- so don't.
AppleJack can resurrect a dead Mac by cleaning up the detritus left by system crashes.
Get past Front Row with Boxee, Plex, or XBMC Apple's Front Row tool will turn your Mac into a living room computer by displaying all of the crucial media choices in big letters so that you can manipulate the menus from your couch. The software combined with the tiny, six-button mouse is one of the most elegant achievements by the Apple design team. It's not extensible, however. Perhaps Apple wants complete control. Perhaps the company is staffed by design fascists. Who knows?
There are three good alternatives to Front Row, and they all share much of the same code. The XBMC project offers a skinnable tool with many of the same features as Front Row, and it distributes builds for the major OSes. If you attach your TV to a Mac with some decent speakers, you'll get a media center that will play music and Internet video directly from your couch.
The story grows complicated because two other groups began to use the XBMC code. The Plex project is a true fork that is available for one and only one machine, the Mac. The code from XBMC continues to migrate toward Plex, but the Plex code base is optimized for Mac OS X.
Then there's Boxee, a venture-capital-funded startup that wants to help you share your video and music consumption with your close and personal friends. If you join, you start out with the founder Avner Ronen in your friendship circle. Buried under all of this amity is the Boxee application, which is built on top of much of XBMC. The company continues to support the XBMC code base, contributes some of its own code into the commonweal, and is listed as one of the supporters of the project.
There are two ways that the XBMC platform encourages simple contributions. All accept skins, which are mainly rules for how to display the information on the screen. The second is with true plug-ins written in Python; these are mainly tools for sucking down lists of content sources from the Web and arranging for them to play. Or you could just start your very own fork.
The Plex media center project spiffs up the XBMC code base for Mac OS X. Unlock the world of open source with Fink Underneath the gooey, wet Aqua skin of Mac OS X lies BSD Unix, an open source operating system that began long ago at Berkeley. Steve Jobs adopted it at NeXT, and when NeXT acquired Apple (though, technically, Apple acquired NeXT), all the BSD infrastructure came with the deal.
The Plex media center project spiffs up the XBMC code base for Mac OS X.
Unlock the world of open source with Fink Underneath the gooey, wet Aqua skin of Mac OS X lies BSD Unix, an open source operating system that began long ago at Berkeley. Steve Jobs adopted it at NeXT, and when NeXT acquired Apple (though, technically, Apple acquired NeXT), all the BSD infrastructure came with the deal.
BSD Unix has many close cousins, such as Sun's Solaris, and many not-so-close cousins, such as Linux. All of them are filled with open source software. The Fink project brings all of this software to the Mac, modifying the code so that it will compile and run on Mac OS X and providing tools that help with installation.
Fink is the command-line version of the package manager for the muy macho, and Fink Commander is an aging push-and-click tool that allows the Fink command line to remain hidden. Either tool will unlock most of the wonderful open source Unix software for the Mac. Kind programmers modify popular Unix tools to work with Apple's peculiar way of naming the directories and then store them with Fink.
When you fire up Fink or Fink Commander, it will download the latest list of packages. Following that, you can walk through the candy shop installing software. This generally works well, but it can get messy if you load up on programs. Fink will grab as many libraries as it needs, and the result can be pretty big. In many cases, Fink is smart enough to get the right version, but sometimes the libraries from one project will overwrite another.
All told, the Fink repository holds more than 10,000 packages, from programming tools to games. Perl, Python, and Ruby are probably most at home on Unix machines, so they're natural residents. Much of the Internet infrastructure runs on Unix, so many useful tools for plumbing the network, such as Wireshark, are here too. You'll also find several scientific and mathematics packages.
Fink doesn't do much itself, but the packages in the repository can take care of practically everything you might need -- if you are a command-line jockey or someone who isn't afraid of using your keyboard without a mouse. Fink really unlocks the power of the hidden Unix core of the Mac.
FinkCommander lets you scroll through a list of packages and choose the ones you want to install. Learn the power of plug-ins with Firefox Firefox is an essential browser for Mac users because it's a simple way to get some PC compatibility without running Windows in a separate virtual machine. Many Web sites are tested first on Internet Explorer, then on Firefox, and finally on Safari if the developer has time. Using Firefox on the Mac is almost the same as using Firefox on the PC.
FinkCommander lets you scroll through a list of packages and choose the ones you want to install.
Learn the power of plug-ins with Firefox Firefox is an essential browser for Mac users because it's a simple way to get some PC compatibility without running Windows in a separate virtual machine. Many Web sites are tested first on Internet Explorer, then on Firefox, and finally on Safari if the developer has time. Using Firefox on the Mac is almost the same as using Firefox on the PC.
There are deeper advantages. Firefox is often the first place that Web developers see their creations because there are so many useful additions that help programmers. For instance, Firebug and Web Developer turn any version of Firefox into an amazing tool for diving into the behavior of a Web page.
There are deeper forks too. A number of other browsers like Flock and XeroBank marry Firefox's core rendering engine with other features. Flock combines a social network layer to the browsing so that you can share your click stream more easily with your friends. Xerobank incorporates Tor, a proxy tool that blocks your location from the Web sites.
Firefox's add-on mechanism lets you extend the browser's capabilities with features like the Firebug window on the bottom, showing the markup of the page in view. Escape from Photoshop with GIMP or Seashore There is only one problem with Adobe Photoshop: the price, close to $1,000 for the extended version and more than $2,000 for a big bundle with other tools. But there's GIMP, the GNU Image Manipulation Program, which costs nothing. It's built mainly for the GNU/Linux world, so you can't use it without installing X11, a task that's not too hard if your original Mac OS X installer disks are handy. But it does almost everything that Photoshop can, and there's even a skinning function that makes it look like Photoshop.
Firefox's add-on mechanism lets you extend the browser's capabilities with features like the Firebug window on the bottom, showing the markup of the page in view.
Escape from Photoshop with GIMP or Seashore There is only one problem with Adobe Photoshop: the price, close to $1,000 for the extended version and more than $2,000 for a big bundle with other tools.
But there's GIMP, the GNU Image Manipulation Program, which costs nothing. It's built mainly for the GNU/Linux world, so you can't use it without installing X11, a task that's not too hard if your original Mac OS X installer disks are handy. But it does almost everything that Photoshop can, and there's even a skinning function that makes it look like Photoshop.
Like Firefox, much of GIMP's value comes from the wide variety of plug-ins built by programmers and artists. Some tagged "script fu" are amalgamations of GIMP operations linked together by the built-in scheme programming language.
If you're not enough of a programmer to enjoy using the LISP-like Scheme, you have two other choices. First, run back into Adobe's fold and purchase Photoshop Elements, a version of the big tool with a much more attractive price; for just under $100, Photoshop Elements will also use most of the professional plug-ins sold for Photoshop. Or second, grab Seashore, a simple version of GIMP with only the most essential routines. It's already a Cocoa app, so there's no need to install X11.
Turn ASCII any which way with jEdit jEdit is a Java-based editor for programmers that is backed by an active plug-in community, a slick auto-updating mechanism, and a sophisticated project system. This is for most intents and purposes an IDE without the compiler and the execution mechanism. If you add a JVM and Javac, you'll have everything you need to develop Java programs, including CVS and SVN connections.
The plug-ins handle more than just Java. There's also support for the usual suspects like Perl, PHP, Python, and Ruby, as well as some not-so-common languages like Rexx, LaTeX, and Prolog. There are formatting tools and real shells that execute the code inside of jEdit.
While all of these examples are good for hard-core programmers, there are plenty of features that enhance any kind of text editing. There are a number of tools for balancing tags in HTML and XML. If that's still not your cup of Joe, there are also plug-ins for juggling log files and to-do lists.
jEdit can be extended with plug-ins to handle HTML and XML coding, your favorite dynamic programming language, and countless other purposes.
Stick it to Microsoft with OpenOffice.org Long ago, everyone had to buy Microsoft Office because everyone else already used it and you couldn't work with them on documents without it. If someone sent you a file, you would need Microsoft Office to read it. That time is long past, thanks to OpenOffice.org, an open source project nurtured by Sun. The software reads all of the major document types, including text, spreadsheet, presentation, and drawing. There's also a database like Microsoft's Access.
Is the compatibility perfect? No, it's not. Text may move, tables may lose their formatting, and charts and drawings may end up in entirely different places, but the documents are often quite close to the original. That's good enough for most relationships, although it might be tough for tight collaboration with strong aesthetic requirements.
Handle feeds wisely with RSSOwl There are a number of good commercial RSS feed readers and some good free ones, but some of the good free ones aren't open source. (NewsFire, Shrook, and NetNewsWire are just a few.) RSSOwl is a cross-platform tool built out of Java, Lucene, and the Eclipse Rich Content Platform. It doesn't set up its own open source ecology; it's part of a bigger one. You can add new menu items, new views, or preferences pages just as you would to any other version of Eclipse. The UI is very configurable.
RSSOwl also has more extension points inside. You can override all of the handlers for each XML element, the particular formats like RSS or Atom, or the protocol. This can be useful because some RSS feeds require formats that are far from standard. Some sites insert custom images and other bits of data that might be handy.