Dos clases de libertad: GPL y BSD

Es gracioso ver cómo la libertad puede ser un concepto tan complejo e interpretable. Prueba de ello son las licencias de software, existen por decenas, y si nos vamos al ámbito del Software Libre nos encontramos dos que interpretan la libertad desde puntos de vista totalmente opuestos.

BSD y GPL, ambas en algún momento cohartan algunas libertades, vamos a ver.

gnu-gpl-logothumbnailLa licencia GPL, General Public Licence permite a los usuarios utilizar libremente el código del programa siempre y cuando respeten la autoría original y liberen a su vez el código con la misma licencia.

Esto quiere decir que si creas un programa X y otro lo quiere utilizar deberá publicar el resultado de su trabajo bajo las mismas condiciones de la licencia original, si quiere crear un software privativo no puede y si quiere crear un software libre pero con otra licencia tampoco puede.

En el fondo, lo que logra el desarrollador es condicionar el uso de su trabajo a los mismos términos en los cuales él comenzó el desarrollo de su software, con añadidos incluídos siempre será libre y siempre será GPL, aunque esto pueda causar algún problema.

bsd-bigPor otro lado la licencia BSD. Es una licencia que para sus detractores es prácticamente una licencia de software libertino, más que libre. Si creas el mismo programa X y otro lo quiere utilizar, por ejemplo, Microsoft a quien le ha gustado cómo trabaja tu código, lo podrá tomar libremente, sólo respetando tu autoría pero sin liberar los cambios que hayan hecho.

Lo que el desarrollador logra es que su código sirva para cualquier propósito y, con código abierto o sin él, el siguiente desarrollador pueda elegir con libertad qué hacer con su propio trabajo.

Estamos ante dos conceptos de libertad:

El de GPL: Libertad para compartir.
El de BSD: Libertad para distribuir.

Esto es como un abismo y una cumbre puestas en comparación, serán ustedes los que digan cuál es el abismo y cuál la cumbre.

¿La GPL es buena aunque coharte la libertad del desarrollador de distribuir?
¿La BSD es buena aunque ponga en peligro el desarrollo de más software libre?
¿Te quedas con alguna? Fundamenta tu respuesta.


Categorías

General

edumix

Ingeniero Informático de Profesión y Desarrollador Web de vocación. Amante de las Nuevas Tecnologías e Internet. "Linux Adicto" y en contacto... Ver perfil ›

23 comentarios

  1.   McLarenX dijo

    Yo defiendo más GPL fundamentalmente por el buen ejemplo que has puesto. No me apetece que una empresa que gana cientos de miles de dólares por segundo se aproveche de mi aportación libre y sin ánimo de lucro para lucrarse ellos. Si quisiera que mi código fuera lucrativo le pondría una licencia privativa.

    Cuando un desarrollador crea código libre lo hace para beneficiar a la comunidad, no a las grandes empresas que, encima, desean destruir el software libre.

    He dicho.

  2.   Isengrin dijo

    Un tema delicado…
    Y un gran dilema. La GPL me parece demasiado estricta, pero tampoco me hace gracia que la gente use mi trabajo… en fin, hay más licencias, es cosa de leer todas con detalle (que flojera, lo se).

  3. Soy de la opinión de que cuando se cataloga algo, se nombra, se asocia, etc… ya pierde su libertad.

    Todas las formas de software libre son válidas, y todos somos libres de elegir lo que nos gusta e interesa en un momento dado. Somos libres de decidir: eso es lo auténtico.

  4.   DrukenMaster dijo

    Holas!!!… creo que la GPL esta bien, por que esa es la idea del Software libre, que todos compartamos en bien mutuo, pero con BSD eso se pierde, por que tiene la opcion de cerrar su desarrollo, habiendo aprovechando el trabajo de muchos otros. en cambio con la GPL se asegura que siempre existira la colaboracion.

    Saludos.

  5.   Nacho dijo

    Para mi no hay mucha duda, la bsd la veo como un cáncer para el S.L. Tú haces un programa, otro lo coge y lo convierte en privativo (CEDEGA con wine, sin ir muy lejos…) y con código cerrado, ya hace lo que le pase por los huevos.

    No me parece.
    Lamentablemente, el SL aún necesita defensas de corporaciones y demás buitres. Hasta que eso no sea así, la GPL hará falta.

    Saludos

  6.   kernel_panic dijo

    No estoy de acuerdo en la afirmacion de ffuentes

    “¿La GPL es buena aunque coharte la libertad del desarrollador de distribuir?”

    El desarrollador tiene toda la libertad de distribuir el codigo recibido, y la unica restriccion es que al distribuirlo lo haga en las mismas condiciones que recibio.

    La GPL es una licencia muy justa, si alguien ya hizo el trabajo y lo quiere donar al mundo, lo hace a traves de la GPL, de tal forma que cualquier persona pueda beneficiarse de su donacion. Seria injusto que un particular o grupo de personas se apoderaran de ese patrimonio COMUN de la humanidad (si, asi es, por rimbombante y exagerado que suene) y lo utilizaran para beneficio propio o simplemente para limitar los derechos del resto de las personas.

    De igual manera con los desarrollos en base a codigo GPL, si ya te hice parte del trabajo, y te lo estoy regalando, no es justo que simplemente por cambiarle el color a la ventana ya pienses que el codigo es tuyo y puedas cerrarlo o cambiarlo de licencia… incluso si hiciste el 90% del nuevo trabajo y solo usaste el mio como un plug-in, sin ese minusculo, diminuto, e “insignificante” plug-in, tu codigo no estaria completo y es justo que yo merezca el reconocimiento de mi trabajo asi como es justo que las demas personas puedan beneficiarse de un codigo de mi autoria que yo regale, asi como de los trabajos que deriven de ese codigo.

    A aquellos que no les guste la licencia GPL, no es obligatorio usarla, pero si quieren ahorrarse el trabajo de desarrollar, lo menos que pueden hacer es respetar los derechos de los desarrolladores previos asi como de los usuarios. Ese es el unico precio a pagar, y bien creo que puede valer la pena

  7.   kernel_panic dijo

    Disculpen el doble posteo, pero veo que use un termino incorrecto, y es justo que lo corrija :p

    Los desarrolladores originales no “regalan” su codigo, sino que autorizan su uso y distribución, asi como el derecho a modificarlo, pero al final del dia, ese sigue siendo SU codigo.

  8.   Nitsuga dijo

    A mi no me gusta ninguna. La licencia que yo usaría sería una que obligue al desarrollador a liberar los combios que le hizo a mi programa, no TOOODO su código. Es frustrante ver algo en un programa que te gustaría tener en el tuyo, pero no podes ver su código. De la misma manera, es frustrante ver el código de algo que te gustaría tener en tu programa, pero que no podés usar..

    [spam]Escribí un artículo sobre esto en mi blog: http://aprendiendolinux.wordpress.com/la-gnu-gpl-%C2%BFuna-licencia-libre%C2%BF/ [/spam]

  9.   Andres dijo

    Ambas son necesarias. Y otras que se desarrollen a futuro también serán importantes. Una sola fórmula no puede cubrir todas las necesidades de la creatividad (tanto social como comercial).
    La primera libertad está en poder escoger entre varias licencias disponibles y no estar obligado a una sola.

  10.   G dijo

    Mi opinion ya la ha dado McLarenX, y algo que queria resaltar ya lo ha hecho muy bien kernel_panic.

    Me gusta pasar de vez en cuando por este blog. Saludos!
    German.

  11.   vincegeratorix dijo

    lo que pasa, es que, como dice sócrates, el hombre es bueno por naturaleza… XD
    lo que digo es que el capitalismo fué inventado para crear igualdad, y disminuir las diferencias sociales, discriminación etc…
    de la misma forma, las licencias fueron inventadas para un fin bueno… pero con el tiempo se corrompen, todo se va corrompiendo actualmente…

    personalmente creo más en la GPL (las razones, las mismas que escribió kernel_panic)

    lo que dice nitsuga es algo que está presente en muchas otras personas, pero creo que sólo se solucionaría si todos fueramos una comunidad, algo que la gpl y stallman promueven (comunidad no es anarquía, el proyecto debian es una comunidad)

  12.   seth dijo

    @nitsuga: y esa no existe?

  13.   ffuentes dijo

    Dos cosas:

    Primero: @Nitsuga no te entendí.
    Segundo: ¿Qué les cuesta crear una licencia que permita liberar el código como software libre pero sin que se tenga que usar obligatoriamente la misma licencia?

  14.   Ausente dijo

    Microsoft mejoró Windows gracias a la licencia BSD, así que prefiero la GPL.

  15.   Ausente dijo

    Ni por joda querría que una empresa anti-software libre se aprovechase de mi trabajo.

  16.   jocho dijo

    mientras hayan empresas anti-software libre, lo ideal es la GPL, aunque lo ideal sería una licencia tipo BSD que tenga como cláusula especial la obligación del usuario del código a liberar las mejoras que le haga, sin necesidad de hacerlo con todo lo demás que haga, algo así como lo que dijo Nitsuga, y sin la exigencia de la GPL a liberar todo bajo esa misma licencia (que me parece el mayor defecto de dicha licencia, a la vez que una de sus virtudes principales)

  17.   Reoba dijo

    Yo no sabia la diferencia entre ambas licencias, pero con el claro ejemplo que has puesto las entendí perfectamente; Y opino al igual que muchos, creo que es mejor la GPL, por que obliga al nuevo programador a liberar su código bajo los mismos términos tuyos, esto me parece excelente, yo no quedria que alguien se vuelva rico por algo que yo lo hice gratis y deje libre para todos.

    PD. Vuelvo de la masacre escolar!! :D

  18.   kernel_panic dijo

    @ ffuentes

    Creo que la LGPL permite eso

    La principal diferencia entre la GPL y la LGPL es que la última puede enlazarse contra (en el caso de una biblioteca, ‘ser utilizada por’) un programa no-GPL, que puede ser software libre o software no libre.[1] A este respecto, la GNU LGPL versión 3 se presenta como un conjunto de permisos añadidos a la GNU GPL.

    Estos programas no-GPL o no-LGPL se pueden distribuir bajo cualquier condición elegida si no se tratan de trabajos derivados (derivative work). Si se trata de un trabajo derivado entonces los terminos deben permitir modificación por parte del usuario para uso propio y la utilización de técnicas de Ingeniería inversa para desarrollar dichas modificaciones. Definir cuando un trabajo que usa un programa LGPL es un trabajo derivado o no, es un asunto legal (ver el texto de la LGPL). Un ejecutable independiente que enlaza dinámicamente a una biblioteca se acepta por lo general como un trabajo que no es derivado de la biblioteca. Sería considerado como un trabajo que utiliza la biblioteca y se aplicaría el párrafo 5 de la LGPL.

    A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a “work that uses the Library”. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

    De la traducción no oficial al español:

    Un programa que no contiene derivado de ninguna porción de la biblioteca, pero está diseñado para trabajar con la biblioteca al ser compilado o enlazado con ella, se denomina un “trabajo que usa la biblioteca”. Dicho trabajo, por separado, no es un trabajo derivado de la biblioteca, y por tanto cae fuera del ámbito de esta Licencia.

    Esencialmente debería ser posible para el software ser enlazado con una nueva versión del programa cubierto por la LGPL. El método utilizado comunmente para lograr esto es utilizar un mecanismo apropiado de bibliotecas dinámicas o compartidas (shared library). En forma alternativa, está permitido enlazar estáticamente una biblioteca LGPL (ver w:statically linked library) si se proveen el código fuente del programa o se brinda el código objeto para enlazar contra la biblioteca LGPL.

    Una característica de la LGPL es que se puede convertir cualquier código LGPL en código GPL (sección 3 de la licencia). Esta característica es útil para reutilización directa de código LGPL en código GPL de bibliotecas y aplicaciones, o si se quisiera crear una versión del código que no pueda utilizarse en software privativo.

    Sin embargo eso puede ser una debilidad, hace tiempo lei un articulo de Bruce Perens acerca del peligro de Apache por no estar licenciado bajo la modalidad GPL, de ser utilizado por otros intereses (vease Microsoft :p)

    La licencia apache establece:

    Como cualquier otra de las licencias de software libre, la Licencia Apache permite al usuario del software la libertad de usarlo para cualquier propósito, distribuirlo, modificarlo, y disstribuir versiones modificadas de ese software.

    La Licencia Apache no exige que las obras derivadas (versiones modificadas) del software se distribuyan usando la misma licencia, ni siquiera que se tengan que distribuir como software libre/open source. La Licencia Apache sólo exige que se mantenga una noticia que informe a los receptores que en la distribución se ha usado código con la Licencia Apache. Así, en contraste a las licencias copyleft, quienes reciben versiones modificadas de código con Licencia Apache no reciben necesariamente las mismas libretades. O, si se considera la situación desde el punto de vista de los licenciatarios de código con Licencia Apache, reciben la “libertad” de usar el código de la forma que prefieran, incluyendo su uso en productos de código cerrado (cf Párrafo 4).

    En lo particular, reitero mi posicion :p, sera restrictiva, pero no hay duda que la GPL es la mejor licencia para software libre :p

  19.   Alejandro Amarilla dijo

    Me quedo con la GPL, pero….. un mundo donde solo existiera la GPL ¿sería un mundo libre?

  20.   Isengrin dijo

    @ffuentes +1

  21.   Anarres dijo

    un mundo donde solo existiera la GPL ¿sería un mundo libre?

    SÍ, sería un mundo libre.
    Sería el mundo más libre posible.
    Un mundo donde el conocimiento individual, que es un valor de la humanidad, es devuelto a la misma, sin obligaciones económicas.
    Es el modelo más primitivo de la humanidad y el que se utilizó durante más tiempo. De hecho es lo que motivó la humanidad: Economía de reparto -más adelante Economía redistributiva-

  22.   Alejandro Amarilla dijo

    SÍ, sería un mundo libre.
    Sería el mundo más libre posible.

    Ser LIBRE es poder elegir. Me encanta Linux, la filosofia GNU y la licencia GPL, pero si algún día me dificultaran instalar Opera browser sobre Linux orgumentando que no es software libre, pues ese día dejo de usar Linux.

  23.   RudaMacho dijo

    “La GPL coharta la libertad de cohartar la libertad.” Parece paradojico pero es una buena definicion y esta bajo licencia GPL :)

Escribe un comentario