June 09, 2010, 1:00 PM —
It started when I heard that National Public Radio (NPR) had an Android app last week. Actually, I'm sure they had the app earlier than that, but it was the news that this application was being open sourced by NPR that brought it to my attention.
While I have been grooving on my new phone, I haven't been downloading things willy-nilly yet, because my current lack of travel plans means that I'm in the home office a lot and therefore don't need a fully stocked mobile platform yet.
Still, the news that NPR's app was "built by Google developer Michael Frederick as a 20% project, as Google allows its engineers to spend 20% of their time on projects they're passionate about" was enough to at least get this downloaded and running on my phone.
If it had been anything else, I might have let it end there, but curiosity got the better of me as I started wondering... which license was this application using? Turns out, after a little bit of digging, the NPR Android application is released under Apache License 2.0. This was cool by me.
But then, I got to thinking some more. Which is always a precursor of trouble.
Hm, I thought, I wonder how Android applications are licensed?
It turns out this is a tricky question to answer, since there's no fast way of tracking the licenses of each individual application. Even Google doesn't really know: its Android Market is a distributor of apps, not a forge. It would be like asking a big retailer to know what licenses the software on their shelves used.
But while there is no quick way for figuring out which licenses are used for all applications on Android, I was able to get a sample of data from one source of open Android projects, Google Code. This obviously won't tell us how many proprietary vs. free and open apps there are for the Android platform, but it can deliver a snapshot of free and open apps from one popular Android code repository.
So how does this break down? A search for Android apps under the GPL on Google Code returns 49 apps, not including the seven LGPL apps found. Running a similar search for Apache-licensed applications returns 55 applications. BSD-type applications came back with just 14 apps.
Now, don't run off and say "Brian Proffitt only finds 118 open source apps for Android" or "Linux advocate trashes BSD license with lame data." No. I know the limitations of this data, and you should, too. Google Code is just one repository/forge amongst many that host Android applications--it's just the easiest I've found to search today. If someone wants to find more data and add to the conversation, by all means.
Looking at this (very small) sampling, though, I have to say I was a little surprised that the GPL numbers were basically on par with the Apache numbers. After all, the Android platform itself is under Apache, for reasons explained so well by Ryan Paul, Google links to the article in their Android FAQ.
This is not to slam the GPL per se, but one could assume that developers tend to use the same license for their apps as the platform for which they're coding. But in this particular case, there's not much of a disparity. If you add the Apache and BSD licenses together, then these so-called permissive-licensed apps (69) do have an edge over the copylefted apps (56), but not much. Certainly not significant over such a small sample of apps among the thousands of Android apps out there.
I am still curious to see the proportion of proprietary apps to open apps on the Android platform. My gut tells me that with so many commercial vendors, the chances seem high that there's a much bigger share of proprietary apps on the Android platform.
But I could be wrong. Since Android itself is open, perhaps the applications written for it will follow the lead of the little green 'droid and be open, too.