2011-04-14 32 views
11

我从来没有写过iphone/android应用程序。 这些天,我打算帮助一个朋友做这件事。GPLv2是否与iOS App Store和Android Market兼容?

该应用程序是一种电子书:一个简单的应用程序来浏览我的朋友的版权书的内容。 我想了解尽可能少花时间。 应用程序逻辑非常简单,很多努力都是关于内容和图形。但我的需求是,应用程序的外观和感觉对于android和iphone平台都是一样的。为了实现这些目标(快速写入并在不同操作系统上共享外观),我正在考虑使用GPL 2.0许可的库。 为了做到这一点,我必须尊重GPL许可证和我的朋友在书籍和相关图像上的版权。 所以我想知道两件事情:

  1. 是一个应用程序中使用与Android兼容GPL 2.0库和iPhone市场的地方写的?我可以在这些市场上销售吗?

  2. 我知道如果我使用GPL 2.0许可软件,我也必须发布我的应用程序源代码(当然,我会这样做)。但是内容呢?他们必须免费发布吗?我的意思是,我可以将GPL 2.0应用放在那些商店(在我的网站上发布代码),同时保持图书的内容和图像专有,并且只能通过市场购买应用程序?

在此先感谢第一

+0

根据http://www.zdnet.com/blog/open-source/no-gpl-apps-for-apples-app-store/8046 GPLv2不符合Apple的服务条款,他们禁止从商店中的应用程序。我更喜欢LGPL或其他类型的iPhone开发许可证,但我对Android市场地位一无所知。 – Kay 2011-04-14 14:54:12

+3

您可以遵守这些许可证没有问题。问题是* Apple *不能。 – 2012-06-06 11:04:46

回答

3

第一件事:IANAL。

+0

根据我的理解,如果他所链接的代码是GPL,他不能将其作为LGPL发布,它可以从LGPL - > GPL开始工作,而不是GPL更具限制性的其他方式。 – 2012-07-08 19:42:28

+1

LGPL要求用户可以用新版本替换该库。苹果公司不允许这么做,所以LGPL在应用商店也是不合法的。 – trampster 2013-10-01 06:14:36

3

如上所述,苹果App Store与GPL不兼容。另外,如上所述,Google Play与GPL兼容。但是,值得一提的是,有些人解释GPLv3“反tivoization”(Richard Stallman:“Tivoization意味着计算机包含GPL覆盖的软件,您无法更改,因为如果设备检测到修改过的软件“)规定禁止在Google Play上发布内容。然而,很多人认为没关系,因为您不需要需要 Google Play开发者帐户才能在Android上安装应用程序,因此人们可以修改您的源代码并在没有您的私钥的情况下使用这些修改。就我个人而言,我认为在GPLv3下分发Google Play应用程序而无需释放密钥是可以的,因为侧载应该防止“tivoization”。然而,IANAL并没有在法庭上进行过测试。

这当然不适用于Apple App Store,即使GPL和App Store没有其他问题,您也必须将您的私钥与源代码一起分发人们可以安装您的修改(iOS不允许您下载应用程序),Apple的ToS禁止这些修改。至于资产,请记住许多较老的id游戏(包括id Tech 3游戏在内)都有GPL下的源代码,但保留资产的所有权。许多免费软件游戏都做同样的事情:使用免费软件许可证的游戏引擎以及其他资源。例如,CubeSauerbraten都有根据zlib许可证发布的源代码,而资产是专有的。