viernes, 24 de abril de 2009

¿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?

1 comentario:

Uriel Ceron dijo...

Excelente Reflexión, muchos hombres y mujeres dedicados a este movimiento tenemos la esperanza de realizar un Open Source Comunista. Saludos Daniel!!! Desde Chetumal, Quintana Roo, Mexico.