开发者

Using a BSD licence library, which uses a GPL library, for the iPhone [closed]

Closed. This question does not meet 开发者_Go百科Stack Overflow guidelines. It is not currently accepting answers.

This question does not appear to be about programming within the scope defined in the help center.

Closed 7 years ago.

Improve this question

I'm getting rather confused when looking over the details of the various licenses and was wondering if someone could give me a hand. Basically, I'm looking at making a simple SSH client to release on the app store. All other SSH clients on the app store charge and, although I'm sure they'd be better than what I'd make, I'd like to add a free option. For right now I'd be just developing it for personal use or within the company I work for, which I realize means I don't need to worry about GPL incompatibilities, but I figure I'd be best setting it up to work how I want in in the first place rather than rebuilding at a later stage around a different core.

My idea is to use a pre-built SSH library, but this idea seems fraught with legal issues.

  • libssh is released under lgpl, however, and I don't want to get into the legal mess that is the iPhone dev lisence and the GPL... I hear they're largely incompatible, and would prefer to avoid any legal minefields if possible.
  • libssh2 is released under a BSD license, which AFAIK can be used with the iPhone dev lisence. Perfect, I think. As I'm looking over some instructions for compiling libssh2 for iphone, however, I notice that it uses 3 libraries from GnuPG which are released under the (L)GPL... Does this mean using libssh2 leads me into the same legal minefield as libssh? Is there some way to sub these libraries for non-GPL equivalents?
  • Are there any alternative SSH libraries which are available under iPhone-compatible licenses?


LGPL on iphone

Here's an article about LGPL on the iPhone;

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

So one option you have is to use either of the LGPL libraries, but provide your users with the object code for your app on request, or make it available on your website. (You'd need to include the references to the LGPL in some kind of "About" screen too, or in your text on the appstore.)

However, if you're doing a free app, why not release the source code instead? Maybe other people will join in and help you.

libssh2 and the GPL

From looking at libssh2, it looks to me like there's the option to build with openssl or gcrypt - I believe gcrypt is the (L)GPL part you're referring to. openssl is not (L)GPL, so you can use that instead.

Other ssh libraries

I believe some of the iphone applications are using the ssh code that forms a part of the putty ssh client for windows. This is also released under a non-(L)GPL license.

Writing an ssh client

One other point to think about is that to write an ssh client, the ssh part is only half the battle - you also have to write a fairly fully featured VT100/ANSI terminal emulator if you want to use any full screen apps. This can be a bit involved and/or a bit of a painful experience, but is certainly possible and good programming experience!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜