¡Hola! He visto el proyecto que has hecho, y me gustó mucho la idea.
Sobre las licencias, es algo complejo entender todas las licencias y lo existente, por lo que te daré algunas guías, y eres tú el que debe decidir cual usar:
1. ¿Qué es una licencia?
El código de programación, al igual que dibujos, modelados, libros, etc. es de tu propiedad intelectual, por lo que sólo tú puedes decidir qué hacer con tu programa.
Comúnmente, si no estableces ninguna licencia, cualquier otra persona que use tu código sin tu permiso puedes denunciarlo. Por eso mismo, existen las licencias. Hablando de Software, varios proyectos han creado licencias completas que puedes usar (aunque también en realidad puedes crear la tuya simplemente escribiéndola, pero las hechas por fundaciones suelen estar mucho más completas defendiendo tus derechos y los de los demás).
2. Diferencias entre código privativo, abierto y software libre
Lo explicaré bastante rápido.
El código privativo no lo puedes ver, únicamente puedes verlo tú y hacer lo que quieras con él. Cualquier tipo de copia (incluso con ingeniería inversa si se copia exactamente tu código) puedes demandar por tus derechos intelectuales.
El código abierto si puedes ver el código, pero no modificarlo ni distribuirlo. En caso de hacerlo alguien, puedes demandarlo.
Y el Software Libre permite (según la licencia) ver su código fuente, estudiarlo, modificarlo y distribuirlo libremente. Cada licencia establece los requisitos para poder hacerlo.
3. ¿Qué licencia debo elegir?
Depende completamente de ti. No te recomendaré licencias privativas o abiertas ya que el foro es sobre código libre, cosa que sí recomendaré.
Existen muchísimas licencias, probablemente las más usadas son:
- GNU General Public License 3 (GNU GPL-v3): Si modificás un programa con la misma licencia, estás obligado a distribuir tus modificaciones bajo la misma licencia. Te recomiendo leer el resumen oficial. Existe también la Lesser y la Affero, en tu caso te recomiendo la común.
- MIT: Es una licencia bastante usada, básicamente podés usar, modificar y distribuir libremente el código, sin la necesidad de compartir los cambios que hayas hecho. Además te permite compartir software privativo bajo esa licencia. Te recomiendo leer el resumen oficial
- Mozilla Public License: Es una especie de punto medio, tenés las mismas libertades, pero cualquier cambio hecho a un archivo protegido con la licencia debe ser compartido.
- Apache 2.0: Es muy similar a MIT, sólo que si una persona reclama una patente en tu código protegido, será restringido de usarlo.
PD: Este es un resumen hecho a mi entendimiento, te recomiendo leer los resumenes y textos oficiales
4. ¿Cómo aplico una licencia?
No es nada del otro mundo. Sencillamente incluye en el código un archivo “LICENSE” o “COPYING” (puede tener extensiones como .txt, .md, o no tenerla) con el texto original de la licencia (No lo modifiques ni uses una versión traducida, siempre la original). Además te recomiendo incluir al principio de cada archivo un comentario aclarando la licencia que lo protege.
Si usás algún código de otra persona no compatible, podrías tener problemas legales, por lo que siempre asegurate de simplemente inspirarte o solicitar permiso por escrito del otro desarrollador.