El día 17 de abril de 2009 17:31, metatux <[email protected]> escribió:

> Si dice que desarrolla Software Open Source pues si según lo veo debe
> publicar (liberar) las fuentes pues por ello se llama Open Source
> (Fuentes abiertas)
> Y si dice que desarrolla Sofware Libre? Bien pues lo entiendo que debe
> ser "libre" y eso implica tanto la aplicación como las fuentes.

A ver...

Aunque parezca mentira, el software libre NO IMPLICA hacer público el
código fuente de tu proyecto.

El software libre implica que el software sea entregado a sus usuarios
otorgándoles 4 libertades:

Libertad 1: Libertad para ejecutar el programa para cualquier propósito
Libertad 2: Libertad para estudiar y modificar el programa.
Libertad 3: Libertad para copiar el programa y asi poder ayudar a
otras personas que lo necesiten
Libertad 4: Libertad para mejorar el programa y publicar esas mejoras
al público, de forma que toda la comunidad se beneficie.

De acuerdo a esta definición es PERFECTAMENTE VALIDO que yo te ofrezca
mi software bajo una licencia que te otorgue efectivamente esas cuatro
libertades PREVIO PAGO de la cantidad que se me ocurra cobrarte. Si tu
estas dispuesto a pagarme esa cantidad, perfecto, aca ni el mismo
Richard Stallman podría argumantar que ese software no es libre porque
te esta otorgando a TI las cuatro libertades.

Ahora, una vez que tu ya tienes el software, y lo recibiste con las 4
libertades, tienes la libertad para mejorarlo, copiarlo, hacerle
cambios y distribuirlos en público, subirlo a Sourceforge si gustas,
PERO, no estas obligado a hacerlo, si quieres lo haces y si quieres no
lo haces o si quieres COBRAS por volver a otorgarle a otra persona
esas 4 libertades.

Suena raro no? Pero asi es.. si cumple con las 4 libertades ES
software libre y punto, no hay vuelta que darle.

OJO que aqui no estamos hablando AUN de la GPL, solo de "software libre".

La GPL es la licencia emblemática y prototítica del software libre y
es muy extensa para reproducirla aqui, pero en esencia solo regula
detalles adicionales y algunos de los detalles adicionales que
precisa, que son relevantes para esta discusión son:

a) Puedes cobrar por distribuir copias, el monto que tu quieras
b) No puedes imponer restricciones adicionales debido a que NO puedes
cambiar la licencia, tiene que seguir siendo GPL.

Por eso, si por ejemplo Alfred, o ya no hablemos de Alfred, yo Antonio
creo un software, yo podria perfectamente decirte a ti Marcus lo
siguiente: te ofrezco este software bajo GPL pero primero pagame US$
1000 dólares.

Si tu aceptas pagarme los US$ 1000 yo te doy el software en un tarball
digamos, y te incluyo ahi un archivo de texto LICENSE con el contenido
de la GPL 2.0 por ejemplo y todo es legal y conforme y Richard
Stallman no tendriá NADA que objetar.

Lo interesante es que una vez que tu ya tienes el software bajo la
GPL, luego de pagarme los US$ 1000, por ejemplo, si podrias subirlo a
Sourceforge o quemarlo en CDs y obsequiarlo en el FLISOL de acuerdo al
punto "a" pero por ejemplo lo que NO podrias hacer es cambiarle la
licencia, a todo el mundo se le tienes que seguir ofreciendo bajo la
GPL por lo tanto no podriasi inventarte una restriccion adicional y
decirles "tu ya no lo puedes copiar a tus amigos" o "si lo vas a
copiar tienes que pagarme el 50% de lo que cobres a mi" o "solo puedes
hacer 3 copias del software".

Y nada mas! Eso es en esencia "software libre" y en esencia "GPL" y en
NINGUNA parta dice "tienes que publicar las fuentes en Internet" ni
tampoco "tienes que distribuir gratuitamente copias a todos el que te
lo solicite".

Intuitivamente una pensaría que SI es asi, que el "software libre"
OBLIGA a liberar las fuentes y a darselo a todo el mundo pero NO, para
nada, en ninguna parte de la GPL ni de las 4 libertades esta eso.

Ahora, sobre el codigo fuente la historia es otra. El software libre,
para poder cumplir con las 4 libertades si OBLIGA a que le des el
codigo fuente al "licenciatario" (en inglés "licensee") pero solo a él
no a todo el mundo. El código fuente es necesario para poder
garantizar las libertades 2 y 4 y que para las libertades 1 y 2
bastaria con tener copia del binario.

Ya hablando específicamente de la GPL lo que esta si EXIGE es que
hagas una de estas 3 cosas relacionadas con el codigo fuente,
cualquiera de estas dos cosas, no las 2 a la vez:

a) Incluir el codigo fuente con los binarios
b) Un ofrecimiento por escrito de distribuir el codigo fuente si se
solicita y  por el mismo medio que se distribuyeron los binarios

Es por eso que muchas distros de Linux solo te ofrecen en el CD de
instalacion los binarios y el codigo fuente te lo pueds bajar
opcionalmente de Internet.

Hasta aqui hemos hablado de "software libre" y de la GPL. La GPL es el
caso mas conocido de "copyleft" que es basicamente un tipo de licencia
que ofrece las 4 libertades y que exige que no se cambie de licencia
en las obras deribadas. Existen programas de software libre que NO
usan la GPL y tampoco son copyleft y basicamente son los que estan en
dominio publico, en donde nadie tiene el copyright por lo tanto son de
todos y de nadie y se puede hacer absolutamente cualquier cosa con
ellos, y los que se distribuyen bajo licencias estilo BSD en donde el
autor solo requiere que lo mencionen en las obras derivadas y si esta
permitido crear software propietario a partir del codigo del programa
libre.

Ahora, hablar de "opensource" o "codigo abierto" es bien distinto de
"software libre" y no tiene NADA QUE VER con que se incluye el codigo
fuente sino con complir ya no 4 libertades sino 10 puntos de la
definición de opensource:

http://www.opensource.org/docs/osd

Tampoco voy a comentar cada uno de los 10 puntos pero basicamente son
las mismas 4 libertades con algunos detalles mas precisos.

El punto 1 puede resultar medio confuso porque habla de no solicitar
un pago o un royalty por una venta. No esta hablando de no cobrarle al
licenciatiario por distribuirle el software. Habla de no hacer cobros
ADICIONALES al licenciatario por incluir el software en un "compendio"
de otros programas como podría ser una distribución.

Ninguno de los 10 puntos de OSI prohibe COBRAR por distribuir copias
ni EXIGE distribuirlas gratuitamente y menos exige hacerlo por
Internet. El punto 2 parecería sugerir eso pero NO dice eso, dice que
si no le das las fuentes al licenciatiario en el medio donde le
entregaste el binario le debes entregar las fuentes gratuitamente o
cobrando un precio "razonable" por hace la copia y que PREFERENTEMENTE
(pero no obligatoriamente) dejes que lo bajen de Internet.

¿Entonces hemos vivido engañados? ¿Acaso lo más importante y
fundamental de esto del software libre y del opensource no era poder
obtener el codigo fuente gratuitamente de una fuente pública? Pues no,
no tiene nada que ver con eso. Es si lo mas habitual porque es lo mas
coherente y práctico pero no es OBLIGATORIO.

Entonces, volviendo al caso de Alfred Kobayashi en donde el afirma que
entrega codigo a sus clientes bajo la GPL cobrándoles un fee pero
luego no publica las fuente gratuitamente en algún servidor público,
lo que hace es perfectamente compatible con el softtware libre, la
GPL, y el opensource y está en todo su derecho de decir que su empresa
"hace software libre" y "hace codigo abierto".

Por eso que yo decía que si nos interesaba que esos desarrollos se
hagan públicos podríamos pedir una  copia gratuitamente a alguno de
los clientes de Alfred y si ellos aceptaban nos la podrían dar. Por
que así lo manda la GPL ellos no nos pueden dar el software bajo otra
licencia que no sea la GPL y justamente invocando las 4 libertades, en
particular la 3 nosotros podriamos inmediatamnte subir esas fuentes a
SourceForge o Google Code y todo seria legal y nadie tendría nada que
reclamar.

Si alguno de los clientes de Alfred quisiera cobrarnos, por decir
algo, lo mismo que le cobró Alfred, con la intención de recuperar su
plata, la GPL se lo permitiría. En ese caso NO nos esta cobrando por
"vendernos el software" sino por "hacernos una copia" ya que la
propieda intelecutal seguiria siendo de Alfred (si es que no le han
hecho modificaciones hasta ese momento) y nosotros simplemente
seriamos nuevos licenciatarios pero con TODOS los derechos garatizados
por al GPL así que acto seguido podríamos empezar a redistribuir el
código en forma pública  y gratuita.

¿Ahora si quedó mas claro? Es medio raro, y parece que fuera en contra
con la idea intuitiva que tenemos de "software libre" y de
"opensource" pero a nivel de licencias NO se exige ni ofrecer copias
gratuitas ni ofrecerlas al público en general.

En la práctica TODOS los proyectos SI ofrecen copias gratuitas de
manera pública y por eso tenemos esa idea equivocada de que "asi tiene
que ser". Si lo hacen es porque asi maximizan los beneficios derivados
de que más gente use el programa, le corrija bugs y envie los parches
pero esa parte especificiamente no tiene nada que ver ni con las
licencias ni con las libertades ni con las definiciones de software
libre y opensource respectivamente.

> de aplicaciones web desarrolladas como mi web por ejemplo y luego lo
> pone en un servidor basado en Linux y corriendo con apache. Es por eso
> automáticamente un producto bajo la GPL? Open Source? Software Libre?
> Pues ha usado lenguajes de desarrollo que se usan bajo la GPL pero no ha
> modificado el lenguaje y/o sus respectivas fuentes. Usó HTML? HTML es
> libre? Abierto? O se usa bajo la GPL?

Nada de lo que dices es asi. Yo he hecho decenas de programas
PRIVATIVOS peroen PHP por encargo de clientes y no tienen NADA de GPL.
Estos programas eran programas hechos DESDE CERO, completamente
nuevos, obras nuevas y no nunca generaban binarios que se enlazaran a
bibliotecas cuya licencia sea la GPL asi que no habia manera de que la
GPL "infecte" o "contagie" a mi programa y lo vuelva "software libre".

Los UNICOS casos en que una nueva obra de software esta obligada a
adoptar la licencia GPL son:

a) Si es un derivado de una obra que YA estaba bajo la GPL
b) Si INCLUYE fragmentos de codigo que estan licenciados bajo la GPL
c) Si se enlaza a bibliotecas que estan bajo la GLP

Eso de "enlazar" por si a alguien no le quedara claro seria hacer un
programa que DEPENDE de una DLL en Windows o de un archivo "SO"
(shared object) en Linux. De esos van a encontrar un montón en
/usr/lib por ejemplo. Durante el proceso de compilación el binario se
construye INCORPORANDO codigo binario copiado de la biblioteca si
fuera un enlace estático y APUNTANDO a la bibioteca si fuera un enlace
dinámico. En cualquier caso depende de la biblioteca.

Este mail es largazo pero es un intento sincero mio con la mejor
intención de aclararle las cosas a Markus según como yo las conozco y
de paso les servirá a otros.

Saludos,

Antonio
_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)

Participa suscribiéndote y escribiendo a:  [email protected]
Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
http://listas.linux.org.pe/mailman/listinfo/linux-plug

IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php

Responder a