Apple and software freedom clashing again

Another app has to be removed from the Apple iTunes mobile App Store. This time, after GNU Go, it’s the iOS port of the popular free VLC Player because the terms of the GNU General Public License are incompatible with those of Apple’s store.

Difficult situation and I still think that the best way out is for FSF to sponsor a mobile app repository for free software applications. What would be better?

via How to avoid public GPL floggings on Apple’s App Store | ZDNet.

Beyond removing GNU software from mobile stores

Last week the Free Software Foundation asked Apple to either remove the game GNU Go from the iTunes App Store or change the terms of service on it. Apple chose to simply remove GNU Go from the store and the move was not a surprise, as FSF Compliance Engineer said in the blog post.  I am puzzled by this move.

I don’t think that FSF goal it to prevent iPhone users to run GNU software on their device, as David ‘Lefty’ Schlesinger paints it and seems to discuss,but nevertheless this is the immediate effect.  Mobile app stores and locked down devices are hostile to free/libre software and GPLv3 can have a difficult life in the mobile environment because of its ‘full installation instructions’ provision. Also, there are still too few free/libre mobile applications.

Having this in mind, a plausible explanation of FSF’s move was to educate free software developers that mobile app stores are not designed to respect users freedom. Fine, but the following question is: how to we proceed from here? What’s the next step of this education and what’s FSF’s plan to bring freedom to the users of mobile phones? I suggest for FSF to sponsor a mobile app repository for free/libre apps: it would have to run on non-free operating systems, but that’s what GNU had to do when there was no Linux. Also, it would be good and probably easy to extend the Free Software Directory to take mobile world into account. What else should FSF do to promote freedom in the mobile world?

Mobile Cloud Computing, Part II: Where do We go From Here?

Mobile cloud is going to be big, according to a study published by ABI research. And they’re not the only ones to say so.

In this second part of my thoughts about mobile cloud — which I hope we can all talk about at OSCON — I’ll try to find answers to this question: as a developer commited to free-as-in-freedom software, what would you need to do to get started?

In this who’s who in mobile open source, Funambol and Volantis are shown as the only companies offering service delivery platforms, demonstrating that there are many ways to develop free software applications but only a few solutions to build open mobile services with.

Linux support packages Wind River (also one of the most prominent integrators for mobile Linux stacks), MontaVista
Operating systems for feature phones: Purple Labs; for smartphones: Azingo, Access Linux Platform, A la Mobile, OpenMoko; for MIDs: Intel Moblin, Ubuntu Mobile. Also OKL4 is virtualisation (hypervisor) software for mobile phones.
Middleware GNOME’s GTK+ and related projects (e.g. D-Bus, Gstreamer), the graphics subsystem of Nokia’s Qt and the db4o database engine.
Application environments Google’s Android, Nokia’s Maemo, Nokia’s Qt, Eclipse eRCP, Sun’s Java phone ME, Motorola’s Java MIDP3, AOL’s Open Mobile Platform and Nokia’s Web Runtime
Browsers Apple’s WebKit (on the verge of becoming a de facto standard for web-centric service delivery) and Firefox Mobile
Service deliv. platforms Funambol (consumer email sync), Volantis (content adaptation)
Development tools Eclipse Foundation (manages the Eclipse IDE, used as the basis for Nokia’s Carbide, Wind River tools and many others). Plus RhoMobile – a new set of open source developer tools for creating connected enterprise apps on smartphones.
Industry initiatives Symbian Foundation (EPL license), Open Handset Alliance (APL2 license), LiMo Foundation (open source as it builds on top of Linux), GNOME Mobile and Embedded (LGPL-licensed GTK+ and related software)

On the other hand, proprietary mobile services are blossoming everywhere. Funambol recently listed and reviewed 11 mobile cloud sync services, from Apple MobileMe to Vodafone Zyb.

A minimum requirement are interoperable services implementing open standards, because users’ data must be preserved at all costs. Proprietary walled gardens create small monopolies that sometimes grow big and take away personal data from the users. Two recent cases demonstrated that users of mobile cloud services are exposed to serious problems: one with Amazon Kindle and the other with Palm Pre. Both are mobile devices, both rely on mobile cloud services for most of their usefulness. Kindle users that buy electronic books are realizing that they don’t end up owning anything and Amazon can too easily prevent users from enjoying the books they’ve bought.  The other disturbing news story reports that Palm Pre owners cannot access the music that they bought and stored in Apple’s iTunes: Apple still wants to own the music it sold its users and keep their data hostage.  I think these are just a visible signal of  proprietary services battling to own the users’ data.  If Kindle and iTunes used interoperable and open standards, which could be safely implemented in free/libre open source software, their users would not face much of these problems.

The pure mobile service frameworks available for freedom conscious developers are Funambol, which offers push notification, synchronization and device management, and Volantis, which offers content adaptation to mobile browsers. Rhomobile is another options, a mix between a development tool and a service delivery platform. Funambol is fully based on the Open Mobile Alliance (OMA) open standards Data Synchronization and Device Management, therefore services built with Funambol can easily respect users’ rights. The server aspect is complemented by the Java and C++ SDKs to develop native mobile applications for the devices. Rhomobile is based on Ruby and can be used to develop applications that act as being native but use the local web browser.

While Funambol and Rhomobile in theory can be used to develop free as in freedom mobile cloud services, there is still one big issue to solve: locked down devices. Network operators don’t want the users to be too free so almost all of them prevent users to run applications that are not digitally signed. RIM, Apple and to some extent also Symbian devices are all locked down, which renders users’ freedom in the mobile cloud a balancing act: on one hand a developer needs to obey the rules dictated by network operators and device manufacturers; on the other hand the same developer needs to find ways to deliver freedom to the users. In Funambol’s case, for example, the official iPhone client can only sync contacts because the official Apple SDK only allows that. Nonetheless, Funambol client for iPhone can sync also calendar accessing directly the sqlite database, but such version cannot run on the device unless it is unlocked (breaking Apple’s warranty).

This is only scratches the surface of the mobile cloud services for the freedom-concerned developers and users.  There are further issues to talk about, including:

  • device management,
  • how to push software updates to the devices,
  • security of data (since people tend to lose their phones),
  • how to keep data secure while transfering.

The free software movement should take the lead to address and solve these issues. I hope we can spark the discussion at OSCON. I’ll be available all days ping me any time. Follow me on identi.ca or twitter.

Locked devices, GPLv3 and the path to mobile freedom

iPhone lockedIn a recent discussion with friends I realized that tivoization is a sub-optimal world to describe the problem that the Free Software community has with freedom being controlled by those that control the hardware.  The word clearly targets one specific company, so the problem gets somewhat reduced in scope. The real issue is not limited to companies exploiting the hard work of free developers, removing with hardware constraints the very freedom that developers wanted to grant to all users. There is more than that, and this is especially visible in the mobile environment.

Almost all existing handsets require applications to be signed before they can be executed. Depending on the mobile platform, these signing keys can be cheap or expensive and given to all or only to selected people. All of them are personal and they’re not supposed to be shared with third party. GPLv3 and its sister licenses, Affero GPLv3 and Lesser GPLv3, require developers to release the full installation instructions which include the private keys to sign the application. This is not requested by the license only to the manufacturers of User Products, like the word tivoization seems to suggest, but to everybody distributing GPLv3 software on locked down devices, like iPhone or BlackBerry.

Free Software Developers that want to re-use or release new code under the GPLv3 licenses face a dilemma: decide not to support locked devices or circumvent the GPLv3 requirement to distribute the signing keys with an additional permission. Option one means that almost all of cell phone users out there (over 2 billion people in 2005) won’t get to know Mobile Free Software. Option 2 means surrendering to the power of AT&T, Verizon, Apple, Microsoft and the like. Funambol requires copyright assignment for all contributions, so it can distribute the source code of its mobile clients under the vanilla AGPLv3 license, and the binaries are under a different license. It’s a hack that works as long as developers trust the company not to breach the social contract and it has limitations.

On the other hand, the GPLv3 anti-lock provision is there to protect Free Software Users from the risk to be bullied by the network operators, since you can lose the warranty or be kicked out of the network if you run software that is not blessed by the gate keepers of the mobile cloud.

Is there a third option? Does relaxing the GPLv3 provision really mean surrendering to the powers of the telecom operators, who twist the arms of the proprietary manufacturers? How can the Free Software community change the broken rules dictated by the Evil Lords of the Wireless Cloud?