The iPhone’s Challenge to Open Source


Download our fantastic app!Freedom-loving developers have long used open-source licenses as a tactic to maintain the open availability of their source code. With the rise of closed hardware/software platforms like Apple’s (s aapl) iPhone, however, that tactic is being challenged. This might not be all bad, as the case of The Battle for Wesnoth illustrates.

It’s a bit ironic that such a closed platform as Apple’s iOS, and its accompanying App Store, welcomes open-source software at all. Yes, the Apple iPhone SDK states, “If Your Application includes any FOSS, You agree to comply with all applicable FOSS licensing terms.” But the platform itself, and the App Store rules, effectively block adherence to this stipulation by removing the ability to access, read, and redistribute underlying source code for apps.

It’s a core part of Apple’s mantra, as repeated by Apple CEO Steve Jobs this week, that “integrated will trump fragmented [Android] (s goog) every time.”

This integrated approach is at odds with the more free-spirited, open-source approach, as reflected in new skirmishes between open-source advocates and Apple or app developers. For example, the Free Software Foundation recently filed a complaint against Apple for its distribution of the open-source GNU Go game without providing its underlying source code, as required by the GNU General Public License (GPL). The FSF believes Apple’s App Store rules violate Section 6 of the GPL, which indicates that “a redistributor of the licensed program may not impose further restrictions on the recipients to copy, distribute, or modify the program.” Apple doesn’t allow any of those freedoms.

Unsurprisingly, rather than confront the question, Apple simply dumped the GNU Go from the App Store.

But the issue won’t die, thanks to a similar concern arising over The Battle for Wesnoth. It’s a tricky situation, because in this case, Wesnoth’s developers — at least, many of them — do not favor the FSF’s position, and believe that the App Store regulations do not violate either the spirit or letter of GPL licensing.

As an interesting corollary to this legal argument, Wesnoth developer David White defends open-source applications on the App Store because they funnel money and interest back into open-source development:

  • Wesnoth has obtained significant revenue streams which have been used to fund the development of art and other content in areas in which Wesnoth needs improvement to compete with commercial offerings.
  • FLOSS [Free, libre, open-source software] gaming has been exposed to a significant audience which might be otherwise unaware of it.
  • Other FLOSS games are now also interested in distribution on the same platform.

In large part, these funds are possible precisely because the App Store regulations make it onerous to get Wesnoth on the iPhone/iPad in any other way other than through the original Wesnoth development team. Apple doesn’t allow multiple entries for the same app within the App Store, and Apple’s policies make it difficult to replicate the open-source code.

Can developers get the source code from the app developer’s website? Absolutely. Can they recompile it and distribute it to jailbroken iOS devices? Of course. It’s open source. It’s the platform that’s closed, and closure provides the opportunity to better monetize the code.

The platform effectively makes the open-source app proprietary without a single line of code licensed under a restrictive license.

This isn’t actually new. Think of Google (s goog). As Om Malik has written, infrastructure is Google’s key competitive advantage. Guess what? That same infrastructure that makes it possible to run open source at dramatic scale and efficiency is the very same infrastructure that makes it virtually impossible for anyone else to make any use of this open-source software.

Because Google runs this software internally, it isn’t required to release it.  Even if Google released every single line of code, small competitors couldn’t replicate its services, if for no other reason than they couldn’t afford the hundreds of thousands of servers necessary.

More fundamentally, even big competitors couldn’t replicate Google, for the reasons Tim O’Reilly pointed out at the Open Source Business Conference in 2009:

Tim asked a question to the audience: “Could anyone in the Open Source community build the infrastructure to deliver Google Voice Search?” The response: a stony silence. The implication? Vendor lock-in is [no] longer about proprietary source code. It’s about massive, hard-to-replicate data sets — making Google a potential Microsoft of the next decade.

Hardware and data make Google’s source code essentially useless to anyone but Google. Does this make it less valuable as a member of the wider open-source community? Hardly. Indeed, as I’ve said before, Google is the world’s largest “open-source company,” and a better open-source citizen than most. Why? Because Google can afford to give away mountains of code because its sales aren’t threatened by competitors (or customers) taking the services enabled by its code without paying.

Smaller software developers lack Google’s scale, of course, but may be able to achieve some of the same effects by writing applications to run on closed platforms like Apple’s.

Wesnoth’s developers don’t appear to have been motivated by the desire to sell more games because of Apple’s restrictive policies. Rather, they simply wanted the maximum audience for their creation. But the closed nature of the App Store is helping them to both find more users and more paying customers, all while leaving source code fully available for those who actually want it: developers.

Disclosure: I work for Canonical, a Linux vendor.

Related content from GigaOM Pro (subscription req’d):


Kyle Poole

This is a great overview about the challenges of bring FLOSS to closed systems, although somewhat outdated now with regards to the article about Wesnoth. Apple has recently relaxed some of their SDK agreement restrictions, which has made the Wesnoth contributors happy enough to continue to allow it to appear on the App Store. Besides, the ports for Android and Palm Pre are also in final testing now…

Tyler F. Long

Getting the larger open source community involved in the development of apps will increase the availability of programs at large, thus will increase sales overall by proxy, ultimately.

Tyler F. Long
Dunwoody Norcross GA

Comments are closed.