It's not uncommon to use more than one computer during the course of a week: a Mac at work, a PC at home and a laptop on the road. When people search for applications that will work across all platforms, many look for an open-source solution first, only to discover that apps that work on Windows are woefully underdeveloped for the Mac.
MORE ON MACS, BUSINESS AND OPEN SOURCE
Or are they? The answer to that question depends on whom you talk to.
Some developers point to Apple as gumming up an otherwise well-oiled software development machine. Lars Ivar Igesund is the project leader of an open-source project that offers support for Mac OS X, but he says it hasn't been an easy road. Igesund says that because software developers use Linux and Windows far more than Mac operating systems, they're more inclined to develop for platforms with which they're already familiar.
For more on operating system choices, see The Big OS Questions: Windows, Linux or Mac?.
Furthermore, although most Macs today are x86-based, many Power PC-based machines still "cause subtle technical problems," he says, with open-source software. Finally, Igesund says, "The [Mac] developer tool chain (compiler, linker, etc.) generally [doesn't work well]—they're GCC [GNU Compiler Collection] and similar, but with different options making for subtle problems. In addition, they tend to break in some manner or other for each new OS X release."
However, not everyone agrees that Apple hinders the way open-source software is developed for the Mac.
Software developer Dirk Stoop creates commercial software for the Mac. He uses a variety of open-source technologies—something he says is the norm for software development these days—including Python, WebKit, PostgreSQL, SQLAlchemy, ElementTree, Sparkle, libsvn and AquaticPrime. Stoop doubts there is a single Mac application developed by a small independent software vendor (ISV) that doesn't leverage open source in some way. "Usage of open source in commercial projects inevitably leads to improvements in these technologies and a way to fund such improvements," he says.
Stoop sees Macintosh and open source in a healthy relationship, citing the combination of a thriving independent software community and Apple's embrace of open-source projects. According to Stoop, this leads to inclusion of key frameworks and services in Mac OS X, and good documentation for developers who want to leverage these components. "[It] makes using and contributing to open-source projects interesting and accessible to developers who otherwise wouldn't have cared."
Yet others take a middle-of-the-road approach. Notes Andrew Peterson, software lead for Carbon Five, which produces content management systems and other enterprise solutions, "Years back, the Mac often had more innovative open-source and shareware software, and it would show up on Windows months (or years) later." Open-source apps for Windows eventually became more popular for a time, and now Linux has taken its place at the head of the table. Like Igesund, Peterson believes that's likely a result of developers working with the platform they know, as well as a rise in the popularity of Linux in general.
Yet Peterson thinks that may change and that more open-source developers are embracing Macs. In the past few years, he says, many developers have embraced the Mac as a great development platform. "About three years ago, the [Mac] Java-based tools finally started working as well as they do on Windows, and most development and server-based tools are quite in check."
Why are more developers leaning toward Macs? OpenCollabNet community manager John Mark Walker says it's because Apple is finally giving them a reason to do so. "For one thing, the move to Intel made life much easier for developers. For another, developers are, for the first time, living in a Mac environment. It's only in the last two years or so that the majority of gear at developer conferences has been made by Apple."
According to Walker, although the adoption of open-source software development for the Mac has been sluggish, Apple could accelerate the pace. For example, he suggests, the company could open more core pieces of Mac OS X, such as widget libraries, and follow through on its original plans to open-source Darwin. He also suggests that Apple "push more recruitment of ISVs, devote more effort to building the connection points between them and open-source ISVs, and then actively support third parties in their efforts to profit from supporting Apple's platforms. Microsoft does this in spades, but my impression is that Apple doesn't really do it at all."
Raven Zachary, research director on open-source topics for analyst firm The 451 Group, has a similar opinion, with a nod toward a wider view of technology in the workplace. He points out, "The bulk of the popular open-source projects out there are server-oriented, so [software development] impacts all client operating systems, not just Windows and Mac."
Zachary sees several reasons for a weak uptake of the open-source model for Windows and Mac. First, he says, is the acceptance of a commercial model on these platforms. We've had decades of acceptance to purchase software, whether off-the-shelf or shareware, he points out. "Mac and Windows users are accustomed to paying for software. This is not true for Linux," says Zachary. Also, he points out, a fair amount of the client open-source projects have been focused on replicating software that has already existed for Windows or Mac; that replication effort is less interesting to users of established platforms. Options are already available, even if they come at a price, says Zachary.
That isn't necessary a bad thing. "The aversion for commercial software, even shareware, on desktop Linux is one of the reasons why it's not growing significantly," says Zachary. "Desktop Linux is dependent upon third-party software developers who want to embrace an open-source model. This cuts out a lot of the developers who write software for a living. I know plenty of Windows and Mac software developers who live off the sales of their software. This is much harder to do on Linux."
Software engineer Bob Murphy actively develops applications for Mac and Windows, but his day job includes "hacking on Linux open-source component implementations," so he has a bird's-eye view of the issue. Murphy says software development tends to follow the path of least resistance. Plenty of open-source software developed for Linux also ports to the Mac because the underlying technology makes it easy—unless the software involves a graphical user interface (GUI). Then, not so much.
"One of the key factors is that so much Linux-based GUI software is built using the GTK widget toolkit and associated technologies like GDK," says Murphy. "A lot of effort has been put into the GTK port for Windows, and it's pretty functional. The Mac GTK port, though, is still pretty flaky and incomplete, and seems to have stalled out."
Put another way, Mac users aren't willing to settle for so-so software. As Louis Suarez-Potts, community manager at OpenOffice.org, explains, "Users on the Mac platform are more demanding on a user interface front. The user interface must be consistent with other software on the platform; otherwise users generally will find an alternative piece of software. This is contrary to other platforms, where you get all sorts of poor inconsistent user interfaces, where things simply do not behave the same in all apps."
If Apple continues to gain market consumer and enterprise market share, why then do so many open-source projects begin life on Linux? Murphy suggests it may be simply a matter of economics. "Many open-source projects are started by students or other folks with more time than money. Since you can do Linux development with just cheap commodity hardware and a net connection, and the OS is free-as-beer, well, there you have it."
Speaking of beer—there may be other inputs to consider. As Murphy adds, "Linux hackfests like GUADEC are way more geeky fun than WWDC and don't cost nearly as much."