So there was a tweet earlier today about open source software and it’s abuse in mobile end user software universe. It’s something that’s been seen before. Coder X has a project, needs some functionality, picks up some code under an open source license, ships it and while doing so forgets about the terms and conditions of the open source code and manages to get themselves into hot water for their proprietary software.
But the part that made me give pause because this problem has been around for decades was that when it comes to developing code for Android or iOS, well, it would seem by these numbers not many developers are using open source software to create their end user software.
The article states that 71% of Android and iPhone apps containing open source failed to comply with the four obligations of the open source licenses that OpenLogic analyzed.
Out of the 635 apps scanned, OpenLogic identified 52 applications that use the Apache license and 16 that use the GPL/LGPL license.
So at this point in the show one should point out that there are 350,000 apps in the iOS App Store and 250,000 apps in the Android store. We don’t know how they chose the roughly .1% of apps to scan. But isn’t the better question to all of this, why isn’t there more open source software in use in mobile applications? Only 10% what was scanned actually uses open source software in some capacity. Ouch.
Apple doesn’t exclude it. WordPress uses GPL stuff after all. VLC did until some of the copyright holders of the GPLed code they did use in their app contacted Apple and forced the app to be removed because they didn’t want it in the iTunes App Store. (Guess the copyleft part of the license where the next person has the same rights as the person who receives the code, you know that founding principle of open source doesn’t universally apply )
Android certainly doesn’t exclude open source software either.
Here’s a better reason. Remember when DOS, Windows, Amiga or the Mac got started. You know, all those microcomputers … I use that term explicitly because it reminds you that they were microcomputers as compared to the mainframe or small mini compters they were replacing. Did a whole bunch of mainframe software get ported to those boxes? Some but there was a whole explosion of new software to serve the new paradigm, even more so in Windows, Mac and the Amiga because the 80 column universe had evolved to something mouse based. Why use vi to edit your term paper when a GUI word processor gave you WYSIWYG?
We’re seeing that again in the mobile space. It’s a new usage paradigm. Yes sure, Android has a Linux kernel and yes it does have system libraries and things taken from various open source BSD projects. Same for iOS, BSD Mach kernel, lots of BSD library plumbing. But getting beyond that plumbing, to the interesting stuff, the apps that you interact with that’s where the action is. And in that way that’s where the open source universe has a problem. We, the open source universe, have a source base that’s engineered for a past era. We didn’t invent the Post PC era end user story and we’re not driving the post PC era end user story so our relevance is under pressure.
It gets worse….
The vast majority of users never cared what the license was of their software. It was a very rare Mac v Windows v Linux discussion that would be won by that talking point.
The developer landscape is different in that a higher representative sample care about open source and the concept of an open source license. But in this mobile space it would appear that the numbers that “care” has been reset.
This shouldn’t be surprising if as I assert that open source software isn’t engineered for mobile users. Or put another way, if open source software was solving mobile developers problems, wouldn’t the scanning that was done have revealing more open source software in use?
And now we’re to the heart of the matter, if you believe as I do that mobile is that next era in computing, then we as open source developers have a great deal of coding to be do. We’re several years behind iOS and Android. We need to decide where and how we want to be relevant. Are we add ons to existing mobile operating systems, WP7, iOS, Android or are we going to innovate in this space and sit side by side with the others and create our own ecosystem?
Remember the existing OSes don’t need new widget sets. They don’t need new rendering engines. They certainly don’t need vi. They’ve already created a mobile GIMP and countless other apps that people love and that the authors of made a bunch of money and did it all without any open source code.
Maybe the open source universe just wants to work on kernels and system libraries and that’s it. Leave everything else to proprietary solutions. That’s basically Android. I hope that’s not the case.