Mitos sobre a GPL

Vou aproveitar un suceso que ocorreu onte para intentar acabar con varios mitos sobre a GPL, e software libre en xeral, que veñen de lonxe. Porque, aínda quedan desenvolvedores/promovedores do software libre que non entenden a licenza GNU General Public License.

Onte mancomún.org publicou que os desenvolvedores de EyeOS acusan a MyBooo de copiar o código do seu Web OS e tentar romper a licenza. Na páxina á que enlazan os desenvolvedores de MyBooo escúlpanse dicindo que, ó non haber distribución da súa versión, non teñen que ofrece-lo código. Un dos mitos que tratarei explica por que teñen razón.

A licenza GPL caracterízase por garantir unha serie de liberdades ós receptores de código baixo esta licenza. Estas liberdades son:

  1. Poder usa-lo software como se queira.
  2. Poder mira-lo código fonte.
  3. Poder redistribuí-lo software sen restriccións.
  4. Poder modifica-lo software.

Todo software baixo a GPL é software libre, pero non todo o software libre ten como licenza a GPL. Existen outras licenzas libres: LGPL, BSD, MPL, etc.

Os principais mitos ó redor do software libre son:

  • O software libre é de balde.
  • No momento en que modificas software libre, tes que publica-los cambios.
  • Inseguridade do software libre.

A continuación intentarei rebatir estes mitos.

O software libre é de balde

Este mito ven do termo en inglés “free software”, lingua na que “free” ten o significado de “libre” pero tamén o de “gratuito”. Aínda así, como a maioría do software libre é de balde, tamén se adoptou noutros sitios.

Un dos sectores máis beneficiados polo software libre son as pequenas empresas dedicadas ó desenvolvemento de software. Grazas ó software libre estas empresas poden coller un producto que sexa software libre e adaptalo ás necesiades particulares dos seus clientes. Evidentemente, estas empresas non traballan de balde. Logo, o cliente (ou a empresa desenvolvedora) pode decidir que facer co producto resultante: liberalo á comunidade ou non.

Calquera software ten un custe, cando menos as horas de desenvolvemento. Se existe software libre accesible gratuítamente é porque os seus desenvolvedores “cobraron” doutra forma. Cada desenvolvedor de software libre é un mundo, como múltiples son as razóns polas que desenvolver software libre.

No momento en que modificas software libre, tes que publica-los cambios

O código baixo a GPL non ten que ser feito público. A liberdade a) permítenos modificar software libre para uso privado sen ter ningunha obriga. Só no momento de distribui-lo software a un terceiro é cando se está obrigado a cumpri-la licenza.

No caso que comentaba antes, MyBooo colleu parte do código de EyeOs e usouno/modificouno como quixo. Segundo a GPLv2 e a GPLv3 non se considera distribución a que un software sexa usado vía web. É dicir, só hai distribución cando se está a usar algo que o usuario ten na súa propia máquina. Por tanto, os desenvolvedores de MyBoo non están obrigados a nada. Punto.

Houbo un intento para que a GPLv3 tivese unha cláusula pola que se considerase distribución o uso dun software aínda que non o usuario non o tivese instalado na súa máquina. Pero, como comentei nunha anotación anterior sobre o terceiro esbozo da GPLv3 (http://xoseotero.blogaliza.org/2007/04/05/novidades-do-terceiro-esbozo-da-gplv3/), a GPLv3 final non terá esta cláusula.

Inseguridade do software libre

Hai xente que pensa que, ó poder acceder calquera ó código fonte, este tipo de software é moi propenso ós ataques. En realidade, comprobouse que este mito é xustamente ó revés: grazas a que o código está accesible, máis xente colabora en amaña-los erros.

Unha proba de que o software libre non é inseguro é que varios exércitos, entre eles os dos Estados Unidos, son usuarios de software libre e están moi satisfeitos.

Actualización 18/6/2007:

  • Reescritura da primeira liberdade que ofrece a GPL. A primeira redacción era moi ambigua/errónea.

14 Responses to “Mitos sobre a GPL”

  1. 1 martin

    De la GPL:

    b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

    Nótese el “work that you publish”. Van mal los de Myboo.

    Martín

  2. 2 Xosé Otero

    Ola Martín,

    Esa é a famosa natureza vírica da GPL. Neste caso, o código de MyBoo ten que ser licenciado baixo a GPL. Pero que o código sexa GPL non quere dicir que teña que ser publicado.

    Vou repetir o que dixen na anotación, pero con outras palabras. O código fonte dun software GPL só ten que ser entregado ó destinatario do software. A GPL non obriga a nada máis. No caso dunha páxina web, non existe distribución de software, así que, non hai destinatario do software e polo tanto non hai que facer público código algún.

    Non fai falla que me creas, tan só busca información sobre a Affero GPL. Por exemplo, na wikipedia: “is a free software license derived from the General Public License with an additional section to cover use over a computer network” … “requires that the complete source code be made available to any network user of the AGPLed work, typically a web application”. Se a GPL funcionara como dis/di o mito, non habería necesidade da AGPL.

  3. 3 martin

    Hola de nuevo.

    La licencia es muy ambigua.

    Me repito, nota que la GPL no dice sólo distribución, sino que dice “distribución o publicación”. Publicación, ¿Qué es publicación? ¿Publicación dónde? ¿En una revista? ¿En un centro comercial en forma de paquete? ¿En una página web? Fíjate también que no habla de “código fuente”, o siquiera de “programas”, sino de “trabajo”. ¿Qué es el trabajo? ¿El código fuente que has modificado?, ¿Sólo ese producto en concreto? ¿Todo el portal web que ofreces y que se basa en eso? …

    GNU AGPL nace como ellos dicen “to ensure”. Es decir, elimina la ambiguedad y, como bien comentas, establece cláusulas explícitas que obliguen a distribuir el código fuente de aplicaciones web. GPL v2 era demasiado vago, demasiado ambiguo.

    Aún así, me temo que esto no implica que GPL v2 no te fuerze también. Pero esa ya es labor de tribunales y abogados. Decidir que significa “distribute or publish” y decidir que significa “work”.

    Saludos.

  4. 4 Xosé Otero

    Ola Martín,

    Vou copiar aquí dous fragmentos da GPL:
    “2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions…” [segue coas condicións]

    “6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.”

    O punto 2 define os requisitos que hai que cumprir para poder modificar código GPL. A segunda condición, a que ti puxeches arriba, di que a versión modificada que se obtén debe ser tamén GPL. O efecto vírico, vamos.

    O punto 6 é o importante no caso de MyBoo. Este punto di que só o receptor do software recebe os dereitos que ofrece a GPL, un deles é o acceso ó código fonte.

    Aplicado ó caso MyBoo: O software que desenvolveu MyBoo é GPL porque usaron parte do código de EyeOS. MyBoo só distribúe un ficheiro (javascript, por tanto código fonte), por tanto, do resto non ten que ensinar código ningún.

  5. 5 martin

    Bueno, yo no sé como está desarrollada la aplicación. Eso supongo que lo tendrán que analizar a fondo. En casos típicos como C (ej GPL), o Java (ej GPL, GPL+Classpath) está claro ya cual es la barrera entre “extender” y “utilizar”. Ahora bien, en aplicaciones que se basen sólo en JavaScript la cosa vuelve a caer en “tierra de nadie”.

    El caso de Java es interesante con su GPL+Classpath (http://www.gnu.org/software/classpath/license.html) para permitir linkar librerías, por su similitud. Me temo que en este caso haría falta otra excepción. De otro modo una página independiente que use un javascript GPL modficado puede que tuviese que pasar a ser GPL.

    En fin, lo que para mi está claro es que es algo complicado, muy, muy, muy ambiguo, abierto a muchas interpretaciones por la poca claridad de la licencia en sus términos.

    El gran problema es que esta licencia, la más popular de internet (+50% código OSS) no ha evolucionado lo suficientemente rápido adaptándose a las tendencias, y por eso pasan estas cosas.

  6. 6 Xosé Otero

    Estou totalmente dacordo contigo Martín. Eu esperaba que se aproveitara a GPLv3 para introduci-los cambios precisos para se adaptar ás aplicacións web.

  7. 7 Xosé Otero
  8. 8 Dr Zippie

    Segundo o artigo ca GPL “Poder facer co software o que se queira”: Coido que NON, xa que no se pode (por exemplo) cambiarllela licencia por otra libre coma a BSD.

    A GPL e unha licencia libre que che OBRIGA a ser libre. Dende o meu punto de vista non hai liberdade con obrigacións e unidade (SÓ GPL).

  9. 9 Xosé Otero

    Ola Dr Zippie,

    Tes razón sobre esa frase. Non me quedou moi precisa. O sentido era o de “poder usa-lo software como se queira”. Vou actualiza-la anotación 🙂

    Por outra banda, que o código BSD permita que se cambie de licenza, é outro mito. Só o autor (ou aquel a quen lle cedese os dereitos) pode cambia-la licenza dun código. O que pasa é que a BSD permite que se fagan distribucións binarias do código orixinal ou modificado sen facilita-lo código fonte. Iso da a impresión de que a licenza BSD permite o cambio de licenza, pero é falso. Na propia licenza se di que calquera distribución en forma de código fonte ou executable ten que incorporar a licenza BSD.

  10. 10 Juan

    Interesante artículo pero se te quedó por recalcar que también se dice que el software libre es de menor calidad que el de pago.

  11. 11 Dr Zippie

    Xosé, non é un mito o do cambio da licencia nos BSD, é unha das características.

    Exemplo ben claro: Podes coller o apache (cunha licencia tipo BSD) ou o posgresql (tamén tipo BSD) e facer un software comercial (ou GPL) sin ten que preguntar.

    Só hai unha pequena diferencia cando estamos ante licencias BSD ca cláusula de publicidad ou sin a cláusula de publicidades, no caso da primeira (como pasa nas licencias MIT) debes indicar que o software (con nova licencia) está baseado no software orixinal (BSD).

    Na Wikipedia podese ver explicado o caso da cláusula de publicidade: http://es.wikipedia.org/wiki/Licencia_BSD

    Unha BSD con clausula de publicidade é similar á MIT.

  12. 12 Xosé Otero

    Dr Zippie, vouche contestar na outra entrada, porque me parece un mellor lugar.

  1. 1 chuza.org
  2. 2 Mitos sobre o software libre at Cousas de xentiña

Categories

Calendario

Xuño 2007
M T W T F S S
« Mai   Xul »
 123
45678910
11121314151617
18192021222324
252627282930  
3K2 theme by Hakan Aydin