2010-08-26 8 views
5

Me estoy confundiendo bastante al revisar los detalles de las distintas licencias y me preguntaba si alguien podría echarme una mano. Básicamente, estoy buscando hacer un cliente SSH simple para lanzar en la tienda de aplicaciones. Todos los demás clientes de SSH que se encuentran en la tienda de aplicaciones cobran y, aunque estoy seguro de que serían mejores de lo que yo haría, me gustaría agregar una opción gratuita. Por ahora, solo lo estaría desarrollando para uso personal o dentro de la empresa para la que trabajo, y me doy cuenta de que no necesito preocuparme por las incompatibilidades de la GPL, pero creo que lo mejor sería configurarlo para que funcione. Quiero entrar en primer lugar en lugar de reconstruir en una etapa posterior alrededor de un núcleo diferente.Uso de una biblioteca de licencia BSD, que utiliza una biblioteca GPL, para el iPhone

Mi idea es utilizar una biblioteca SSH preconstruida, pero esta idea parece plagada de problemas legales.

  • libssh es liberado bajo la LGPL, sin embargo, y no quiero entrar en el lío legal que es el iPhone dev lisence y la GPL ... He oído que son incompatibles en gran medida, y sería preferir evitar cualquier campo de minas legal si es posible.
  • liberado libssh2 bajo una licencia BSD, que AFAIK puede utilizar con la instalación del iPhone. Perfecto, creo. Como estoy mirando por encima some instructions for compiling libssh2 for iphone, sin embargo, yo aviso que utiliza 3 bibliotecas de GnuPG que se distribuye bajo la (L) GPL ... ¿Significa esto utilizando libssh2 me lleva en el mismo campo de minas legal que libssh? ¿Hay algún modo de para sub estas bibliotecas para equivalentes no GPL?
  • ¿Hay alguna biblioteca SSH alternativa que esté disponible bajo licencias compatibles con iPhone?
+0

Está confundiendo LGPL con GPL. No són la misma cosa. Puede vincular dinámicamente con la biblioteca LGPL (siempre que el código de la biblioteca no se modifique) y no convertirá su proyecto en LGPL. Sin embargo, la vinculación con la licencia GPL (sin "L") hace que su proyecto GPL. Para preguntas GPL/LGPL, debe ponerse en contacto con [email protected] (http://www.gnu.org/licenses/license-list.html) – SigTerm

+0

No puede vincular dinámicamente bibliotecas en el iPhone. Esto parece implicar (pero IANAL) que solo puede usar bibliotecas LGPL en aplicaciones totalmente equipadas con GPL, incluso si eso. – hotpaw2

+0

Puede usar enlaces estáticos cuando usa LGPL, solo tiene que liberar los archivos de objetos compilados para su aplicación (o la fuente). – JosephH

Respuesta

6

LGPL en el iPhone

He aquí un artículo sobre LGPL en el iPhone;

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

Así que una opción que tiene es el uso de cualquiera de las bibliotecas LGPL, sino proporcionar a los usuarios el código objeto para su aplicación en la solicitud, o que esté disponible en su sitio web. (Tendría que incluir las referencias a la LGPL en algún tipo de pantalla "Acerca de" también, o en su texto en la tienda de aplicaciones.)

Sin embargo, si está haciendo una aplicación gratuita, ¿por qué no lanzar la código fuente en su lugar? Quizás otras personas se unan y te ayuden.

libssh2 y la GPL

De mirar libssh2, A mi me parece que hay la opción de construir con openssl o gcrypt - Creo gcrypt es la (L) GPL parte te refieres a. openssl no es (L) GPL, entonces puedes usar eso en su lugar.

Otras bibliotecas ssh

creo que algunas de las aplicaciones para el iPhone están utilizando el código ssh que forma una parte de la masilla cliente SSH para las ventanas. Esto también se libera bajo una licencia GPL no (L).

Escribir un cliente ssh

La otra cosa que pensar es que para escribir un cliente SSH, la parte SSH es sólo la mitad de la batalla - que también tiene que escribir un terminal VT100/ANSI bastante con todas las funciones emulador si quieres usar cualquier aplicación de pantalla completa. Esto puede ser un poco complicado y/o una experiencia un poco dolorosa, pero es ciertamente posible y una buena experiencia de programación.

+0

Hola Joseph, Gracias por una respuesta muy completa! Te votaría pero, como puedes ver, soy nuevo aquí y aún no tengo suficientes puntos para hacerlo. Buen punto en OpenSSL, pude obtener esa compilación utilizando un tutorial en www.x2on.de, pero estoy teniendo un poco más problemas con libssh2. Sigo recibiendo el siguiente error: ../libtool: eval: línea 947: error de sintaxis cerca del token inesperado '| ' ¿Alguna idea de cómo resolver esto? – Li1t

+0

Actual, es posible que haya encontrado el origen de mi problema aquí: https://trac.macports.org/ticket/22224 Todavía no resuelvo del todo mi problema, sin embargo. – Li1t

+0

Llegué al fondo. Edité el archivo libtool para cambiar los valores global_symbol_pipe y NM a los sugeridos, mientras que simultáneamente eliminaba las instancias adicionales de "link -dump -symbols" que aparecían en mi archivo Makefile (en comparación con la versión i386 que compilé) – Li1t

Cuestiones relacionadas