El otro día estaba leyendo sobre licencias. ¿Cuál sería la mejor para mis programas? Por inercia elegí la GNU/GPL, pero al leerla un poco caí en cuenta que es menos libre de lo que pensaba.
La GPL es una licencia copyleft, ¿que es esto?: Una licencia que, segun Wikipedia,
Comprende a un grupo de derechos de autor caracterizados por eliminar las restricciones de distribución o modificación impuestas por el copyright, con la condición de que el trabajo derivado se mantenga con el mismo régimen de derechos de autor que el original.
El problema es que, en esta licencia, si quieres incluír un pedacito de código en tu programa, sí o sí tenés que liberarlo bajo una licencia GPL-compatible. Es decir, si yo quisiera hacer un programa todo-en-uno, que incluya, por ejemplo, código de OpenOffice.org (GPL), Firefox (MPL, pero incompatible con GPL) y algún programa privativo muy chiquitio (pero gratis y de libre distribución) del cual obtive el código, pero no los permisos para liberarlo, no puedo sin liberar el código del programa privativo, cosa que no puedo, ni puedo incluír Firefox, por su incompatibilidad con la GPL.
Además no todo el mundo está de acuerdo con el Software Libre y la GPL, lo que les obliga a “reinventar la rueda” para sus propios programas ante la imposibilidad de usar el código supuestamente libre de otro, o, por sólo una (pequeña, si es grande ya se discute que lo privatice) parte del programa estar obligado a liberarlo entero.
Este blog está bajo una licencia Copyleft, que te obliga a usar la misma licencia que yo (además de darme reconicimiento, que es lo importante) si querés publicar o editar mi texto en otro lado, pero el texto no tiene código fuente, se puede usar tal cual, por lo que al final la licencia no importa tanto. Además no te obligo a liberar todo tu texto, sólo la porción en la que te basaste en el mío.
Otra licencia posible es la BSD o MIT/X, licencias muy similares entre sí, pero que también tienen un problema. Alguien “malo” puede modificar tu trabajo y privatizarlo, y cómo para ver las modifiaciones necesitas el código fuente, sería como que el trabajo duro lo hagas vos y el crédito se lo lleva el otro.
En un mundo ideal, en el que todo se comparte y se regala (como en Imagine de John Lenon) no necesitaríamos licencias ni propiedades, ni derechos de autor, dado que nadie cerraría el código porque sería visto mal. Pero desgraciadamente eso no pasa, y si liberamos bajo licencias 100% libres tenemos el riesgo de que alguien se aproveche y no te ayude, o tenemos que recurrir a licencias como la GNU/GPL, que no es completamente libre por una simle razón:
El ser humano no es libre
Y no hay nada que podamos hacer, al menos por ahora.






El ser humano es libre, pero generalmente utiliza su libertad para limitar sus libertades.
GPL vs BSD vs MiT… yo opto por BSD. ¿Tienes miedo de que alguien “malo” haga las cosas mejor que tú y cambie la licencia? pues minimo usa LGPL o una semegante.
Por: Byte Corrupto el 13 Marzo 2009
a las 16:14
Pues sí, tengo miedo. Lo ideal sería, para este mundo privado de libertades, una licencia que sólo te obligue a compartir el trozo de código que modificaste, no todo tu programa. Como la MPL, pero compatible con GPL
Por: nitsus el 13 Marzo 2009
a las 16:18
Si vas a usar una licencia compatible con la GPL, mejor que sea la misma GPL, sale igual. Si vas a elegir GPL, que sea la version 2 (la 3 es aun mas restrictiva).
Recuerda que al final, tú eres el que creo el codigo, si vas a hacer un programa opensource, considera los beneficios, no solo lo hagas por que “uso Linux y es la moda”. Ten en cuenta que un programa de codigo abierto no es ni será bueno solo por que es de codigo abierto, una buena planeacion considerando los beneficios que puedes aprovechar al tener el codigo abierto. Ten más miedo de los forks que de las “malas” empresas, por que un fork hace más daño, divide a la comunidad, duplica los esfuerzos.
Por: Byte Corrupto el 13 Marzo 2009
a las 23:44
El tema en esencia es complejo. Pero luego de muchas reflexiones, y leer ambas licencias (BSD/MIT y GPL) me quedo con GPL. ¿Por que? Por que por esencia soy respetuoso de la base de las leyes, y que estas seas consecuentes con ellas mismas, por lo anterior, GPL se adecua de la mejor forma (no explicable en un comentario)
Por: Azag el 13 Marzo 2009
a las 19:56
Es cierto, es muy complejo. Pero me parece que le GPL daña una de tus libertades: La de elegir la licencia que quieres. Es más, he decidido liberar mis proyectos (Hasta ahora no hay ninguno, pero tengo en mente un grabador de pantalla con streaming, conversión de formatos, subtítulos y esas cosas.) bajo licencias MIT. ¿Por qué? Para darle un beneficio a la comunidad de desarrolladores de todos los tipos.
PD: Me encantaría que lo expliques en el comentario
Por: nitsus el 14 Marzo 2009
a las 09:48
Si el código es tuyo puedes cambiarle la licencia cuando te de la gana, aunque sea GPL, BSD. Cuando el código no es tuyo, tienes que aceptar las condiciones de la licencia o no usar ese programa.
Por: Anónimo el 14 Marzo 2009
a las 17:20
No estoy de acuerdo contigo nitsus, mira, checa bien, si tu tienes acceso a un programa con licencia GPL, y lo deseas modificar, deberás liberarlo bajo la GPL, esto significa que otros pueden venir y usar tu programa mejorado y tener acceso al el en la misma forma en que tu tuviste acceso a el. Es decir, tu tuviste la libertad de mejorarlo, por lo que la GPL garantiza la misma libertad para otras personas. ¿que pasaría si ese programa que mejoraste hubiese tenido una licencia privativa?, la respuesta es obvia.
Por: Hack-Master el 14 Marzo 2009
a las 23:50
Es largo. Estoy escribiendo hace un tiempo algo al respecto, tal vez publique algo en mi sitio.
Por: Azag el 14 Marzo 2009
a las 12:21
La GNU/GPL más que una licencia libre, es una licencia que permite preservar la libertad.
En otras palabras, es una licencia que incentiva la libertad y al mismo tiempo impide el libertinaje (léase BSD).
Por: david.cs el 14 Marzo 2009
a las 16:35
El tema de este post es ese, que, para preservar la libertad, te la quita. Es paradójico, pero necesario.
Por: nitsus el 14 Marzo 2009
a las 18:23
Totalmente de acuerdo contigo david.cs
La GPL es exactamente lo que acabas de decir.
Saludos desde http://soportehackinglab.wordpress.com
Por: Hack-Master el 14 Marzo 2009
a las 23:51
Define libertinaje en contexto con las licencias de software.
El libertinaje es más subjetivo que la libertad, comunmente ententible como “las libertades que no nos gustan”.
Licencias como BSD no son libertinaje, solo que no le gusta Stallman ni a sus aferrimos seguidores.
Por: Anónimo el 17 Marzo 2009
a las 16:04
–NO ESTOY DE ACUERDO–
No estoy de acuerdo con tu artículo estimado colega nitsus, Stallman lo ha reiterado infinidad de veces, la licencia libre GPL te garantiza usar un ordenador en libertad, en realidad lo que te está impidiendo liberar tu mezcla de programas es la licencia privativa de tu trozo de código privativo, mas no la GPL. Por otro lado, Firefox se distribuye bajo una licencia trilicencia, MPL/GPL/LGPL así que no veo por que deba de haber problema.
Saludos desde http://soportehackinglab.wordpress.com
Por: Hack-Master el 14 Marzo 2009
a las 23:44
Ahh mira. No sabía lo de la trilicencia. Y está bien que no estés de acuerdo, es una artículo de opinión, muchas gracias por darnos la tuya.
Yo creo que el grupo de los usuarios de GNU/Linux se divide en 2 subgrupos principales:
1) Aquellos que adoran la GNU y la GPL y que andan por ahí diciendo que el SL es lo mejor y que el privativo es lo peor.
2) Aquellos que no están tan atados a la as licencias libres y a GNU, aunque las respetan y las usan, y ven tanto las partes malas como las buenas de este movimiento.
Durante varios meses estuve en el primer grupo, pero ahora cambió mi forma de pensar y entré en el segundo. Y al leer la GPL me pareció “enemiga de los negocios” o algo así. Pasa que a mi no me importa tanto el efecto “cadena” de la GPL, lo único que me interesa es reconocimiento de la gente que use mi código, y la mejor manera en la que me podrían reconocer mi trabajo es publicando sus mejoras a mi código así el resto la puede usar. Que la privatización del resto del programa pese en su conciencia.
Un ejemplo actual: Estoy tabajando en un juego. Va a ser largo (¿Hace cuánto tiempo no ves un juego que dure más de 2 días?) y entretenido (espero). Lo estoy haciendo en Blender, y pienso usar una licencia libre para él. Pero además pienso venderlo. El código estará a tu disposición vía torrent, pero si lo quieres precompilado lo tienes que comprar (aunque la diferencia sea entrar a blender y apretar la tecla Shift-P).
Este podría ser un gran ejemplo de un juego para GNU/Linux para empresas que nunca van a cambiar, como EA. Si yo lo libero bajo la GPL, éllos no van a usar mi código, y por pereza probablemente sigan lanzando sus juegos sólo para Windows.
Si yo lo hago privativo, pues nadie se va apoder beneficiar de eso que yo creé
Si yo lo libero bajo la licencia MIT, o BSD, Cualquiera podrá aprovechar ese código y usarlo para sus trabajos… Pero como bien dijo Byte Corrupto: El ser humano es libre, pero generalmente utiliza su libertad para limitar sus libertades…
Por: nitsus el 15 Marzo 2009
a las 13:23
Te vas a encontrar con un problema: no pasara tiempo antes de que alguien haga un torrent con el binario, o alguien haga un instalable, Freedom baby!
Para obtener ingresos de tu software abierto tendrías que “atar” al usuario de otra forma, un servicio online, contenido premium, soporte (?).
Por eso los videjuegos de código abierto no son muy largos, no tienen buenos gráficos o están incompletos, es un trabajo pesado que requiere cooperación y motivación (es decir, dinero).
Por: Anónimo el 17 Marzo 2009
a las 16:01
Y qué me importa?? Es bien sabido que si el juego es bueno recibe ingresos de todos modos! Sino, con la piratería que hay, todas las empresas de videojuegos estarían fundidas! Es más, los juegos en .blend no tienen binario, basta con entrar a el en blender y apretar P, o abrir blender con la opción –play.
Por: nitsus el 17 Marzo 2009
a las 16:43
Entonces 1) No dije que no obtuvieras ingresos pero hasta la pirateria te va a afectar a ti. 2) Aunque la pirateria es grande y si reduce ingresos (aunque no como aclaman las disqueras con perdidas de 1:1), se siguen obteniendo ingresos. 3) Un “juego que es bueno” debe de ser facil de usar y de instalar. Darle a tus potenciales clientes un .blend los confundira, por que nadie hace eso; punto.
Por: Anónimo el 17 Marzo 2009
a las 17:04
JUSTAMENTE esa es la diferencia. La versión en CD (o DVD) va a incluír una versión modificada de blender que lo único que hace es reproducir el juego. Esto te lo permite armar el propio blender con un par de clicks.
Por: nitsus el 17 Marzo 2009
a las 17:23
Que como blender es opensource, también tienes que liberar el código de esa “versión modificada”, por lo que cualquiera puede tomar, compilar y empaquetar esa version, burlando tu “sistema de seguridad”.
Por: Anónimo el 17 Marzo 2009
a las 22:36
Es que eso no es un “sistema de seguridad” en absoluto! Es sólo ir a File>Save game as runtime… en Blender.
Por: nitsus el 18 Marzo 2009
a las 12:24
Información relacionada:
http://softlibre.barrapunto.com/softlibre/09/03/15/1643216.shtml
Por: david.cs el 15 Marzo 2009
a las 15:46
nitsus, agradezco tu respuesta, y en efecto, de eso se trata, de discutir civilizadamente, pero nuevamente quiero comentar lo que escribes en tu comentario. Si es bien sabido que a la mayoría de las empresas informáticas les asuste la GPL es por la simple razón que ellos no desean la libertad, su único deseo es acaparar todo, ellos lo hacen por dinero y no por contribuir de alguna forma con el progreso humano, pero la GPL que defiende los derechos de los usuarios de computadoras otorgando la posibilidad que en el futuro cualquiera pueda usar una computadora en libertad.
Respecto a la BSD, sinceramente me encanta su filosofía (dominio público), lo malo comienza cuando alguien se apodera de tu esfuerzo o el de la comunidad para después privar la libertad, (me llega a la mente Walt Disney cuando hablo de BSD).
Por otra parte recordemos que la GPL se refiere a libre como libertad de expresión no a cerveza gratis. Esto es, si tu código es lo bastante bueno, puedes venderlo al precio que tu elijas, además de vender un software de calidad, tendrás con la GPL un valor agregado, que será otorgarle la libertad de que el comprador lo adapte a sus necesidades. Desde luego la GPL también garantiza el reconocimiento a tu trabajo.
Y tengo una duda, en tus comentarios dices que “al leer la GPL” te pareció no muy adecuada para ciertos campos, esto me da a entender que anteriormente usabas y promovías el uso de software del cual ni siquiera conocías su licencia ¿¿?? …eso no es bueno que digamos y suena equiparable a un usuario de windows que ni siquiera conoce las restricciones a que está sometido.
nitsus, un saludo afectuoso a ti y a todos tus lectores.
http://soportehackinglab.wordpress.com
Por: Hack-Master el 16 Marzo 2009
a las 17:54
Conocía la licencia, la entendía, y la apoyaba. ¿Acaso cuando te enteraste por primera vez del movimiento del SL no te pareció que era lo único posible, discutible y aceptable? ¿Y que la GPL venía a salvar al mundo del horrible y vírico Software Privativo que usabas hace sólo un mes atrás?
Ahi es cuando se forman los dichos 2 grupos. Los que se apegan a esa creencia, y los que se despegan. Yo me despegué, y empecé a ver la GPL con otros ojos. Y me pareció bueno escribirlo aquí.
PD: Felicidades por tu blog! Va en buen camino
Por: nitsus el 16 Marzo 2009
a las 19:23
Quiero comentar varios aspectos de lo leído ahí arriba:
La licencia de software libre, como su nombre indica, prima antes que el software permanezca libre. No es ninguna paradoja, pues es el objetivo de la licencia. Quienes quieren tergiversar, no se trata de una licencia anarquista o libertaria; sino de dar libertad al software y libertad de uso al usuario. No tiene libertad de cambiar la licencia porque no tiene los derechos de autor exclusivos. Cambiar la licencia podría dar derecho a privatizar el producto, que es lo que trata de evitar la GPL; en tal caso de querer dar permiso siempre puedes usar la MIT o BSD, que será libre igualmente y yo estaré igual de contento.
Cobrar por ella: Me parece muy bien, como dices/dicen alguien puede comprártelo y regalarlo legalmente (anónimo, olvídate de llamarlo piratería). Al igual que tú, pienso que la gente seguirá pagándolo a modo de donación aunque lo tenga disponible gratis, pero antes debe ser conocido.
El múltiple licenciamiento: Por un lado SUN tiene la licencia CDDL que permite tener trozos de código con otras licencias englobándolas en una licencia libre. Mozilla hace algo parecido con la MPL. Pero a lo que yo me refiero es licenciar un mismo software con múltiple licencia, de forma que puedes usar la que más te convenga. Hace poco vi unos drivers con licencia dual GPL & BSD, esto podría ser una solución a tus espectativas; lo podrían usar en BSD porque respeta sus forma de ver el software, pero además se podría mejorar por una comunidad con filosofía GPL y compartirlo con esa filosofía.
Por: Rutrus el 24 Marzo 2009
a las 01:59
No entiendo eso de la trilicencia… Yo hago un programa y lo licencio GPL y BSD, ahora viene un tipo “malo” que quiere usar mi código… ¿Ahora que? Obviamente va a querer usar la BSD porque podrá poder privatizarlo…. ¿O no?
Por: nitsus el 24 Marzo 2009
a las 11:24
Claro, se supone que ambas licencias son las adecuadas para tu software, y así tu software se podrá integrar con licencias GPL y con sistemas BSD puros. Si no quieres que tu software lo relicencien no pongas BSD y pon GPL. Yo antes de poner BSD a secas pondría (aunque sólo por cortesía) BSD+GPL.
Por: Rutrus el 7 Abril 2009
a las 13:00
Hola: desde luego me doy cuenta que no resuelve el dilema, pero ya desde Firefox 3.05 se ha solucionado esta divergencia, porque la Fundación Mozilla ha adoptado las GPL de GNU, es decir que (al menos por parte de Firefox) no tendrás problema
Por: elocon52 el 24 Marzo 2009
a las 11:34
Sean mas respetuosos con la lecensia GPL es la madre de tu GNU.
Por: mama21mama el 30 Marzo 2009
a las 21:17
nitsus te estas ahogando en un vaso de agua.
Libertad cada quien le pone la Licencia que le sale del forro a su trabajo. tan simple como eso, si quieres que tu juego sea libre y continue asi hasta despues de que hayas muerto, y sea mejorado por otras personas y siga siendo libre pues sabes cual es la licencia.
si te la das de tonto en liberar un código con una licencia que algún vivo pueda mejorar tu código, y hacerlo privativo y beneficiarse mientras tu no ganaste nada, pues estas en tu libertad de hacer con tu software lo que tu quieras, si quieres ganar dinero pues no muestras el código fuente.
yo realmente si voy a liberar código, prefiero que continué así, libre que ningún vivo se aproveche de un trabajo que hice para ser libre, yo le metería la GPL, la BSD pues ya todos sabemos lo que puede pasar.
Se Libre o no lo seas, hay termino medio pero si me dan a escoger prefiero ser totalmente libre a ser libre hoy y mañana, pero que quizás pasado mañana me puedan quitar mi libertad.
Por: Eduar2 el 23 Julio 2009
a las 23:11