Lugar: / Software Libre

Software Libre

En esta sección encontrarás información importante sobre software libre incluyendo conceptos, tutoriales de manejo, recomendaciones y algunos proyectos. Como todo el sitio esta en constante desarrollo, actualizaremos periódicamente su contenido y si tienes observaciones o sugerencias contáctate con nosotros.



Contenido:

Concepto    y     beneficios   del    Software Libre

Curso para migrar de software privativo a Software libre


Concepto y beneficios del Software Libre

¿Qué es Software Libre?

Al pensar en software libre se debe pensar en el término libre de libertad y no de gratis, la definición escencial de software libre es:

Todo software que brinda al usuario cuatro libertades fundamentales:

  • Libertad 0: Cualquier persona puede usar o ejecutar el software como desee y cuando desee, es decir a su conveniencia y con cualquier finalidad.

  • Libertad 1: Cualquier persona puede estudiar el programa y modificarlo según sus necesidades o gustos. Para que esto sea posible el código fuente del programa debe estar disponible.

  • Libertad 2: Esta permitido redistribuir copias del programa original libremente a cualquier otra persona.

  • Libertad 3: Se puede también redistribuir copias de las modificaciones hechas al programa original a cualquier persona, esto para adaptar el programa a las necesidades de una comunidad y asi mejorarlo. Para que esto sea posible es necesario el código fuente del programa.


  • Si un programa cumple esta cuatro condiciones, respeta la libertad de los usuarios y por tanto es software libre.
Una mejor definición de software libre la puedes leer aquí

¿Por que software libre no tiene que ver con "precio"?

Que un programa se distribuya gratuitamente no significa que sea libre, por que puede que este programa "gratis" no respete la libertad de los usuarios restringiéndoles alguna o todas las cuatro libertades esenciales.

Por ejemplo, existen muchos programas que se obtienen gratis, pero no dan libertad total al usuario de una o muchas maneras, algo común es que el código fuente de ese programa no este disponible, por eso no hay forma de estar seguro de que hace el programa realmente. Y, esto significa que el usuario tampoco tiene la libertad de adaptarlo a sus necesidades o de otros, por eso y más no es libre.

Entonces conviene pensar en software libre como en "libertad de uso, estudio, modifición y publicación" y no como en "cerveza gratis" o "muestra gratuita".

Sin embargo, mucho software libre es distribuido gratuitamente, también existe software libre que no es distribuido gratuitamente pero eso último, no lo convierte en software privativo que es lo opuesto a software libre.

¿Qué es el código fuente?

El código fuente es el conjunto de líneas de texto que representan las instrucciones que recibe la computadora para ejecutar el programa, por eso el código fuente describe prácticamente todo lo que hace el programa informático.

    Una pequeña analogía

    Por ejemplo podríamos comparar el código fuente de un programa con la receta para hacer un pastel. Si vemos el pastel es casi imposible saber como se hizo o cuales fuerón los pasos o ingredientes utilizados para hacerlo. En cambio si la receta está disponible, fácilmente podremos leerla y averiguar como hacer ese pastel y que ingredientes usar. Entonces, si queremos cambiar algo del pastel gracias a la receta lo haremos fácilmente y bastará con meterlo al horno y esperar un poco para obtener otro o el mismo pastel hecho por nosotros y a nuestro gusto.

    Según esta analogía para saber realmente "que hace" un programa informático o software, es necesario ver el código fuente original, asi si queremos modificarlo o "darle otro sabor" solo bastará con modificar el código fuente y "meterlo al horno". Es decir, usar las herramientas adecuadas para a partir de ese código fuente construir los binarios o "el pastel", que son las instrucciones en lenguaje de máquina que la computadora entiende y ejecuta.

    Ahora como ya hemos cocinado el pastel metiéndolo al horno, solo nos hace falta probarlo. Para el programa esto significa ejecutar los binarios o como generalmente se dice ejecutar el programa. Solo asi podremos ver a que sabe nuestro pastel, o mejor dicho el programa.

¿Por que se dice que el software libre respeta la libertad de los usuarios?

Si un programa es libre respeta las libertades del usuario al igual que las del programador o creador del programa. Pero el software libre a diferencia del software privativo esta diseñado para ser de utilidad al usuario y no solo al que lo hizo (el programdor o los programadores). Quizá con un ejemplo similar al anterior se podrá entender mejor.

    Otra pequeña analogía

    Pensemos en que un día nos compramos un auto de juguete a control remoto.

    Desde el momento en que lo obtenemos nos convertimos en el usuario del juguete. Por eso mismo empezamos a jugar con él y nos divertimos mucho.

    A medida que jugamos o hacemos correr nuestro auto a control remoto, crece en nosotros en algún momento el deseo de, por ejemplo, hacer que el auto corra más rápido, que sea más liviano, que consuma menos energía, que tenga otro color , que tenga una lámpara especial, que haga un sonido determinado, que no tenga cuatro puertas sino solo dos, que sea posible controlarlo desde más lejos, que no sea tan ruidoso, que haga más ruido, que tenga otro aspecto, etc.

    En pocas palabras deseamos "personalizar" nuestro juguete o adaptarlo a nuestras necesiades y/o gustos. Para hacerlo, necesitamos de alguna forma y dependiendo de lo que queramos "abrir" el auto para así hacerle las modificaciones respectivas.

    Que pasaría si por ejemplo decidimos que el auto tenga una lámpara verde en la parte delantera. Lo más probable sería destapar la carcasa exterior del auto y conectar la lámpara a la batería del auto y hacer un pequeño orificio en la carcasa o quitarle la lámpara que ya tenía y reemplazarla con la que queremos.

    Esto para nosotros seguramente será fácil de hacer y si no lo es, dejamos que alguién más apto para esta tarea lo haga por nosotros.
    Pero ¿qué pasa si la carcasa del auto no puede destaparse y para hacerlo es necesario usar herrameintas especiales que no poseemos y no se consiguen libremente?. Ó, que el auto pueda destaparse pero tenga un "sticker" que se rompa al hacerlo y si rompemos el sticker anulamos la garantía para asistencia técnica en caso de que nuestro auto tenga un desperfecto.

    En este último caso tendremos que anular la garantía y en el primer caso tenemos dos opciones; Romper la carcasa o parte de ella ó llevar el auto al servicio técnico propio de la casa que nos vendió el auto que seguro nos cobrará mucho dinero solo para colocarle una simple lámpara verde a nuestro querido juguete. Ahora, que tal si decidimos colocarle otra lámpara al lado de la antena, obviamente no podremos hacerlo fácilmente y en realidad dependemos de alguién que no necesariamente es de nuestra confianza, en este caso el servicio técnico propio de la casa que nos vendió el auto .

    Que tal si queremos ir más alla y queremos aumentar la velocidad del auto o modificar su diseño. Probablemente necesitemos el diseño del auto con sus esquemas y demás datos técnicos, a partir de los cuales nosotros podremos adaptar el auto como nos plazca. Seguramente con un juguete cerrado como el auto anterior será difícil y puede que al final quedemos tan frustrados y molestos que nunca más querramos comprar autos de esa tienda o lo que es peor, no nos atrevamos a modificar nuestros juguetes nunca más. En pocas palabras nisiquiera podemos usar ese juguete por el que pagamos y adquirimos tanto cariño como queremos, y por eso los que fabricarón el auto nos quitan la libertad de mejorarlo y hasta usarlo como nos plazca.

    Pero, si el auto es fácilmente modificable (se puede destapar) le podremos hacer muchas modificaciones y adaptarlo a nuestro antojo, es más que tal si alguien tiene el mismo auto y quiere hacerle modificaciones, tu podrías ayudarle y si le cobras o no depende de ti. De todos modos no se depende exclusivamente del servicio técnico propio de la casa que nos vendió el auto.

    En el caso de que el diseño del juguete este a nuestro alcance, las posibilidades para personalizarlo son enormes y si no lo hacemos nosotros con esa documentación alguién idóneo lo podrá hacer por nosotros.


    Para seguir esta analogía el software privativo es el auto a control remoto cerrado, la difícil tarea de modificar nuestro propio programa sin pagar injustas consecuencias, nos hace depender de la empresa u organización que lo construyó.

    Poder modificar el auto es equivalente a modificar un software o programa informático para usarlo como a nosotros los usuarios mejor nos convenga, ya sea para nuestra diversión o para cubrir alguna necesidad fundamental. Esto solo puede hacerse si el software es libre, por que nos da las cuatro libertades fundamentales convirtiéndonos en los que controlamos al programa y no como en el caso del software privativo, donde el programa controla al usuario de alguna u otra manera pero al final lo controla.

    Si quisieramos mejorar, compartir, estudiar y usar un programa a nuestra conveniencia. solo podremos hacerlo si el programa es libre, pero si quisiéramos ejercer estas libertades con un programa privativo, no podríamos y si lo intentamos estaríamos quebrantando la ley, siendo dependientes de la empresa u organización que tiene la "propiedad" del programa estando a merced de ellas.

    Si en lugar de utilizar el ejemplo del auto de juguete a control remoto, habríamos usado algún artículo de mayor necesidad como por ejemplo un equipo médico, muchas vidas dependerían practicamente de la empresa que restringe el uso del equipo.

No se de informática, ¿por qué debería preferir software libre?

Como el software libre se enfoca en la libertad del usuario, aunque no poseas las habilidades para modificar, o reescribir un programa libre leyendo su código fuente, siempre habrá alguien que pueda hacerlo por ti. Si no necesitas modificar un programa o adaptarlo de alguna forma , siempre será posible saber que hace realmente ese programa y no "que finje hacer".

Generalmente es sencillo informarse de las funciones que cumplen los programas libres, basta con buscar en internet información del programa y por lo general existen personas que lo han estudiado y contribuido para su mejorar estas personas pueden dar la información a través de medios de comunicación masiva como Wikis, Foros, Webs de consulta, libros, etc. Y tendrás la seguridad de lo que hace el programa y si quieres también sugerir mejoras y reportar errores. De todos modos pidiendolé a la persona adecuada (un programador adecuado por ejemplo) siempre podrás averiguar lo que hace un programa libre.

Si usas software privativo, estás permitiendo que se vulneren tus derechos y más concretamente tu libertad y privacidad que últimamente es altamente vulnerada por empresas y corporaciones que trabajan bajo el esquema del software privativo, y seguro a corto o largo plazo serás perjudicado por este esquema cerrado y controlador tanto o más que como en el ejemplo del juguete a control remoto.

Un poco de historia

En 1983 un hacker del laboratorio de Inteligencia Artificial de la MIT (Instituto Tecnológico de Massachusetts) al ver como la cultura hacker dentro el laboratorio empezó a disolverse por la presión de la comercialización de la industria del software. Decidido no permitir que la cultura del libre conocimiento se perdierá escribió un mensaje y este es un fragmento:

A partir del próximo Día de Acción de Gracias comenzaré a escribir un sistema de software completo compatible con Unix llamado GNU (que significa «Gnu No es Unix»), y lo distribuiré libremente para que todos puedan usarlo. Son muy necesarias las contribuciones de dinero, programas y equipos.
enviado por Richard Stallman el 27 de septiembre de 1983 (Mensaje Original)
Desde ese momento comenzó el proyecto GNU cuyas intenciones han sido sido promover el uso y desarollo de software libre. Y poco después Richard Stallman (RMS) fundo la "Free Software Foundation", FSF o "Fundación de Software libre".

Con mucho esfuerzo y contribuciones se logró alcanzar las primeras versiones funcionales del sistema operativo GNU, pero le hacia falta un Kernel. En 1991 un estudiante finlandés Linus Torvalds usando las herramientas de GNU escribió un Kernel que luego liberó bajo la licencia GPL (una licencia de software libre) que terminó completando la pieza fundamental del sistema operativo GNU.

A partir de eso se han ido desarrollando distintas distribuciones del sistema operativo GNU/Linux que erróneamente se nombra sólo como Linux (esto es injusto por que no reconoce el trabajo de la FSF y el proyecto GNU, ya que Linux es una pieza fundamental y no el sistema en si), para liberar usuarios de computadoras con sistemas privativos como Windows, Unix, MAC OS, etc. Dando así el paso inicial en la liberación de los usuarios para que tengan el control sobre sus computadoras y no en sentido contrario.

Quisiera utilizar Software Libre

Por todas las razones expuestas en este y muchos otros sitios esperamos que decidas ir por el camino de la libertad y no utilices o apoyes software privativo en cambio lo reemplazes por software libre, quizá la mejor opción para empezar será que comiences a explorar las distribuciones del Sistema operativo GNU/Linux como Trisquel que es una de las distribuciones 100% software libre.

Adicionalmente hemos ayudado, a redactar un Curso para migrar de software privativo a Software libre

Los sacrificios por causas justas siempre valen la pena

Esto es en especial importante, por que seguramente verás que usar software libre puede necesitar que tu hagas algunos sacrificios hablando de comodiad y practicidad.

Un ejemplo es sitios como youtube que usan y promueven el software privativo de adobe flash que funciona como reproductor para sus vidéos. El proyecto GNU ha desarollado software libre para poder reproducir vidéos de sitios como youtube en tu computadora llamado gnash, pero dada la dificultad de "imitar" el software cerrado de adobe flash player y sus formatos privativos como los .flv gnash no funciona del todo bien aún.

Pero gnash respeta la libertad del usuario y no tiene funcionalidades sucias como las de flash player y sus formatos cerrados, por eso gnash es mejor que flash player y vale la pena "sacrificarse" un poco y tener paciencia con gnash para ver vídeos en sitios como youtube.

Aunque los casos en los que el software libre no tiene tan buen rendimiento como el de los programas privativos siempre van reduciendo. No es buena idea poner como excusa la mejor funcionalidad del software privativo para preferirlo por que esa "mejor funcionalidad" se utliza como medio de atracción y engaño para que el usuario renuncie a su libertad y deje que el programa (o los que hicierón el programa) tengan el control sobre el usuario.

Por todo eso y más si encuentras software libre que no funciona adecuadamente o no se ajuste a tus necesidades sigue buscando software libre. Seguramente habrá alguien trabajando en una solución libre y si no hay la habrá, la verdad es que aveces las mismas empresas y corporaciones que fabrican el hardware se niegan a publicar documentación de su hardware y ellos mismos hacen el software que controla sus dispositivos de hardware que se conoce como firmware, por eso ese firmware es privativo y se conoce como blob.Esto dificulta el trabajo de los desarolladores de software libre que se esfuerzan por adivinar como hacer funcionar ese hardware escribiendo software libre mediante un trabajo de ingeniería inversa, un ejemplo de estos es la corporación nvidia

"Si hay que sacrificar nuestra comodidad, economía ,estatus social, "progreso", etc. por causas buenas y justas como el software libre bien valdrá nuestra libertad todo ese sacrificio por que a futuro si nos faltara será muy difícil recuperarla. "

Esperamos que te hayas informado al leer esto y comiences gradual o rápidamente a usar y promover software libre y cultura libre.



Lugar: / Software Libre





Licencia Creative Commons
Para todo el contenido hecho por los autores del sitio, salvo el contenido que explícitamente indique otra licencia,
esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.