oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

Software Strategies for Emerging Developers
Pages: 1, 2

Free Beer

"Borland is taking a risk by releasing Kylix Open Edition as a fully-functional development environment. We're gambling that the availability of the free toolset will drive more sales of the commercial tools than it will cannibalize. If we're proven wrong, we will go back to what pays the bills."
Danny Thorpe of Delphi/Kylix R&D, August 2001

"Proprietary software companies hand out free copies for the same reason that cigarette companies give sample packs to college kids -- to encourage addiction."
Richard Stallman, Nov 2002

Giving away your software can increase market penetration and encourage third-party adoption.

Streaming media vendors have attempted to establish de facto standards by making client software available free of charge, while imposing a server tax that can cover anything from CPUs, computers, employees, and actual content to even the number of end users.

A loss leader strategy could see you offering software for free to build up a customer base, before charging for critical upgrades. If your free software has no functional restrictions, you must put forward compelling reasons for users to upgrade.

In the midst of a price war, pricing at zero can put your rivals out of business if they have no alternative revenue streams. The exception is open source software, which won't go bankrupt.

Still, some vendors give away proprietary software in order to weaken open source rivals by providing community members with a free solution as an alternative to writing their own.

It's possible for these vendors to sustain pricing at zero by subsidizing the cost of software development. One such technique is to bundle software with the sale of something else, though you might be accused of predatory pricing.


"It's hard to have a clear advantage in getting software widely accepted just because it's free. That's because Microsoft can distribute a lot of good software, like browsers and email clients, for free, making money in less direct ways."
Steve Wozniak, Jan 2000

Apple's position is to sell a unique computing experience to consumers, and make its profit from hardware sales. To appeal to its intended audience, Apple, like Microsoft, bundles applications with its operating system.

As a result, Apple is competing indirectly against third party developers, such as yourself, and possesses a natural advantage in owning the platform and its APIs. Here are a few examples of Apple's bundled applications and those trying to compete against them.

  • - Eudora, Entourage
  • iTunes - MacAmp, Audion
  • iMovie - Premiere
  • Safari - Chimera, OmniWeb
  • iChat - AIM, Jabber, Adium
  • Sherlock - Watson
  • DevTools ProjectBuilder, InterfaceBuilder - CodeWarrior

Bundled applications can present you with high entry barriers due to the switching costs involved. Often, the bundled applications will be good enough for many users, and they will see no reason to pay for substitutes.

Lock-in can prevent users switching applications. Users invest time in learning how to use software, and may be unwilling to forego that investment. Users may be locked in by the network effects of closed standards, or belong to a community -- such as with instant messaging -- from which they are reluctant to leave.

To overcome these barriers, you must provide a migration path for users to ensure backward compatibility with legacy data formats and offer users a familiar workflow, interface, and user experience.

Yet integration can create strong software network effects that you might find difficult to overcome. Apple is creating a suite of highly integrated applications, similar to that of Microsoft Office, where your software must replace the entire suite and not just a single member. iPod owners use iTunes to transfer music. iApps utilize "Software Update" to distribute upgrades straight to the user's desktop. iSync synchronizes data across systems and personal devices.

Apple will continue to strengthen the consumer experience to ensure the survival of the platform by bundling more applications and attempt to derive new revenue streams. iChat and iCal require users to upgrade to Jaguar. iBackup is only available on subscription to .Mac. iPhoto sells value-added services, such as professional prints of your photos, bound together in a photo album.

How can you compete with Apple's bundled software, or free software in general? If you consider the large user base of Apple's iApps, it may be desirable to write complementary software, instead of competing directly with substitute software.

Complements and Commodities

What exactly are complements? Products become complements if the consumer needs to have your product and the other guy's.

Say you want to share your holiday fun with friends and family. iMovie lets you edit your video footage, but you must pay for its complement, iDVD Pro, to burn your movies onto DVD discs. A DVD burner is of value only if you have its software complement, such as iDVD or Roxio's Toast. In turn, you could write disc-labeling software to complement Toast.

Components and plug-ins complement existing software by enhancing functionality. Pluggable or scriptable applications, such as iTunes and Sherlock, offer you a ready market of users for your commercial add-ons. You could even reach out to your peers by developing Frameworks and GUI widgets.

Complementary software is a natural target for bundling. A desktop scanner manufacturer will require software for imaging and OCR. A service provider, such as eFax, will want desktop software to promote use of its service.

As economists will point out, though, complementary products try to commoditize one another, since when the price of one product goes down, demand for the other will go up.

Thus, hardware manufacturers may fund the development of open source and cross-platform software, or public standards, in order to avoid expensive OEM contracts.

Competing software packages can become commodities when they are identical in function, often as a result of meeting specifications or standards.

To avoid commoditization, treat a standard as the lowest common denominator. Database vendors, such as Oracle, extend ANSI SQL with proprietary extensions and features to justify their pricing position.

Related Reading

Mac OS X in a Nutshell
A Desktop Quick Reference
By Jason McIntosh, Chuck Toporek, Chris Stone

In some cases, commoditization remains only a threat, and serves to enforce a symbiotic relationship based upon mutual wealth creation. A status quo can exist between platform and application. Photoshop's built-in digital effects do not threaten third-party plug-in developers, who in return do not lobby for vendor-neutral APIs to render the Photoshop platform irrelevant.

The Law

"Oracle Corporation opposes the patentability of software ... Unfortunately, as a defensive strategy, Oracle has been forced to protect itself by selectively applying for patents."
Oracle's Policy On Software Patents

If you give access to your source code, you're at risk for code theft. The author of Space, an open source virtual desktop manager for Mac OS X, spotted a violation of the software's Mozilla Public License and took action to reach an amicable solution.

Patents and copyright laws can help protect your work in the event of a dispute. Unfortunately, patents can also be used maliciously. The legal costs alone, in defending yourself from a fraudulent patent infringement claim, could put you out of business.

If you are issued patents, you can license them for royalties, but you may be participating in a patent race that ultimately harms you.

Final Thoughts

Regardless of whether you're striving to be a shareware developer or a working member of the open source community, you need to be clear on a plan to bring your products to market.

Fortunately, there are existing models to study: Oracle for pure proprietary, Apple for a mix of open source and proprietary, and Linux for open source and free.

Whichever path you choose, make quality a high priority, and keep your ear to the tracks so you know what your customers are saying.

Wai Liu is a software developer who created StreamRipper X and maintains it through SourceForge.

Read more Developing for Mac OS X columns.

Return to the Mac DevCenter.