Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪些开源许可证与Apple™x27兼容;s的iPhone及其官方应用商店?_Iphone_Open Source_App Store_Licensing - Fatal编程技术网

哪些开源许可证与Apple™x27兼容;s的iPhone及其官方应用商店?

哪些开源许可证与Apple™x27兼容;s的iPhone及其官方应用商店?,iphone,open-source,app-store,licensing,Iphone,Open Source,App Store,Licensing,我正在编写一个iPhone应用程序,我想使用第三方库来实现它的部分功能。我打算通过应用商店销售,我的代码不会开源。哪些开源许可证允许在苹果自己的条件下制作衍生作品并发布它们?这不是法律建议,我不是律师,但听起来你需要一个具有BSD或Apache许可证的库。如果您正在开发一个使用开放源代码库的专有桌面程序,就会出现这种情况。我不知道苹果是否对iPhone应用程序有任何进一步的限制。我认为LGPL不适用于iPhone应用程序 问题是iPhone运行时不允许您将共享库(或框架)与应用捆绑在一起。只允许

我正在编写一个iPhone应用程序,我想使用第三方库来实现它的部分功能。我打算通过应用商店销售,我的代码不会开源。哪些开源许可证允许在苹果自己的条件下制作衍生作品并发布它们?

这不是法律建议,我不是律师,但听起来你需要一个具有BSD或Apache许可证的库。如果您正在开发一个使用开放源代码库的专有桌面程序,就会出现这种情况。我不知道苹果是否对iPhone应用程序有任何进一步的限制。

我认为LGPL不适用于iPhone应用程序


问题是iPhone运行时不允许您将共享库(或框架)与应用捆绑在一起。只允许使用单二进制应用程序。LGPL基于将共享库与应用程序捆绑在一起的假设。直接链接仍然是被禁止的。

关于LGPL,我认为St3fan是不正确的,但Louis Gerbarg是正确的:可以在封闭源代码的iPhone应用程序中使用LGPL库,但有限制

如果您看一下,您可以阅读“或者,如果提供了源代码或可链接的对象文件,则允许使用静态链接库。”

正如Louis Gerbarg所提到的,如果您使用LGPL库,只要您免费提供客户获取应用程序并链接它所需的对象(例如.*.o)文件,您就可以保持应用程序的源代码关闭

我深入探讨了这个问题


库的LGPL许可证对应用程序的详细要求:

d) 执行以下操作之一:

0)根据本许可条款,以适合用户的形式,并根据允许用户将应用程序与链接版本的修改版本重新组合或重新链接,以生成修改后的组合作品的条款,传达最小的对应源和相应的应用程序代码,以GNU GPL第6节规定的方式传送相应的来源。

(我不是律师。)

静态对象文件链接可以解决如何允许使用LGPL许可代码的应用程序在不分发其源代码的非LGPL部分的情况下可用的问题


但LGPL作为GPL的一个变体,似乎给iPhone应用程序开发带来了一个更大的无法克服的问题,即创建和分发任何iPhone应用程序所需的开发工具只能在苹果提供的与GPL不兼容的条款下使用。也就是说,有一个100美元/年的费用,并有许多条款和条件,这些工具的使用不是GPL许可证的一部分。苹果iPhone开发者工具的许可条款似乎与GPL的精神不符,也许也与GPL的文字不符。

如果你不发布源代码,你就不能使用任何严格的copyleft许可。在任何情况下都不能使用任何基于GPLv3的许可证,因为iPhone发行版与no Tivoization条款冲突

如果您使用的是LGPLv2,那么您必须以可链接的格式提供您的程序,这可能是可接受的,也可能是不可接受的(至少它不是源代码),这可能是您不想处理的事情,除非库提供了很多好处

如果库中有一个版权所有者,您可以随时查看是否可以获得许可证例外


典型的BSD/MIT/Boost/任何许可证都不会有任何问题。有很多开源/自由软件许可证,其余的你必须阅读并查看。

当我尝试时,我在网上问了一个类似的问题。到目前为止,我的理解是“LGPL与AppStore不兼容”。previous也会收到回答:no.

Wunderradio就是一个很好的例子。他们使用ffmpeg和其他LGPLv2许可框架,并在其网站上提供.o文件

奇怪的是,他们还为自己的应用程序提供了完整的源代码


苹果应用商店与FSF的copyleft理念不兼容,该理念存在于GPL和LGPL以及Affero GPL的所有版本中。苹果应用商店不允许用户免费获取、修改软件,然后在自己的设备上自由运行。他们要求你使用DRM,每年支付100美元,同意他们的附加条款,等等。这里有一篇相当不错的文章:

在应用商店之外为iOS分发GPL/LGPL软件是完全合法的,问题在于苹果应用商店。所以我建议游说苹果改变他们的限制。Mac OS X和iOS甚至从根本上依赖于GPL/LGPL软件(如gcc和更多),因此苹果享受着自由,但却拒绝给用户同样的自由

对于App Store兼容的许可证,您需要使用非常许可的许可证,如BSD、MIT、Apache或public domain;博士:

LGPL和应用程序存储有一些不兼容之处,这意味着您无权在启用DRM的应用程序存储或锁定的设备上分发LGPL代码

最好在其他较宽松的许可证(如Apache2许可证、Microsoft公共许可证或MIT X11许可证)下寻找库的替代实现

更长:

LGPL声明:

该要求可能与许可证相矛盾 其他专有库的限制,通常不会 随操作系统一起使用。这样的矛盾意味着你不能 在您需要的可执行文件中同时使用它们和库 分发

将LGPL代码与专有代码静态链接的权利来自LGPL第6节。除授予的权利外,本节还涉及贵方的要求