A couple years ago, I would have said that network services and mobile computing were two new frontiers for software freedom, two new challenges, two new battles. But, despite some key differences, these two areas are so closely related and that I think we need a unified vision for addressing these as two parts of a whole.
Companies like Google have a unified vision. Look at Chrome or Android from Google’s perspective: the purpose of a mobile computer is simply to increase access to proprietary network services. These open source operating systems are designed to run proprietary applications and connect to proprietary network services. From Google’s perspective, mobile computing and network services go hand in hand — open source software is a way to increase the adoption of mobile computers complementing their proprietary network services. While Google’s goal is not software freedom, we should take note of how their strategy involves both mobile computing and network services together. We can’t effectively free one without freeing the other.
The free software movement needs a unified vision for network services and mobile computing. But what might that look like? StatusNet has an Android client, as does Libre.fm, but these are just more convenient ways to access network services from a mobile computer — not network services designed for mobile computing.
Look at the kinds of proprietary network services companies are developing for mobile computing. Google Latitude enables social location sharing, combining mobile positioning systems with online social networking. Last.fm’s mobile applications include some features for finding events based on your location. Google Goggles let’s you point the camera on your mobile computer at something and find information on that thing through Google’s search engine. Apple’s Facetime and Google+ Hangouts (not mobile quite yet…) are attempts to bring video chat to mobile and tablet computers. Social networking services like Facebook, Google+, and LinkedIn are focusing in on the mobile space as well.
What does free software have to offer? For location-based services, we have OpenStreetMap. StatusNet offers some location-sharing, but StatusNet for Android doesn’t seem to support this yet. Other than direct map programs, are there libre mobile applications making use of OpeenStreetMap? Could Libre.fm use mobile location data to highlight local free culture events? Regarding something like Google Goggles, are there many libre mobile applications can do something similar with, say, Wikipedia? (Mixare seems like a good example of this.) SIP and XMPP are great for video chat, but I’m not sure many users are aware of public XMPP or SIP services. How can we offer libre alternatives to Skype and Facetime on tablets? What kinds of opportunities are there for libre social networking services, like GNU Social or Diaspora, in mobile computing? What barriers are there to libre augmented reality or location-based services?
More importantly, beyond just emulating proprietary services, where might libre solutions offer new innovations? Where might free software have a distinct advantage, or something unique to offer? On desktop operating systems, the ability to easily distribute and repackage free software lent itself towards the development of package managers — applications that manage all your software installations and upgrades from one place, making it easy to find new software or keep your entire system up-to-date from one application. Meanwhile, on proprietary operating systems, you often have different update managers for each proprietary vendor. and upgrades often involve a purchase and don’t come as easily. Similarly, free software desktop operating systems provide much more desktop integration, as free software applications each contribute to a corpus of tools for the operating system, and distributions can customize software packages to make them work well together. On proprietary systems, each proprietary vendor tries to carve out their own space, and the distributor has limited options to customize software packages from other sources (or you end up with one company’s vision being ruthlessly enforced on any players in the ecosystem, as with Apple).
What kinds of advantages does free software have in developing a comprehensive approach to network services and mobile computing? Is it that libre solutions are often more distributed and less subject to surveillance or external control? That the user isn’t just a product for advertisers? I’m not sure yet myself, but this is something I think software freedom advocates need to consider more directly. Proprietary mobile computing offers convenient vertical integration with proprietary network services. What unique advantages does free software have at the intersection of mobile computing and network services?
Software freedom advocates need to think about network services and mobile computing together. If you take a look at the FreedomBox Foundation, for example, there are a lot of great ideas floating around about free network services… but there seems to be little mention of mobile computing. Yet, people are increasingly interacting with network services through their mobile and tablet computers, rather than just on their laptops. Bradley Kuhn offers another example. He never ceases to share excellent insights on software freedom for mobile computers and network services, but usually as two separate topics. For example, in a March 2010 post entitled Musings on Software Freedom for Mobile Devices, Kuhn writes:
We can take a page from Free Software history. From the early 1990s onward, fully free GNU/Linux systems succeeded as viable desktop and server systems because disparate groups of developers focused simultaneously on both operating systems and application software. We need that simultaneous diversity of improvement to actually compete with the fully proprietary alternatives, and to ensure that the “mostly FLOSS” systems of today are not the “barely FLOSS” systems of tomorrow. [emphasis added]
He’s absolutely right here, but network services form a third necessary category of software for success in the mobile space. In the same way that a libre desktop OS needs libre applications, a libre mobile OS needs libre network services. In a sense, to talk about software freedom on mobile computing without mentioning network services is like talking about building a free desktop operating system without mentioning the applications. And the interdependent relationship between mobile applications and network services is much more complex than application level software for a desktop OS.
It’s not just a question of which libre network services are missing, or which libre mobile applications are missing, but how libre mobile applications and network services can complement each other and work together. Success in one area depends on success in the other. We need to approach network services and mobile computing not just as two separate challenges, but as two parts of a whole, with a comprehensive vision and shared strategy. What might that look like?