How to make app stores open source-friendly

App stores have their roots in open source and can return to those roots with scant business disruption. Just ask ... Microsoft?

These days, there's an app store on every Internet corner. Increasingly, they're being used as instruments of control by would-be monopolists seeking rents from their aftermarkets in the same way hardware vendors attempt this for connectors and supplies. Yet this abuse is built on a legacy of freedom. The pioneers were open source software communities; done right, app stores could once again become both convenient and open.

The heart of the idea that has become the app store was actually a solution to a different problem. The idea of having an install program that can resolve dependencies stretches back a long way -- indeed, the SysV format provided in AT&T Unix has long been used to deal with that problem and led to many derivatives, notably the dpkg system in Debian. But an open source system can have many dependencies that are outside the control of a single entity, and resolving them automatically is probably one of the most important innovations to have arisen in software.

[ Also on InfoWorld: Who controls Vert.x: Red Hat, VMware, or neither? | Track the latest trends in open source with InfoWorld's Technology: Open Source newsletter. ]

Systems like the Perl language's CPAN (introduced in 1995), Red Hat's RPM (introduced in 1997), and Debian's apt-get (introduced in 1998) were responses to that need and became crucial to the success of the systems they enabled. None of them seems to have ever involved an authorization step, however; the networked repositories containing the code itself were as open as the software they distributed.

When mobile phones started to gain the ability to run apps, many companies realized that installing them was going to be an issue. The solution was package management, but presented to the end-user as a shopping experience. Generally, these app stores were a failure, lacking the critical mass to attract developers because they were too fragmented across handset brands and carriers and because the apps involved were not sufficiently compelling -- until Apple embraced the concept.

Apple jumps in
Apple's App Store for mobile devices took the idea of shopping-themed package management and made it succeed by creating a compelling need for apps and by aggregating the markets of all their resellers. Neither alone would probably have been sufficient, but together, they were able to create the necessary critical mass. Other vendors have tried to follow suit; Google and Amazon have both been able to repeat the same trick successfully, using Android as a base. The obvious success of mobile app stores has led to their spread to other computing formats, with app stores appearing on Mac, Windows, and Linux desktops.

But in the process of bolting on the storefront, each has lost an important aspect of the original package management experience. By using the installation of software as a control point, the ability to have many individuals maintain quality control has been lost, and by linking that control point to monetization, the collaborative dimension of software creation has been diminished. Specifically, open source software is sometimes called out in developer agreements and in some cases discouraged or even forbidden. The incompatibility of Apple's terms with copyleft open source licenses led to action being taken against Apple over the popular VLC video player when it appeared in the Apple iOS store.

Despite this, open source software is endemic in app stores. OpenLogic found that 41 percent of the iOS apps they analyzed included open source code in their construction, and that trend is likely to have continued across other app stores. What's being concealed is the software freedom: It's simply not being passed on to end-users, but rather ends at the developer. Rather than raise their heads above the parapet and admit to using open source -- and pass the liberties it gave them on to their users -- developers prefer to stay silent about the open source in their apps and to keep their source code private.

1 2 Page
Join the discussion
Be the first to comment on this article. Our Commenting Policies