2010-08-26 8 views
5

Je commence à être confus lorsque je regarde les détails des différentes licences et je me demandais si quelqu'un pouvait me donner un coup de main. Fondamentalement, je cherche à faire un simple client SSH à libérer sur l'App Store. Tous les autres clients SSH sur l'App Store charge, et même si je suis sûr qu'ils seraient mieux que ce que je ferais, je voudrais ajouter une option gratuite. Pour l'instant je serais juste en train de le développer pour un usage personnel ou au sein de l'entreprise pour laquelle je travaille, ce qui signifie que je n'ai pas besoin de m'inquiéter des incompatibilités de la GPL, mais je pense que je ferais mieux de le faire. Je veux en premier lieu plutôt que de reconstruire à un stade ultérieur autour d'un noyau différent.Utilisation d'une bibliothèque de licences BSD, qui utilise une bibliothèque GPL, pour l'iPhone

Mon idée est d'utiliser une bibliothèque SSH préconstruite, mais cette idée semble lourde de problèmes juridiques.

  • libssh est publié sous LGPL, cependant, et je ne veux pas entrer dans le désordre juridique qui est le dev iPhone lisence et la GPL ... J'entends qu'ils sont largement incompatibles, et préfère éviter les champs de mines juridiques si possible.
  • libssh2 est libéré sous licence BSD, que AFAIK peut être utilisé avec la déviation de l'iPhone. Parfait, je pense. Comme je suis à la recherche sur some instructions for compiling libssh2 for iphone, cependant, je avis qu'il utilise 3 bibliothèques de GnuPG qui sont libérés sous la (L) GPL ... Est-ce que cela signifie à l'aide libssh2 me conduit dans le même champ de mines que juridique libssh? Existe-t-il une manière de sous-traiter ces bibliothèques pour équivalents non-GPL?
  • Existe-t-il d'autres bibliothèques SSH disponibles sous les licences compatibles iPhone?
+0

Vous confondez la LGPL avec GPL. Ce n'est pas la même chose. Vous pouvez créer un lien dynamique avec la bibliothèque LGPL (tant que le code de la bibliothèque n'est pas modifié), et cela ne transformera pas votre projet en LGPL. Cependant, la liaison avec GPL (sans licence "L") fait de votre projet GPL. Pour les questions GPL/LGPL, vous devez contacter [email protected] (http://www.gnu.org/licenses/license-list.html) – SigTerm

+0

Vous ne pouvez pas lier dynamiquement les bibliothèques sur l'iPhone. Cela semble impliquer (mais IANAL) que vous ne pouvez utiliser les bibliothèques LGPL dans des applications iOS entièrement GPL, même si cela. – hotpaw2

+0

Vous pouvez utiliser la liaison statique lors de l'utilisation de la LGPL, il vous suffit de libérer les fichiers objet compilés pour votre application (ou la source). – JosephH

Répondre

6

LGPL sur iphone

est ici un article sur LGPL sur l'iPhone;

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

donc une option que vous avez est d'utiliser soit des bibliothèques LGPL, mais fournir à vos utilisateurs le code objet pour votre application sur demande, ou le rendre disponible sur votre site. (Vous devez également inclure les références à la LGPL dans une sorte d'écran "À propos de" ou dans votre texte sur l'appstore.)

Cependant, si vous faites une application gratuite, pourquoi ne pas la code source à la place? Peut-être que d'autres personnes vont se joindre à vous et vous aider.

libssh2 et la GPL

En regardant libssh2, il me semble que il y a la possibilité de construire avec OpenSSL ou gcrypt - Je crois gcrypt est le (L) partie GPL vous faites référence à. openssl n'est pas (L) GPL, vous pouvez donc l'utiliser à la place.

Autres bibliothèques ssh

je crois que quelques-unes des applications iPhone utilisent le code ssh qui fait partie du client ssh à mastic pour les fenêtres. Ceci est également publié sous licence non-L (GPL).

Rédaction d'un client ssh

Un autre point à penser est que d'écrire un client ssh, la partie ssh est seulement la moitié de la bataille - vous devez aussi écrire un terminal VT100/ANSI assez riche en fonctionnalités émulateur si vous souhaitez utiliser des applications en plein écran. Cela peut être un peu impliqué et/ou une expérience un peu douloureuse, mais est certainement possible et bonne expérience de programmation!

+0

Salut Joseph, Merci pour une réponse très complète! Je vous voterais mais, comme vous pouvez le voir, je suis nouveau ici et je n'ai pas assez de points pour le faire. Bon point sur OpenSSL, j'ai été capable de compiler très bien en utilisant un tutoriel sur www.x2on.de, mais j'ai un peu plus de problèmes avec libssh2 lui-même. Je continue d'obtenir l'erreur suivante: ../libtool: eval: ligne 947: erreur de syntaxe près du jeton inattendu '| ' Des idées pour résoudre ce problème? – Li1t

+0

En fait, j'ai peut-être trouvé la source de mon problème ici: https://trac.macports.org/ticket/22224 Toujours pas tout à fait résoudre mon problème, cependant. – Li1t

+0

Je suis allé au fond des choses. J'ai édité le fichier libtool pour changer les valeurs global_symbol_pipe et NM aux suggestions, tout en supprimant simultanément les instances supplémentaires de "link -dump -symbols" qui apparaissaient dans mon Makefile (comparé à la version i386 que j'ai compilé) – Li1t

Questions connexes