Android and dual licensing present a glimmer of hope for GPLv2 in app stores
Unlike Apple and Microsoft, Google doesn't place limitations on the use of GPLv2-licensed components in the Android Market. However, companies are increasingly opting to build an application once with a set of core components and then tailor it for multiple device platforms. This strategy limits component license selection to a least-common-denominator approach across devices. Even if the Android Market allows GPLv2 components, if largely the same application is going to be available on the Apple App Store or Windows Marketplace, then GPLv2 components aren't the right choice.
With the vast amount of GPLv2 code available for use, the incompatibility between the App Store's (and Windows Marketplace's) terms of service on one hand and GPLv2 on the other is a problem in need of a fix. Stephen Walli, a Network World contributor and OuterCurve's technical director, proposed a solution that relies on dual licensing of GPLv2 components:
This suggests a way for developers that are strong believers in free software to also use the Apple App Store as a channel to get their software in front of a larger audience. The project could essentially create a dual licensing scheme using the GPL for its wider audience and a separate Apple App Store distribution license for the executable version and its derivatives that sits on the App Store and that further allows others to use and to publish the binary on the App Store.
The key challenge with this approach is for GPLv2-licensed open source projects to agree that creating a new App Store-friendly license is appropriate. Some developers who believe in the freedoms enabled through the GPLv2 will likely resist supporting a license that restricts user freedoms. Additionally, open source projects that rely on third-party open source components would require each third-party project to agree to a dual license -- or else find a replacement project -- before the parent could use a dual license.
Apply sound open source usage principles to App Store apps
The Apache 2.0 license doesn't have the same issue as GPLv2 when it comes to Apple's App Store terms of service, so it could become the license of choice of companies seeking to use open source.
Additionally, it's not a good plan to blame developers, contractors, or third-party service providers for improperly using open source software within your company's app store offering after the fact. Instead, ensure your company has guidelines and approval processes in place, just as you would for using open source in internal projects. Opt for a license scanning and governance product from vendors such as OpenLogic, Black Duck, or Protecode to validate that projects are adhering to your company's open source usage guidelines.
It's good practice for internal open source work and a must for apps you plan to distribute through an app store.
This article, "Open source and app stores: Where they mix, where they don't," was originally published at InfoWorld.com. Read more of Savio Rodrigues' Open Sources blog and follow the latest developments in open source at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.