Free Software vs Open Source

He tenido varias conversaciones en las cuales he visto que los términos Open Source como Free Software se confunden o se tienen interpretaciones erradas sobre lo que son o no son. Un comentario de Cecilia, me motivó a escribir este pequeño punteo al respecto.

  • Tanto Open Source como Free Software son movimientos sociales, preocupados sobre lo que puedes o debes poder hacer (derechos) con los programas (software). Tienen diferencias filosóficas pero pocas diferencias practicas.

  • Free Software tiene una visión moral "el software debería ser libre" Open Source tiene una visión practica "el software es mejor si su código es abierto".

  • Free Software se refiere a Software Libre (no software gratis) y está basado en fundamentos morales. Las libertades a la que apunta son a que puedas utilizar un programa pero también puedas copiarlo, distribuirlo, estudiarlo o modificarlo sin restricción. En su visión, limitar estas libertades es inmoral.

  • Open Source se refiere al acceso al código del software, el distribuir el código fuente del software promueve, según los defensores del open source, entre los que me incluyo, software de mejor calidad, más confiable, seguro y creativo, el cual evoluciona de forma más rápida y orientado a satisfacer las necesidades de sus usuarios.

  • Como ejemplo, un defensor del Free Software frente a Windows diría algo como “Este software es inmoral, ya que no tengo derecho a ver lo que hace en mi computador” y un defensor del Open Source diría “Este software es de mala calidad ya que pocas personas han participado de su desarrollo y depende de una sola empresa (Microsoft) para evolucionar”

  • Ni Free Software ni Open Source tienen problemas con que la gente venda software, la venta eso si no es una licencia de software sino que se vende el servicio de entregar el software (muchas veces se vende empaquetado, con manuales, instalado u otro valor agregado).

  • Tanto para Free Software como para Open Source, si vendes un software hecho por ti o por otros, no puedes restringir al comprador para que no pueda revenderlo o regalarlo y debes entregar el código fuente y permitir sus modificaciones, para ser llamado Free Software u Open Source.

  • Las licencias de Software son el contrato entre dos personas (generalmente proveedor y usuario) que describen y limitan los derechos y deberes sobre el uso del software.

  • Free Software Foundation, fundación que inició y lidera, hasta hoy, el movimiento Free Software, fue creada en 1984 por Richard Stallman. Un gran aporte de Stallman fue la creación de la licencia GPL (GNU General Public License) la cual asegura que cualquier software (licenciado bajo esa licencia) proteja los derechos que permiten copiarlo, distribuirlo, estudiarlo o modificarlo sin restricción, claro que cualquier modificación o software resultante deberá a su vez ser licenciado bajo GPL.

  • Los software licenciados bajo GPL se pueden vender, pero no evitar que el comprador los revenda o regale. El negocio son los servicios (como consultoría, adaptación, soporte o entrenamiento) y no la venta del producto.

  • Open Source nace a fines de los noventa por un grupo de participantes del movimiento Free Software quienes ya no se sentían identificados con la radicalidad del movimiento y tenían preocupaciones más practicas sobre la calidad de los software y sobre la construcción de nuevos modelos de negocio para sostenerlo. Este grupo estaba formado entre otros por Linus Torvalds (creador de Linux), Eric Raymond (autor del libro The Cathedral and the Bazaar) y Bruce Perens (autor del termino Open Source).

  • Para que un software pueda ser llamado Open Source debe cumplir con una licencia que asegure 1) la libre redistribución 2) acceso al código fuente 3) permitir modificaciones 4) distribuir el código original del software además de las modificaciones 5) no restringir su uso a ninguna persona o grupo 6) no restringir su uso a ninguna actividad o linea de negocio 7) la licencia debe permanecer la misma al redistribuir o modificar el software 8 ) la licencia no puede ser especifica a un producto 9) la licencia no puede restringir a otros programas 10) la licencia debe ser tecnológicamente neutra.

  • La licencia GPL (de la Free Software Foundation) cumple con las condiciones para llamarse Open Source por lo cual el software licenciado con esa licencia es Open Source.

  • Los software en si no son ni Free Software ni Open Source, las licencias de los software son las que pueden ser reconocidas por ambos movimientos como validas para sus fines. De hecho las mayorias de las licencias aceptadas por uno de los movimientos es aceptada por el otro.

  • Free Software opina que nunca deberías usar o crear software licenciado con una licencia que limite los derechos antes mencionados.

  • Open Source opina que puedes ocupar software Open Source y no Open Source cuando quieras.

(Leer más)

Asado con Stallman


Stallman contandonos sus aventuras.

En enero de este año vino Richard Stallman a Chile, fundador de la Free Software Foundation (FSF) y creador entre otras cosas de la licencia GPL (mediante la cual esta licenciado el kernel Linux), realizamos un evento y aprovechando, lo invitamos a un asado en mi casa para conversar sobre el software libre. Fue bastante inspirador y aunque Stallman no es una persona muy sociable y bastante excéntrico, fue revelador conocer su visión sobre los derechos relacionados al software. Creo que su aporte más importante es la GPL, una licencia que asegura la distribución libre

(Leer más)

MundoOS y Firefox

A comienzos de año nos juntamos un grupo de empresarios, academicos, abogados y estudiantes con la idea de armar un grupo que difundiera el Open Source, y asi nació Mundo OS, agrupación de la cual soy miembro del directorio. El foco principal es de asociar los proyecto e iniciativas entorno a la industria del codigo abierto y difundirlas. Como primera iniciativa para darnos a conocer decidimos organizar algo similar a la campaña de Difunde Firefox, pero en Chile, la campaña original fue realizada para recolectar donaciones y poner un aviso a página completa en el NYT dando a conocer

(Leer más)

¿Y que es el Open Source?

El Open Source es un movimiento con un principio muy simple y poderoso, fomentar la difusión del código fuente de los programas. ¿Y que es el código fuente? ¿y por que es importante su difusión? aquí va una explicación:

Los programadores escriben los programas en un lenguaje entendible por los humanos (bueno al menos por los programadores) estos lenguajes pueden ser C, C++, Java, PHP, Fortran, Visual Basic, etc., el código escrito en estos lenguajes es el llamado código fuente.
Una comparación simple podria ser las partituras musicales, que no son la musica pero la representan. Si tenemos una partitura podemos entender la musica, modificarla o tocarla con otros instrumentos. Si enc ambio solo escuchamos la musica, construir la partitura en base a ella puede se muy dificil. Siguendo con nuestro ejemplo la partitura sería el Código fuentey el sonido de la musica o la partitura interpretada por un musico se llama Código Binario, el código binario es lo que entienden los computadores, estos códigos son un conjunto de 0 y 1 a los cuales se llega en base al código fuente usando métodos que no viene al caso explicar aquí. Este código de 0 y 1 es el llamado binario, por ejemplo los famosos archivos .exe son programas binarios, no son el programa fuente escrito por el programador, eso hace que sea imposible (o casi) modificar un programa .exe sin el código fuente (de igual forma que sin la partitura nos es difícil modificar la musica). ¿y eso que importa? bueno, supongamos que tenemos el código fuente de un programa muy simple como este:


function nombre(){
var name = prompt("Cual es tu nombre?:", "Escribe tu nombre aqui");
alert("Hola "+name+", este es un programa muy simple!")
}

Ver aqui

Si alguien por ejemplo quiere traducir el programa al Ingles, no es muy difícil ver cuales son las modificaciones necesarias, pero si solo tengo el código binario seguramente tendré algo así:

0000000001010010001111111111100100010000100010101111
0001010000011001000111111111110010001000010001010110
0100011111111111001000100001000101011110001010000011
1001000111111111110010001000010001010110010001111111
1111001000100001000101011110001010000011001000111110
0100011111111111001000100001000101011110001010000011
0001010111100010100000110010011100101001001001110010
0100100100111001001001010000111110101010010010010101
0010100100100100100100111001010010010011100111000011

lo que puede convertir una labor simple como una traducción, en un infierno.

Durante años las empresas han guardado sus códigos fuente como su gran fortaleza (de forma similar a como los estudios discográficos mantienen las cintas master de sus artistas) Pero el movimiento Open Source promueve la libre distribución del código fuente de los programas. ¿Pero como? ¡De esa forma cualquiera tendría el programa he incluso podría modificarlo a su antojo! ¡Las empresas no podrían cobrar licencias y los negocios de software desaparecerían! Esto temores aunque pueden parecer obvios son infundados, de hecho el Open Source es una alternativa de negocios que han tomado innumerables empresas, aquí algunas explicaciones de como esto es posible.

Bajos costos y mejor calidad: La metodología de desarrollo de software en el mundo Open Source rompe el estándar tradicional, este estándar indica que un proyecto de software debe ser realizado por un grupo pequeño y acotado de programadores, con planes de desarrollo claros y acotados, con una fase de pruebas que ocurra luego del desarrollo y antes que los programas sean entregados al publico. En el mundo Open Source al no existir un celo particular por el código este es distribuido masivamente en estados primarios de desarrollo, siendo mucha veces completado y mejorado para luego volver al creador inicial quien organiza y ordena las colaboraciones realizadas por individuos, pequeños grupos he incluso grandes corporaciones o Universidades. Esto convierte al desarrollo de software en un proceso dinámico en el cual participan cientos o miles de individuos. Un buen análisis de esto está descrito en el famoso paper de Eric Raymond The Cathedral and the Bazaar. Las empresas y desarrolladores se benefician de un conjunto inagotable de desarrolladores, código y colaboración en distintos niveles a costos mínimos. ¿Pero como se mantienen? ¿cual es el negocio?

Ley de Moore Para entender donde esta el negocio es importante entender la ley de moore, la cual dice que cada 18 meses la tecnología baja su costo a la mitad o duplica su capacidad o potencia. Lo relevante de esta ley es que muestra claramente que los activos tecnológicos? no son un buen negocio, osea dentro de los activos la tecnología se convierte en un bien perecible, por lo tanto el negocio son los servicios. ¿Como las compañías de teléfono pueden hacer negocio vendiendo bajo el costo los celulares o incluso regalándolos? es fácil darse cuenta que el negocio mas que el aparato son los servicios asociados (como los minutos, mensajes de texto, etc) de la misma forma las empresas que desarrollan productos en modalidad Open Source ofrecen servicios de soporte, certificación, consultoría, etc. Lo interesante es que cualquier persona o empresa puede ofrecer servicios sobre las mismas aplicaciones, pero los creadores tienen la ventaja de la identidad al ser los lideres de los productos que desarrollan. La tecnología como cosa se convierte en un commodity desechable, sabemos que va a cambiar.

La oportunidad para Chile Nuestro país tiene una oportunidad importante de subirse a esta ola, en la cual estamos atarazados en comparación con otros países como Argentina o Brasil, pero el movimiento todavía está en pañales a nivel mundial. Podemos acceder a tecnología de punta sin mayores costos, podemos participar de los procesos de desarrollo y activar la industria convirtiéndonos produciendo servicios mas haya que la exportación de materias primas, si Nokia era una empresa que hacia botas y hoy es líder en celulares en un país con un tercio de habitantes que el nuestro, ¿por que nosotros no podremos hacerlos?

(Leer más)