Americas

  • United States

Asia

howard_baldwin
Contributing Writer

Linux loses its luster as a darling among developers

feature
Nov 14, 201110 mins
AppleEnterprise ApplicationsLinux

In the app dev sandbox, OS X may be eating Linux's lunch.

Linux had a big birthday recently — its 20th — but the event may have been a tad bittersweet for its most devoted fans. According to recent results of the annual application development survey from Santa Cruz, Calif.-based researcher Evans Data Corp., Linux has slipped to third place in popularity, behind Mac OS and, of course, Windows.

OS X is now the primary development platform of 7.9% of developers, the survey found, while only 5.6% of developers use Linux.

“I’m not surprised to see the uptick,” says Al Hilwa, program director for applications development software at IDC. “The Mac is seeing a surge, and I’ve seen a lot of developers switching.”

What do these results really indicate? Apple has always targeted “creative professionals,” but that used to mean graphics designers and their ilk, and not software developers.

But ever since the late Steve Jobs swapped in Unix BSD as the underlying operating system for Apple computers, OS X and Linux have shared a common heritage. This means developers have more in common than ever before. And they certainly have a common enemy: the Windows platform, which still attracts more than 80% of developers, according to the Evans survey.

In talking to Linux and OS X developers, each set continues to have its preferences. Linux developers love the cost, not only of the operating system (free), but also of the hardware they use (cheap), not to mention being able to tinker and share in true open-source fashion. OS X developers love the simplicity of the interface, not to mention the cool applications they can create for the latest generation of Apple devices.

Beyond that, it’s important to note that the results of the Evans survey relate solely to development platforms, not deployment platforms; Linux’s status as a server operating system is unchallenged. According to Evans, “Still more than twice as many developers primarily target Linux as do Mac.”

Also, both Linux and OS X developers admit there are drawbacks to their chosen development platform. As ZapThink senior analyst Erich Oliphant points out, “There are always wrinkles. A few years ago, there were Java issues on the Mac because Apple was interpreting the standard differently than Sun.”

With the OpenJDK announcement from Apple and Oracle in late 2010, that issue at least seems to have been addressed, but Oliphant’s larger point remains — app dev perfection is a moving target.

Why developers love Linux

There are two issues that keep developers loyal to Linux: cost and capability. It’s not that OS X isn’t capable — it is, they say. But for programmers who want to tinker — to fix things themselves before waiting for Apple or Microsoft to deal with it — Linux is nirvana. They’re like the guys who keep a classic car in their garage and won’t let a mechanic touch it.

Steve Bougerolle is an independent Linux consultant and software developer in Vancouver, B.C. Although he started out as a physicist doing scientific programming in Fortran (and worked as an IT manager along the way), Linux programming has become his specialty. “It’s flexible. I can always find a way to do what I want. I have total control over what I do, which isn’t true with either Windows or OS X.”

Josh Oakhurst, chief creative officer for Charlotte, N.C.-based Skookum Digital Works, a developer of custom Web and mobile applications, concurs. “Linux isn’t for the faint of heart. If you’re looking for a pretty solution with stylish software, it’s just easier to go with the Mac.”

So why deal with Linux? Because it’s the target. “It’s what runs your sites. Linux is still the de facto platform for production environments,” Oakhurst says. “If you aren’t comfortable managing your own personal computer running Linux, how could you possibly be comfortable running and managing a Linux site touting high availability?”

One of Skookum’s developers, Corey Ballou, concurs. “I like working with the system, setting up the system architecture, optimizing it, scaling it. I prefer Linux because the more I ingrain myself, the more I can solve those problems that may arise. To me, the innards are more important than the interface.”

Not surprisingly, there’s also the question of cost. Most Linux distros (distributions) are free (though you may pay extra for support). The hardware can be as inexpensive as a bare-bones white box or an inexpensive desktop PC.

Apple hardware, by comparison, continues to be more expensive. “The hardware costs twice as much,” protests Bougerolle. For what one Apple machine costs, he says, he can get two laptops and a backup to boot (pun intended). Many developers disdain paying that premium for — as Oakhurst puts it — the “pretty solution with stylish software.”

Why developers love Apple’s OS X

William Horvath gets why developers love Linux — he used to be one of them. But not anymore. “I made the switch from Linux to OS X years ago, and I haven’t looked back,” says the CXO [cq] of Toledo, Ohio-based DoX Systems, a developer of business management tools for small and midsize companies.

“I didn’t want to have to work at making the everyday stuff work,” says Horvath. “I’m not a religious zealot on the issue. We still have some Linux boxes here, and Ubuntu is very user-friendly. But when I install a software development tool, I don’t want to reconfigure the main files, I want to get to the functionality. It makes life easier.”

For other developers, the cost premium on Apple hardware is worth it. Ries van Twisk has been a freelance software engineer for five years. He lives in a little town about 20 minutes outside of Quito, Ecuador and uses an iMac for OS X development. He loves the fact that his computer is an integrated, all-in-one unit. “In my situation, I can’t always just go buy more peripherals,” he says.

Van Twisk is also willing to pay for Apple hardware’s elegance. “It’s brilliant that they got everything into one machine,” he says, admitting as well to an intense dislike for the sound of fans on PCs; the noiselessness of Macs lets him concentrate on his work. “You want to concentrate on development, not on the machine.”

Commonalities and conundrums

Because of their joint Unix heritage, there is more commonality between Linux and OS X than contrast — a situation some software development houses use to their advantage.

At Avatron Software in Portland, Ore., CEO Dave Howell likes to hire both Linux and OS X developers for the iOS applications they build to run on Apple’s mobile devices.

“Linux is conceptually close enough to the BSD Unix that lies at the foundation of OS X and iOS that Linux programmers can often make a seamless transition into developing iOS frameworks,” Howell points out.

“And Linux engineers are often well acquainted with what is available in the open-source world,” he continues, “which makes them valuable team members who can draw on technical resources less available to our engineers who are steeped in OS X and iOS.”

At the same time, developers admit that their favorite development systems still don’t solve 100% of their problems.

For instance, last year, Apple did indeed announce that it would work with Oracle, owners of Java, on OpenJDK, for smoother Java development within OS X. But DoX Systems’ Horvath still complains that Java releases are later on OS X than on Linux, and that there are no Java USB libraries for OS X “that are trivial to deal with.”

Beyond that, he wishes desktop virtualization were easier on OS X, and he wishes he could choose a different mail client besides AppleMail.

On the Linux side, Bougerolle says, “There’s always a small annoyance that you have to work around. For instance, in my version of Linux, the GNU Image Manipulation Program [GIMP] cannot take a screen shot of a single window, but only the entire screen. OS X doesn’t have that problem.”

Which way will the market shake out?

Since the earliest days of desktop computing, each operating system has had its devotees, defenders and detractors, and today it’s no different. But the fact is, given Microsoft Windows’ dominance, cloud computing’s rise and the surge in mobile computing, the question of which development platform to use may not matter.

If anything, this gives developers more flexibility than ever before. “Cloud platforms further distance the deployment platform from development platform,” notes IDC’s Hilwa. “That tends to drive [developers] toward more diverse platforms, because the client machine is irrelevant. You’re writing code that runs somewhere else.”

Horvath concurs: “A browser-based system is platform-independent. The user is going to get the same experience. Loosely coupled applications separate the presentation layer from the data layer and from the transport layer. The more loosely coupled the application, the easier it is drop something in the back-end. The UI guy shouldn’t care what’s going on back there.”

Developers may be attracted to OS X because they not only want to design for the latest cool devices, but also because there is significant demand for iOS developers.

“A lot of developers have jumped on the mobile development bandwagon either part time or as as contract work,” says Hilwa. And that forces developers to use Apple’s iOS development tools. “You can run any operating system on a Mac, but you can’t run OS X on anything else. Developers love that multi-modal development.” (The exception: a cumbersome option known as a Hackintosh.)

Avatron’s Dave Howell also believes there’s some ego involved. “Linux development generally yields software that runs anonymously on servers. Using iOS produces apps that run on phones and tablets that you can show to your friends.”

Speculation aside, one fact remains. Whether developers’ preferences lie with the back-end of the cloud or the front end of an iPhone (or a Linux-based Android device, for that matter), computing capabilities and opportunities will continue to expand. It all boils down to preference, and there’s plenty of work for everyone.

“Saying Linux is ‘falling behind’ implies some sort of competition,” says Bougerolle. “In reality, the two communities are tightly linked. Some prefer the more polished and reliable Apple desktop. Others of us prefer the vastly less expensive and somewhat more flexible Linux desktop — or even to work directly from a terminal screen with no desktop at all.”

As Bougerolle sees it, “Any shift in platform by developers is not much about one being a better development platform than the other, but about preferences in the user interface.”

And thus it has ever been.

Silicon Valley-based freelancer Howard Baldwin has covered application development for Open Systems Today and Macworld and edited Unix for Mac OS X (Peachpit Press, 2003).

howard_baldwin
Contributing Writer

Howard Baldwin has worked as a writer and editor since 1977. His work has appeared in Forbes, Computerworld, InfoWorld, MIT Technology Review, Stanford, PC World, PC Computing, and several inflight magazines and daily newspapers. He lives with his wife, a physician, and their four cats in Silicon Valley.

More from this author