5

在查看各种许可证的详细信息时,我变得相当困惑,想知道是否有人可以帮我一把。基本上,我正在考虑制作一个简单的 SSH 客户端以在应用商店上发布。应用商店中的所有其他 SSH 客户端都收费,虽然我确信它们会比我制作的更好,但我想添加一个免费选项。现在我只是为个人使用或在我工作的公司内部开发它,我意识到这意味着我不需要担心 GPL 不兼容性,但我认为我最好将它设置为如何工作我首先想要的是,而不是在稍后阶段围绕不同的核心进行重建。

我的想法是使用预先构建的 SSH 库,但这个想法似乎充满了法律问题。

  • 但是,libssh 是在 lgpl 下发布的,我不想陷入法律混乱,即 iPhone 开发许可和 GPL ......我听说它们在很大程度上是不兼容的,如果可能的话,我宁愿避免任何法律雷区.
  • libssh2 是在 BSD 许可证下发布的,AFAIK 可以与 iPhone 开发许可证一起使用。完美,我想。然而,当我查看 为 iphone 编译 libssh2 的一些说明时,我注意到它使用了 GnuPG 中的 3 个库,这些库是在 (L)GPL 下发布的......这是否意味着使用 libssh2 会导致我进入与库?有什么方法可以将这些库替换为非 GPL 等价物吗?
  • 在 iPhone 兼容的许可证下是否有其他可用的 SSH 库?
4

1 回答 1

6

iPhone上的LGPL

这是一篇关于 iPhone 上 LGPL 的文章;

http://huyzing.com/2009/08/24/compatibility-between-the-iphone-app-store-and-the-lgpl/

因此,您的一个选择是使用任一 LGPL 库,但根据要求为您的用户提供您的应用程序的目标代码,或者在您的网站上提供它。(您还需要在某种“关于”屏幕中或在应用商店的文本中包含对 LGPL 的引用。)

但是,如果你在做一个免费的应用程序,为什么不发布源代码呢?也许其他人会加入并帮助你。

libssh2 和 GPL

从查看 libssh2 来看,在我看来,可以选择使用 opensslgcrypt 构建 - 我相信 gcrypt 是您所指的 (L)GPL 部分。openssl 不是(L)GPL,因此您可以改用它。

其他 ssh 库

我相信一些 iphone 应用程序正在使用 ssh 代码,它构成了 windows 的 putty ssh 客户端的一部分。这也是根据非 (L)GPL 许可发布的。

编写 ssh 客户端

要考虑的另一点是,要编写一个 ssh 客户端,ssh 部分只是成功的一半——如果你想使用任何全屏应用程序,你还必须编写一个功能相当齐全的 VT100/ANSI 终端仿真器。这可能有点涉及和/或有点痛苦的经历,但肯定是可能的并且是良好的编程体验!

于 2010-08-27T07:29:08.707 回答