Forward 2003 - 2009

Software libre, formatos y protocolos

por jonhattan

¿Qué es el software libre?

Un ordenador sin software es análogo a un televisor sintonizado a un canal muerto: no nos vale para nada. El software es un conjunto de instrucciones que hace que los ordenadores funcionen. Este conjunto de instrucciones normalmente es escrito por los programadores en un lenguaje de programación de alto nivel, y traducido posteriormente por un programa especial(compilador) al lenguaje que entiende la máquina (binario, unos y ceros). Al código que escribe el programador se le llama código fuente y al código generado para que sea entendido por la máquina código binario.

El software libre se diferencia del software propietario o cerrado en que enfatiza la necesidad de disponer de ese código fuente, estudiarlo, modificarlo, redistribuirlo libremente y hacer lo que unx quiera con él(incluso venderlo) menos apropiárselo. Esto se garantiza mediante un tipo de copyright denominado copyleft. Que es básicamente un prohibido prohibir el uso del código fuente. All rights reversed.

JPEG

galeria

A un/a usuarix final, la disponibilidad o no del código fuente, no le afecta para poder usar un ordenador dado que utiliza los programas en formato binario. Pero esta disponibilidad realmente es crucial pues permite a los programadores conocer qué hace el programa internamente, descubrir fallos y arreglarlos, añadirle mejoras o comprobar que no es ningún tipo de software que atente contra nuestra privacidad (puertas traseras...).

Si ejecutamos un programa directamente en un ordenador .... ¿hace realmente lo que nos han dicho que hace? ¿hace sólo lo que vemos por pantalla? Para saber qué hace realmente un programa es necesario disponer del código fuente. Un usuario normal no podrá descifrarlo, pero es tarea de programadores el controlar que el software hace exactamente lo que dice hacer y que lo hace bien.

Sistema operativo

JPEG

galeria

El sistema operativo es el programa que se ejecuta cuando arranca el ordenador y que sirve como base para, sobre él, ejecutar otros programas. Es el núcleo básico, la capa básica que interactúa con los distinos periféricos. Sobre él corren los programas a modo de funcionalidades que añadimos al ordenador. Ejemplos de sistema operativo: linux, macos, windows.. Qué no es parte del sistema operativo: Office/Word, Outlook, Photoshop, MSN, etc.

Formatos y protocolos

Dos puntos importantes y no obvios para el funcionamiento de las máquinas y su interoperabilidad son los formatos y los protocolos.

Un formato es un conjunto de normas sobre la representación de datos, es decir, la forma en que se guarda la información internamente en la máquina, no a nivel de representación gráfica o sonora tal y como la interpretan lxs usuarixs. Ejemplos de formatos son el html de las páginas web, el mp3 para sonido, imágenes jpg, el avi para vídeo, etc.

Un protocolo es un idioma con el que las máquinas se hablan y se entienden. Son reglas de comunicación entre dispositivos físicos (ordenadores, routers, móviles...) ó lógicos (programas). Ejemplos de protocolos son el tcp/ip que se utiliza en internet, el smtp para envío y pop3 para recibir correo-e, http para navegar por la web, ftp para descargar ficheros, etc.

Al igual que ocurre con el código fuente en los programas, los formatos y protocolos abiertos son los que tienen una especificación conocida y libre, que permite a lxs programadorxs estudiarlos, adaptarlos y hacer programas que los utilicen. Ejemplos de formatos abiertos son: png(imagen), ogg(audio), ogm(video), rtf(texto), html, pdf...

En cambio, los formatos y protocolos cerrados son aquéllos que son secretos o que, a pesar de ser conocidos, debido a que están patentados, no se puede hacer programas que los utilicen libremente. Por ejemplo: doc, ppt, gif, mp3, los de realplayer, flash, windows media.

Interoperabilidad

Los formatos y protocolos abiertos son imprescindibles y es inaceptable que alguien tenga algún tipo de control sobre las formas de comunicación o representación de información, al igual que con los idiomas humanos, todxs debemos tener las mismas oportunidades de usarlos y aprenderlos, y nunca debemos dejar que nadie imponga idiomas que no todo el mundo pueda usar en iguales condiciones.

El uso de software libre, aunque lo consideremos absolutamente necesario, toma una posición secundaria cuando hablamos de formatos y protocolos, pues se trata de poder comunicarnos e intercambiar información sin ningún tipo de restricción independientemente del sistema operativo que se quiera usar. Y aquí es donde está la verdadera batalla por la libertad del conocimiento.

Desgraciadamente, el esfuerzo de muchas compañías por extender formatos y protocolos que ellos controlan de alguna manera es muy grande. Para poder avanzar en otros aspectos que requieren que el conocimiento se redistribuya libremente como precondición, debemos luchar contra esta tendencia restrictora y potenciar los formatos y protocolos abiertos, públicos, que no controle ningún organismo privado.

Migración de sistema

Llevar estas ideas a la práctica viene condicionado por varios aspectos, entre ellos: el hábito creado en el uso de software propietario, la relativa dificultad de la migración a sistemas de software libre y la pérdida de interoperabilidad. Para sortear estos asuntos sólo podemos hacer dos cosas: lanzarnos a la piscina, y animar a otrxs a que lo hagan.

Existe un sinnúmero de programas de software libre que realizan las tareas que muchxs están acostumbradxs a llevar a cabo con programas propietarios. La lista es muy grande y no tiene sentido reproducirla en este espacio. A continuación citaré algunos recursos interesantes y animo a todxs a probar pues es la única forma de alcanzar el cambio que, asumo, es lo que queremos :)

http://estrecho.indymedia.org/newswire/display_any/2160

10 pasitos para ir abandonando el imperio del software.Indicación de programas libres que sustituyen a los que se suelen usar en tareas cotidianas (procesador de texto, navegador...)

http://sourceforge.net

Sitio web de desarrollo de software libre con cientos de proyectos. Mediante su buscador podrás encontrar los programas que necesites. Muchos de ellos funcionan en plataformas MS Windows®.

http://gnuwin.epfl.ch/

Sitio web dedicado a recopilar software libre específicamente para windows, artículos y ayuda on-line.

http://www.dynebolic.org

Es un live-cd, es decir, un cd autoarrancable, que carga un sistema operativo desde el cdrom a la memoria, sin usar el disco duro y por lo tanto puedes usarlo sin necesidad de instalarlo. En concreto dynebolic es un sistema orientado a la producción multimedia, con varias aplicaciones específicas para editar audio y video, hacer stream (emisión de audio/video por internet), retoque digital de imágenes, etc. Como su autor dice, no es un live-cd con aplicaciones para hacer arte sino una obra de arte en sí mismo.

http://knoppix.org

knoppix es también un live-cd pero con una idea algo distinta a la de dynebolic. La diferencia es que knoppix es más una recopilación extensa de programas software libre de uso general, con posibilidad de instalarla al disco duro. Está basado en debian (http://debian.org, una de las mejores distribuciones de software libre) e incluye 2’5GB de programas comprimidos en el cdrom.

http://www.x-evian.org

X-evian está a su vez basada en knoppix. Es el mismo sistema base pero incluye aplicaciones que no consumen muchos recursos del ordenador. Además, viene empaquetado junto a 300 MB de material copyleft para la socialización de las tecnologías y el conocimiento.

Índice