sábado, 15 de junio de 2013

Open Source, el principio del cambio

Mis primeros contactos con la informática coincidieron con una época en la que estallaba a nivel domestico el uso de las computadoras. Las famosas PC's o computadoras personales, habían comenzado a inundar el mercado en un formato estándar. Si bien en otros países la presencia de estos aparatos en el hogar no resultaba extraña, en Argentina, recién a partir de los 90 se podía decir que las PC's comenzaban a verse como un elemento común entre los electrodomésticos. Un electrodoméstico privilegiado quizás, pero electrodoméstico al fin. Otro dato no menor: hasta ese momento, las computadoras hogareñas eran vistas mas como una consola de juegos o un juguete caro para niños que como una herramienta para gestionar información o para trabajar. No era raro encontrarse en hogares de clase media con computadoras Comodore 64 o 128, Talent MSX, Texas Instruments , Atari o Espectrum, pero a diferencia de las PC's, estas no tenían ningún tipo de estandarización de software ni de componentes ni de periféricos. Lo único que la mayoría de estos aparatos compartía era la posibilidad de utilizar un televisor común y corriente  como monitor de vídeo. Todo lo demás era diferente para cada tipo de computadora.

Mi primer PC fue una XT, con un disco rígido de 30 MB, disquetera de 5 1/4", 640 kb de RAM y monitor hércules de fósforo blanco. La compró mi viejo creo que en el año 90 y había que utilizarla con cuidado, como todo lo desconocido, y particularmente por su alto costo. El sistema operativo era MS-DOS 3.22, y venia con licencia y manuales. No obstante que todo era novedad, rápidamente me di cuenta que dicho sistema operativo dejaba mucho que desear, al menos en cuanto a funcionalidades se refería, pero la verdad no sabia si era posible poner otro y mucho menos modificarlo, debido a que no tenia el código fuente. Por eso , aprendí a programar archivos batch (los famosos .bat, como el autoexec.bat), lo cual me permitía flexibilizar o acomodar ciertos comandos a mi gusto. Después de un tiempo, comencé a compartir esta experiencia con otros chicos que también tenían computadoras y no tardé en encontrarme con algunos que realmente hacían maravillas. Tenían hasta un menú inicial todo hecho en batch, desde el cual podían acceder a sus juegos y programas favoritos solo poniendo el numero!. Uno de ellos, no recuerdo si era Andrés o Guille, tenía un conjunto de programas batch en un directorio, el cual me pasaron para que yo utilizara. Al poco tiempo, yo había  cambiado los programas a mi gusto, agregando otros y arreglando los que podían generar algún error. Por supuesto, también compartí esto con las personas que me habían dado los archivos originales y con  cada amigo que tenia una pc y que se mostraba interesado en el asunto. Tanto fue así que luego de un tiempo, quizás unos 6 meses, llego a mi casa un amigo de un amigo de no se quien, con el que nos conocimos en un asado y con el que luego de charlar un poco, quedamos con encontrarnos durante la semana para intercambiar software. Este muchacho, con cara de misterio, saco una caja roja con la leyenda TDK, y me dijo: "No sabes lo que tengo en este Diskette, te vas a morir, es un conjunto de programas batch que hice yo mismo. Con esto nunca mas volvés a tocar un comando del DOS". Al verlo, rápidamente me di cuenta que mentía respecto a su autoría, ya que la mayoría eran prácticamente los mismos que yo tenía. Lo que si era cierto es que se habían agregado algunos y los que estaban eran mucho mas avanzados y evolucionados. Me los copie sin decir nada al respecto, felicitándolo por su inteligencia y dándole a su vez los "míos". A la semana siguiente, Andres llego con el XTreeGold, que era una aplicación que dejaba obsoletos a todos los batchs que teníamos. Creo que aun guardo una copia del diskette en algún lugar de la casa.

Algo similar nos sucedió cuando empezamos a programar en Clipper, un lenguaje de programación para gestionar bases de datos (las queridas DBF). Llegaban a nuestras manos montones de librerías y aplicaciones creadas por personas de Estados Unidos, España y latitudes tan diversas como Suecia. En esa época no había Internet, solo existian los BBS, pero casi nadie se conectaba porque los modems eran caros y escasos y la mayoría de los BBS estaban en el extranjero, por lo que había que pagar tarifa de llamada internacional mientras duraba la conexión. Pero de todas formas, mano tras mano y sin averiguar demasiado como sucedía, obteníamos montones de software y código fuente. Nosotros también contribuíamos en lo que podíamos, pero claro, no teníamos forma de difundirlo mas allá de nuestros colegas regionales.

Se imaginarán que cuando me enteré de la historia de Linux y la decisión de su "creador", Linus Torvalds, de poner a disposición el código fuente del Sistema operativo para que todos pudieran ayudar a desarrollarlo y mejorarlo, para mi, el Open Source ya no era una novedad. Solo había dos cosas nueva, el nombre y la forma en que se utilizaba la tecnología para compartir y modificar el programa.

Ahora bien, quizás los que no estén interesados en las tecnologías de la información, se estén aburriendo un poco, pero para poder llegar al meollo del asunto, les voy a explicar que es el bendito software Open Source o de Código Abierto.  El código fuente de un programa es algo así como los planos de una casa. Digamos que si alguien ve una casa que le gusta y quiere construir una igual, necesita de los planos. Puede construirla sin estos, pero hay detalles que se perderían y de todas formas, debería dibujar planos estudiando la casa en cuestión, para luego poder construir la propia. Pero si pudiera obtener los planos, podría construir una casa exactamente igual e incluso modificar las cosas que no le gusten, para construir una casa similar pero aggiornada a sus gustos y necesidades. Bueno, con el software, sucede exactamente lo mismo. Supongamos que vemos una aplicación que nos gusta. Bueno, podemos copiarla y utilizarla, pero supongamos que esto no es posible por diversas cuestiones. Supongamos por ejemplo,que dicha aplicación corre en una computadora común y nosotros queremos usarla en nuestro smartphone. Podríamos tomar nota de sus funcionalidades y desarrollar una aplicación parecida para nuestro teléfono, o podríamos conseguir el código fuente y adaptarlo al sistema operativo de nuestro dispositivo móvil. Bueno, básicamente eso es el código fuente, el plano para construir una aplicación.

En principio, las compañías productoras de software, no proveían el código fuente de este, generando una dependencia al usuario, que cuando quería cambiar algo, debía pedirlo al fabricante, quien por otro lado le cobraba por esta modificación, amen de que decidía si quería hacerla o no. Esto seria algo así como construir una casa y que el arquitecto no te de los planos, y que si querés modificar algo, tengas que recurrir a el para que modifique los planos y así materializar dichos cambios. Además, el decidiría si los cambios se harán o no y encima te cobraría por hacerlo. Claro que no esta mal que el arquitecto quiera cobrarte, lo que esta mal es que no te dé los planos para que vos puedas recurrir al profesional que desees, o en todo caso, aprender como hacer dichos cambios por tu propia cuenta. Te tienen de rehén.

Por este tipo de conducta, fue que varias personas empezaron a crear programas y exponiendo su código fuente para que cualquiera lo pueda modificar a gusto. Y aquí es donde nace otro hito importante de esta historia, la licencia GPL. Para resumir, esta licencia dice que todos son libres de utilizar, modificar y distribuir un programa licenciado con este tipo de licencia , siempre y cuando expongan dichas modificaciones a la comunidad y permitan al resto utilizar, modificar y distribuir dicho programa junto con sus modificaciones. También dice que no se cobrara por el uso de dicho programa, a menos que quien lo utilice como base, cobre licencia por la utilización de sus modificaciones. Resumiendo, es algo así como decir "mira, hice esto, si te gusta, usalo, si lo querés cambiar, cambialo, si vas a intentar venderlo, me tenes que pagar, y si lo querés modificar, tenes que dejar que el resto pueda usar esas modificaciones".

Ahora bien, que tiene de importante esta licencia? Pues bien, que rompe con uno de los paradigmas asociados al concepto de propiedad mas discutible de todos: la propiedad intelectual. Si bien el concepto de propiedad en si es muy discutible, mas aun lo es el de la propiedad de las ideas. Esto es porque generalmente, las ideas están basadas en ideas anteriores, lo cual conforma básicamente la experiencia común, que podríamos considerar como conocimiento. Ya  lo dijo el mismísimo Sir Isaac Newton :"Si he logrado ver más lejos, ha sido porque he subido a hombros de gigantes". Y es justamente mediante la propiedad intelectual que mas nos controla el establishment. Mediante la propiedad intelectual nos bloquean el acceso a cosas tan básicas como los medicamentos. Por si no lo saben, normalmente los valores de las drogas no tienen que ver con el esfuerzo necesario para producirlas o para obtener los materiales que las componen. Tienen que ver con el valor de la licencia del laboratorio que creó dicha droga, es decir, la propiedad intelectual. De hecho, la mayoría de los inventores no son dueños de la propiedad de sus ideas, sino la empresa para la que trabajaban cuando hicieron dicha invención. De hecho,  las empresas de software se quedan con la propiedad intelectual del software que sus empleados imaginan, crean y producen. Tanto asi es de discutible la propiedad intelectual y tanto así es de importante por eso el concepto de Open Source y la licencia GPL y sus derivadas. por eso el open source es el principio del cambio. 

Continuará...

No hay comentarios:

Publicar un comentario