Software libre... ¿por qué?; licencias libres... ¿para qué? ~ Pruébame blogger!

jueves, 11 de marzo de 2010

Software libre... ¿por qué?; licencias libres... ¿para qué?

Bien, empezaría contando la anécdota de Richard Stallman con su impresora (el abuelete del Software libre y principal impulsor de esta filosofía que cada día va calando más entre la gente porque impulsa los avances tecnológicos y la mejora continua y la calidad del software), pero ya está más que trillada (y si no, léanla aquí). Contrariamente a lo que se dice por ahí, el software libre no es gratis, significa que es libre. Esto, que parece una cierta contradicción no lo es, como veremos a continuación, y es lo que ha llevado a gran parte del público anglosajón a adoptar el término español "libre" para designar este concepto, en contraposición al término inglés "free". ¿Y eso por qué? pues muy sencillo, porque en inglés free se puede traducir como libre o como gratis, y eso ha dado lugar a las curiosas expresiones "free as a free beer" (gratis como una cerveza gratis) y "free as in speech" (libre como las palabras) para evitar la ambigüedad en discusiones o lo que es más importante, en textos legales.

El software libre es aquel en el cual nosotros con los conocimientos adecuados podemos hacer modificaciones y adaptarlo a nuestras necesidades, o pagar a alguien con esos conocimientos para realizarlas, y para eso es necesario tener a nuestra disposición lo que se denomina código fuente. El código fuente es la transcripción del programa que nosotros vemos ejecutándose (que está en el lenguaje que entiende la máquina sobre la que está funcionando) en un lenguaje de programación (que es un lenguaje entendible por humanos). Sin el código fuente, siempre es posible coger el lenguaje de la máquina e intentar descifrar qué es lo que está ocurriendo por ahí debajo usando técnicas de ingeniería inversa, pero a menudo este método resulta ser demasiado farragoso, caro, lento y doloroso como para que solo hackers movidos por oscuras intenciones o pagados por grandes empresas con oscuras intenciones tengan ganas de hacerlo. Así pues, el código fuente es la herramienta mediante la cual podemos crear o modificar un programa. Con el código fuente, cualquiera puede ser capaz de compilar o traducir (otra cosa es modificarlo) un programa escrito en un lenguaje específico (hay muchísimos lenguajes, unos especializados en ciertas tareas, otros en otras, unos más generalistas, otros más específicos; los más famosos son el C y el java entre los generalistas, el primero muy usado en programación de sistemas y el segundo muy usado en todo tipo de dispositivos móviles -aunque posiblemente suenen otros como las distintas variantes del basic- y entre los específicos el HTML, conocido por ser el lenguaje de las páginas web) en un fichero que se puede ejecutar en nuestra máquina (o en otras máquinas, en lo que se denomina compilación cruzada).

Cada pieza de software libre está a completa disposición de todo el mundo. Ese software se puede y normalmente se llega a vender... ¿y como es eso si nos dan herramientas y el código fuente para poder compilarlo nosotros mismos y conseguirlo gratis? pues porque el dinero que pagamos no lo hacemos por el programa (como en el caso del soft cerrado o del cual solo nos dan los discos de instalación y nada más), sino por el mantenimiento. Vamos, porque pagamos para que nos funcione correctamente y por que nos arreglen los fallos que eventualmente nos puedan surgir. Este modelo de negocio, si bien a priori no da tantos beneficios de manera directa, si aporta muchos beneficios directa e indirectamente:
1) hay mucha gente que aporta horas de trabajo al proyecto de manera altruista. Así, es posible que a un cierto software una cierta empresa o individuos de manera particular modifiquen un cierto programa para añadir alguna característica que les hace falta. Al compartir estos cambios, el programa se enriquece y toda la comunidad que lo usa sale beneficiada, y se acelera el desarrollo sin haber invertido dinero para conseguirlo.
2) soporte, internacionalización, traducción... es posible que en tu país no haya software con ciertas características o ciertas empresas no localicen su software en tu idioma. El software libre suele estar preparado para que cualquiera con ganas de aportar algo y sin apenas conocimientos pueda ayudar en la traducción y adaptación de los programas. Normalmente el software libre suele tener un gran soporte en este sentido.
3) los fallos y bugs son vistos por mucha gente, así que siempre hay alguien que necesita corregir algo incluso antes de que los propios desarrolladores tengan tiempo para empezar a ponerse a trabajar en él. Es posible que desarrolladores independientes logren solucionar el fallo y poner el parche a disposición de todo el mundo, ahorrando trabajo y resolviendo problemas de manera rápida y eficaz, más aún que con software propietario (queda la supervisión de que el código efectivamente corrige el fallo y no introduce comportamientos no deseados o puertas traseras por parte de los desarrolladores, que son los que al final aprobarán y aplicarán el parche, evitando que lo que podría ser una solución termine siendo un agujero más gordo).
4) es software más transparente. Aquí no hay medias tintas: o hay un fallo de seguridad o no lo hay. De nada sirve ocultar problemas o maquillarlos, como hacen las grandes corporaciones: los bugs, bichos, erratas, fallos, comoquierasllamarlos están ahí, se controlan, se llevan estadísticas y se analizan públicamente. Así, es sencillo saber si has descubierto un nuevo fallo en el programa o si ya está registrado, así como la gravedad y el estado de su corrección.

Hay mucho software que ha revivido tras ser traspasado a la comunidad. Un claro ejemplo es blender, un software de diseño, modelado y animación 3D de una empresa que cayó en bancarrota. El creador solicitó ayuda a la comunidad para comprar los derechos del programa a sus acreedores y liberarlo luego usando una licencia libre para garantizar que seguiría siendo libre en el futuro (luego hablaremos de las licencias libres, en concreto las GPL y las Creative Commons). Ahora es el programa referencia en el mundo libre y se han hecho películas y un videojuego usandolo directamente, así como en muchas otros proyectos como software de apoyo o primario de modelado y/o animación. Otro ejemplo claro es java. Java fue un lenguaje de programación estandar creado por Sun Microsystems (ahora parte de Oracle) con la intención de que fuera el sucesor del potente C y de que fuera casi ubicuo, pues la idea era que funcionara bajo una máquina virtual de modo que se pudiera ejecutar en cualquier arquitectura sin cambiar una sola línea de código. Cada arquitectura tiene sus propias características, y uno de los grandes problemas de la programación es que lo que compilas para una máquina no funciona en otra. La solución de Sun fue crear una capa de transición que tradujera un código intermedio a la máquina en cuestión. O sea, tu programas y lo que programas te genera un código. Ese código no es ejecutable, pero si tienes un entorno de ejecución java, este podría interpretarlo y así ejecutarlo en esa máquina. Los móviles, los ordenadores, los electrodomésticos caros... todo bicho con un entorno de ejecución java podría ejecutar programas java. Hoy en día java es libre. Hace no tantos años parecía que java, que había sido realmente popular, estaba de capa caída. Tras la liberación, la comunidad ha respaldado al lenguaje, dándole otro soplo de vida.

Un aspecto muy importante del software libre son las licencias. Las licencias atan un software a una empresa: no son pocos los casos de un programador que diseña y programa un software desde cero y es echado de la empresa y no tiene nada de todo su trabajo. Y si tenemos en cuenta lo que sabemos tras leer todo el tocho de arriba, cualquier empresa podría coger el código fuente de un programa, compilarlo, ponerle un copyright y decir que ese programa es suyo y ha sido suyo toda la vida. Para evitar eso, el señor Richard Stallman (si, lo de la cabeza es un plato de un disco duro de los muy antiguos y un router, es un tipo muy friki, el santo de los frikis) se inventó la GPL (General Public License) y el concepto de licencia viral. Este señor, usó el copyright de toda la vida y le dio la vuelta (si señores, inventó el copyleft... y no es coña), aprovechándose de los aspectos de control de este para crear una licencia que garantiza los derechos y evita los abusos. Creó una licencia que consiste en que los programas bajo esa licencia deben dar acceso a su código fuente, que hay que citar al autor original si se toma este y que cualquier modificación que se haga a partir de él debe tener la misma licencia. Esto garantiza que no se pueda robar código, pero si que si se crea una versión modificada se pueda vender. Pero siempre reconociendo al autor original y aportando los fuentes, de manera que cualquiera pueda ver esas modificaciones y adaptarlas. Evidentemente hay muchas otras licencias, unas aperturistas, otras garantistas, pero GPL es la que más lucha por preservar la libertad (Richard Stallman estaría orgulloso de mi).

La licencia Creative Commons es algo similar, pero está más enfocada a creaciones de tipo artístico. Aquí se manejan tres parámetros que el usuario puede variar: el reconocimiento de la obra, la posibilidad de modificación y si se puede usar de manera lucrativa. Es decir, podemos decidir si queremos que nuestros textos, músicas, dibujos, los contenidos de nuestros BLOGS sean totalmente libres y que cualquiera pueda hacer lo que quiera con ellos o si restringimos que no se pueda sacar dinero a nuestra costa o usando alguna modificación de nuestro trabajo o si sea lo que sea que aprovechen de nuestro trabajo queremos que se nos de crédito. Así que ya están entrando aquí y colgando una licencia CC en un lugar bien visible del blog para evitar (o para tener herramientas con las que luchar contra) plagios, robos o manipulaciones.

9 comentarios:

Las tortillas y las paellas pensó (ingenuamente) que alguien leería esto:

affuffff mejor lo leo cuando despierte

Miazuldemar pensó (ingenuamente) que alguien leería esto:

Yo le veo un problemilla a tus entradas, demasiado texto y la letra muy pequeña, muy pegada, líneas muy juntas. No invita a leer, cuesta mucho.

(O es que yo estoy vaga, no sé, pero me pasa muchas veces como al comentarista anterior, digo...uffff!)

Perdón por la sinceridad pero es por si te apetecía algún consejillo ;)

sigo con las tortillas pensó (ingenuamente) que alguien leería esto:

Me uno a miaazuldemar, ke soy piome

las tortillas me confunden pensó (ingenuamente) que alguien leería esto:

miope*
queria decir

Mr Blogger pensó (ingenuamente) que alguien leería esto:

Control+

(pa una vez que pongo algo de contenido serio...)

Vicky A. H. pensó (ingenuamente) que alguien leería esto:

Pues está interesante el tema... XD Es decir, yo era de las que pensaba que lo de Software libre era sinónimo de gratis... (Una es inculta, sí XD).

Sobre lo de registrar y eso, yo lo que uso para las entradas del Fotolog y del Tintero sobretodo es un registro online, por lo menos hasta que no lo recopile todo y lo lleve al registro de la propiedad intelectual: http://es.safecreative.net

Besitos!!

Miazuldemar pensó (ingenuamente) que alguien leería esto:

Disléxico diría yo.

Mr Blogger pensó (ingenuamente) que alguien leería esto:

Bueno, es que casi siempre es así, pero como comprenderás, las empresas tienen que vivir de algún lado xd

Mr Blogger pensó (ingenuamente) que alguien leería esto:

dislexipermétrope...

 

Esta obra está bajo una licencia de Creative Commons.

Creative Commons License Blogalaxia BlogESfera Directorio de Blogs Hispanos - Agrega tu Blog Top Blogs España