One of the reasons a lot of big companies shy away from using open source software is because the plethora of open source licenses can make things confusing. The licenses themselves can be confusing, as there are a lot of grey areas with very little case law to help make things clear. Some open source licenses are compatible with certain other open source licenses, but completely incompatible with others. Of course, open source software does get used, intentionally and unintentionally, in a great number of commercial products, and I think we’re seeing more and more companies figuring out how to “Do The Right Thing” with respect to license compliance.
A report unveiled today at AnDevCon, an Android developer conference in San Francisco, raises some questions about the use and misuse of open source software in apps for both Android and iOS devices. OpenLogic, a company that advocates for and helps ensure the proper use of open source software, has run their OSS Deep Discovery license compliance scanner against a number of apps in both the Android Market and the Apple App Store and found a non-trivial number of license violations.
OpenLogic looked at a total of 635 apps across both platforms: 112 Android apps and 523 iOS apps. The selection consisted of the top ten paid and free apps in various categories (games, news, productivity, etc), and for iOS apps it included those featured in TV advertisements. Additionally, OpenLogic identified apps released by the top 25 Fortune 500 companies and included them in the set of apps to scan. Of all of these apps, 52 were found to be using the Apache Software License and 16 using with the GPL or the LGPL.
Compliance with these licenses isn’t exactly hard. For the Apache Software License, the developer is obligated to provide a copy of the license itself along with any notices or attributions required by the licensed code. For The GPL and LGPL, the developer is obligated to provide a copy of the license and either provide the source of the licensed code, or provide a written offer to give the source code to anyone who uses the binary of that code.
OpenLogic reviewed each of the apps identified as using open source code to determine whether they were complying with the terms of each license. 71% of the app using open source licenses were deemed non-compliant. This means, for Apache licensed code, that the license and/or the notices/attribution weren’t provided; and for GPL and LGPL the license wasn’t provided and/or no means to obtain the source code was provided. Additionally, some of the apps identified by OpenLogic as non-compliant also contained their own extensive EULAs that claimed sweeping copyright over the whole work, which simply cannot be true if open source code was utilized.
The non-complaint apps are not being named at this time. OpenLogic claims they’re not interested in shaming developers, but in raising awareness of open source license compliance in general. For some of the apps, like those released by Fortune 500 companies, they may not have been developed in-house so the license violations may not have been an intentional choice by the company that distributed the app.
The specifics of the OSS Deep Discovery scanning techniques aren’t public, but I did have the opportunity to speak with Kim Weins, Senior Vice President of Marketing, about the report. I asked her how confident OpenLogic was that they weren’t simply seeing a bunch of false positives, since the iOS apps were binary only with no source code against which to compare. She stated that they’re very confident in their results, and that they take an extremely conservative approach to analysis. For example, if OSS Deep Discovery finds evidence of the use of JQuery,which is dual-licensed, OpenLogic gives the app developer the benefit of the doubt and assumes JQuery is being used under the terms of the MIT license, as opposed to the GPL license.
The results of OpenLogic’s scan raise some interesting questions. The Free Software Foundation has stated that the terms of service imposed by the Apple App Store are not compatible with the requirements set forth in the GPL, and Apple has removed a number of GPL-licensed apps from its store.
Says Kim Weins:
“Mobile applications are going to be the new frontier for open source compliance. The lack of awareness and understanding about open source compliance means that any brand or organization creating mobile applications can be at risk. Still, open source compliance need not be difficult. It simply requires understanding all the open source used in your application and ensuring you comply with the requirements of those licenses.”