Android: The Open Mobile Choice

If you want real programming freedom on mobile you need to write for Android. Both Apple and Microsoft have made it clear they want to have as little as possible to do with free and open-source software.

Recently there has been a bit of a hubbub over Microsoft forbidding the use of software using the GPLv3 open-source license and all similar licenses on Windows Phone 7 (WP7). Then, the boys from Redmond realized that by the strict letter of their new rules they had just forbidden the use of some of their own open-source applications on WP7. As Homer Simpson would say, “D'oh!”

Microsoft may be slow, but they get there eventually. Shortly after their error was pointed out, they explained that some other open-source licenses, including their own of course, were actually OK on WP7. And, oh by the way, they might consider opening WP7 up to software under other licenses. That’s big of them. Apple, of course, has long forbidden the use of GPLv2-licensed software.

I was recently asked why Apple and Microsoft was doing this. The answer is quite simple. Apple, and to a lesser degree, Microsoft are all about control. You see when you buy an iPhone, iPad, or a smartphone with WP7, you’re not really buying a device, you’re renting the use of a device.

Fred von Lohmann, then a senior staff attorney with the Electronic Frontier Foundation (EFF), explained in 2010 about how Apple went about locking out FOSS, and in general outline, Microsoft does things the same way: “The entire family of devices built on the iPhone OS (iPhone, iPod Touch, iPad) have been designed to run only software that is approved by Apple—a major shift from the norms of the personal computer market. Software developers who want Apple's approval must first agree to the iPhone Developer Program License Agreement. “

It’s not that way on PCs and servers. If you want to develop for a PC, you can do it anyway you like. Neither the operating system or computer vendor can stop you. On mobile devices, if Apple and Microsoft have their way, you’re locked into a closed eco-system.

People frequently think this is just a developer issue. It’s not. If I want to buy a Windows 7 PC and blow away Windows 7 and put Ubuntu on it I can. In fact, I usually do. If I want to use LibreOffice instead of Microsoft Office on Windows no one can tell me I can’t. On a iOS or WP7 device the vendors get to pick and choose what applications I’m allowed to run.

For example, I like the VLC Media Player. VLC used to be available on Apple’s iOS, but now it’s not. The problem? It’s GPLv2 license.

With Android, on the other hand, as a developer you’re pretty much good to go. Use whatever license you like, knock yourself off. The same is true for Android users. You’ll get the broadest choice of software available under any license using an Android device.

In the future, MeeGo, like Android a Linux-based mobile may offer developers and users alike a similar array of choice. Today, though MeeGo, is still a work in progress, and although Intel has stepped up to foster MeeGo, after Nokia abandoned it to partner up with Microsoft, we probably won’t see commercial MeeGo devices until late this year, if then.

For now, though if you want an open-source friendly smartphone or tablet, as either a user or a programmer, Android is your first choice. An iPhone or WP7? If you're like me and you don't like dealing with control freaks, just say no.