Muchas personas no informáticas visitan nuestro sitio, lo cual es bastante emocionante ya que eso significa que nuestro trabajo está rindiendo frutos, la cuestión es que no siempre el lenguaje es adecuado para que esas personas comprendan de lo que estamos hablando. Para facilitar su acercamiento al Software Libre y de Código Abierto así como obviamente a la informática comenzaremos con la tarea de crear un glosario de términos explicados en un lenguaje menos técnico.
Por ende, esta nota aunque sea lanzada en este momento luego (esperamos) será ampliada en la medida que nos encontremos con más términos o que ustedes mismos a través de nuestro foro o nuestro correo camayihi@gmail.com nos hagan saber para así no solo poder llegar a más usuari@s sino que todos y todas nos entiendan. Aquí va el glosario:
Software: Se refiere a todos lo que conocemos como programas. Se consideran intangibles o suaves (soft) porque realmente no los podemos “tocar” aunque los podamos ver, utilizar, y conocer si nos permiten escudriñarlos por dentro en sus códigos fuentes.
Código fuente(o simplemente código): Son todas esas instrucciones escritas por l@s programador@s para crear un software. Las instrucciones varían de acuerdo al lenguaje de programación y es el código fuente la receta (así como en la cocina) que permite que el software funcione como queremos. Si todos podemos conocer el código fuente de un programa podremos replicarlo, entenderlo, modificarlo y claro… compartirlo.
Lenguaje de programación: Podemos decir si, de muchas maneras gracias a las muchas lenguas que existen en el mundo; al final así sea “yes”, “oui” o “hai” siempre será una afirmación. De la misma forma, en la informática se puede escribir código fuente en muchos lenguajes de programación. Estos finalmente representan procesos similares que debe realizar el computador, es decir al computador se le puede decir que sume dos números de diferentes formas, estas formas son los lenguajes de programación. Así como puede sonar más romántico el francés, y más estricto el alemán; los lenguajes de programación pueden ser orientados hacia distintos propósitos, por ejemplo PHP es más orientado hacia hacer sitios Web mientras que C++ es más orientado a hacer juegos.
Compilar: Es el proceso en el cual un programa lee el código fuente escrito por alguien y genera un programa o un código intermedio. Esto solo aplica para los códigos fuentes de lenguajes de programación compilados. En el proceso valida que el código esté correcto en su sintaxis (su forma de escribir) así como un corrector ortográfico de un procesador de textos. También valida que todo lo que esté siendo utilizado dentro del código fuente tenga forma de ser interpretado dentro del computador donde se va a ejecutar el programa, es decir si estás llamando a otro código fuente que este exista en el computador o sino no va a funcionar.
Ejecutar: Es el proceso en el cual se le dice llama a un programa para que realice la tarea para la que fue hecho. Normalmente es el proceso que hacemos cuando hacemos doble clic sobre el lanzador de un programa.
Interpretar: Cuando un programa no es hecho en un lenguaje compilado sino en un lenguaje interpretado, para ejecutar el programa no se llama al programa en sí sino al código fuente el cual es interpretado por un intérprete (valga la redundancia) el cual debe estar instalado en el computador. Realmente lo que hace el intérprete es seguir las instrucciones que están en el código fuente e indicar si hay errores en el caso de haberlos. Los lenguajes interpretados más famosos son PHP, Python y Ruby.
Programa: Es el resultado de compilar o interpretar un código fuente. En el caso de ser una compilación el programa será un binario o un ejecutable. En el caso de ser una interpretación el programa seguirá siendo un archivo de código fuente pero se podrá denominar “script” así como el libreto de una película. La diferencia entre el software privativo y el software libre es que el primero puede regalar o vender programas (compilados básicamente) pero sin que sepamos qué hay en el código fuente, mientras que en el segundo nos pueden regalar o vender los programas pero también nos dan los códigos fuentes para poder aprender de ellos.
Hardware: Son todos aquellos dispositivos que componen a un computador o que interactúan con el. Es decir, un teclado es hardware así como un dispositivo de almacenamiento USB o un micrófono. Requieren de un software que permita que interactuemos con ellos ya que por si solos normalmente no pueden hacer nada. Tengamos en cuenta que cualquier acción que realicen está determinada por un software así sea uno básico que se encuentre dentro de un chip internamente del hardware. Así como existe software libre existe hardware libre, y se refiere a hardware que además de ser distribuido es entregado con los planos para poder construir uno igual.
Sistema operativo: Es un programa que hace de intermediario entre otros programas y el hardware. ¿Cómo es esto? Cuando el computador es encendido, lo que se hace es ejecutar (hacer funcionar) al sistema operativo este queda a la espera de las necesidades de los programas utilizados por el usuario. Por ejemplo, si vemos una película en un reproductor de multimedia; este requerirá de la pantalla para visualizar las imágenes y de los parlantes para reproducir los diálogos de la película; para esto cuando reproducimos la película desde el programa, este último le solicita al sistema operativo permiso para usar la pantalla y los parlantes, y es el sistema operativo el que envía la información que le transmite el reproductor hacia los distintos dispositivos requeridos. Existen muchos sistemas operativos, entre ellos están los FOSS como GNU/Linux, FreeBSD, OpenSolaris, ReactOS, FreeDOS, Firefox OS entre otros.
Núcleo o kernel: Al final para hacer todo lo que hace el sistema operativo es necesario que sea un conjunto de programas, pero este conjunto de programas necesita un jefe que coordine todo es ahí donde está el kernel que es el corazón del sistema operativo y es el quien al final ejecuta los otros programas para permitir que podamos hacer todo lo que normalmente hacemos con un computador. También existen muchos tipos de núcleos, para el caso del FOSS los más conocidos son Linux o Hurd.
Versión: Son los distintos modelos de un programa así como en el caso de los automóviles. Es decir, así como existen automóviles que tienen modelo 60 o 70 de la misma forma los programas. Aunque en esencia siga siendo el mismo programa cada nueva versión tiene mejoras con respecto a la anterior. Pueden existir además versiones alfa que sean las versiones iniciales sin probar de un programa, y versiones beta que son versiones que ya se pueden probar pero que todavía tienen errores, luego se lanza una versión estable que es la que usamos y de acuerdo al ciclo de desarrollo del programa se pueden sacar versiones estables cada tanto tiempo.
Distribución (o coloquialmente distro): El sistema operativo por sí solo no nos serviría de mucho, así que es necesario tener distintos tipos de programas para llevar a cabo nuestras labores. Por esto, a nivel mundial y teniendo en cuenta que podemos compartir a GNU/Linux, muchos grupos de personas crearon sus propias formas de distribuir a GNU/Linux acompañándolo de otros programas y presentándolo de distintas maneras, a esto es lo que llamamos distribución o coloquialmente “distro”. A su vez, las distribuciones tienen versiones, que tendrán versiones más actualizadas de esos programas y del propio GNU/Linux. Técnicamente, uno puede hacer una distribución de cualquier sistema operativo.
Paquete: Es la forma de distribuir un instalador de un programa. Es como una caja que contiene el programa e información que un programa llamado gestor de paquetes se encarga de comprobar (Así como en la compilación) para garantizar que el programa puede funcionar en nuestro computador.
Comandos: Se refiere a programas pequeños que nos permiten interactuar directamente con el sistema operativo. Aunque se ha tratado de “mitificar” a los comandos, cualquier persona puede utilizarlos (claro con cuidado) aunque hay muchos que son inofensivos.
Intérprete de comandos: Llamado también consola o terminal. Es un programa que recibe instrucciones, claramente el debe conocer estas instrucciones para ejecutarlas (así como una persona). Estas instrucciones normalmente son los comandos del sistema operativo aunque de igual manera se pueden llamar a los programas que ejecutamos al hacer doble clic sobre ellos. Aunque su apariencia es terrorífica, permite realizar muchas más tareas que lo que podemos hacer al interactuar con el ratón.
Interfaz gráfica de usuario: O en inglés GUI (Graphic User Interface), se refiere a las ventanas sobre las cuales podemos hacer clic. Con el progreso de la tecnología, se espera que todos los programas tengan su interfaz gráfica para que el usuario no deba escribir comandos en un intérprete.
Escritorio: Aunque lo asimilamos como una carpeta cuyo contenido se ve sobre el papel tapiz, realmente es el espacio donde trabaja el usuario (así como en una oficina), es decir las ventanas con las que en un momento interactúa un usuario están dentro de lo que se denomina escritorio. Para el caso de GNU/Linux y otros sistemas operativos FOSS se pueden manejar varios escritorios es decir varios espacios donde tener ventanas abiertas para interactuar con ellas y entre ellas.
Manejador de ventanas: Es un programa que se encarga de manejar la apariencia y el comportamiento de las ventanas, es quien le da colores, bordes, sombras y genera los efectos que hacen que la interacción entre las ventanas sea más llamativa al usuario. Entre los manejadores usados en GNU/Linux están X-Window, Metacity, KWin y Compiz.
Entorno de escritorio: Es un programa que se encarga de permitirle que el usuario tenga su espacio de escritorio (o escritorios) manejando determinadas características y ofreciéndole distintas herramientas. El entorno de escritorio se constituye por pantallas de inicio, manejadores de ventana, programas de navegación de archivos y de configuración del entorno así como íconos, papeles tapices y salva pantallas. Entre los entornos de escritorio usados por GNU/Linux están Gnome, KDE, XFCE y Enlightment.
Navegador: Es un programa que nos permite visualizar contenido HTML (es decir páginas Web). Un navegador puede visualizar páginas Web que estén en Internet, en una red interna o dentro del mismo computador. Gracias a que el estándar HTML ha evolucionado es posible ver contenido multimedia en esas páginas Web.
Red: Es una agrupación de computadores o dispositivos que se pueden intercomunicar autónomamente entre ellos. Aclarando, un teléfono móvil conectado a un PC por un cable no es una red, porque el teléfono no es autónomo en dicho momento. Si el teléfono comparte los archivos con el PC por Bluetooth si es una red. De esa manera se pueden tener redes cableadas, es decir que usan cables o fibra óptica o redes inalámbricas que no usan cables como en el caso de la redes Bluetooth o que las que se conocen como WiFi que usan otro tipo de formas para conectarse. Internet por definición es una red, una gran red de muchos computadores que publican y distribuyen información.
Partición: Un disco duro puede ser dividido en partes que ante el sistema operativo son como dispositivos separados. Es decir aunque se tenga un solo disco duro este puede ser dividido en particiones primarias o extendidas. Es lo que vemos en Windows cuando tenemos un disco C y un disco D aunque nuestro PC solo tenga un disco duro. Para la mayoría de la tecnología actual solo podemos tener cuatro particiones primarias pero las particiones lógicas pueden ser 23 dentro de una de estas particiones extendidas que es una partición que contiene particiones. Sobre las particiones se aplican formatos que le indican al sistema operativo como ubicar los archivos dentro de la partición.
Formato: Es la forma como se ordenan los archivos dentro de la partición. Existen muchos tipos de formatos, entre los cuales los más conocidos son FAT32 y NTFS que son usados por Windows, JFS, ReiserFS, EXT(2,3 y 4) y XFS que son usados por GNU/Linux y los sistemas basados en Unix. Cabe anotar que GNU/Linux también puede manejar FAT32 y NTFS pero que Windows no puede manejar los formatos manejados por GNU/Linux.
Editor WYSIWYG: Es un editor de contenidos (principalmente HTML) en el cual los contenidos que se colocan quedarán de una manera similar cuando sean publicados. WYSIWYG es la sigla para What You See Is What You Get, o en español “Lo que to ves es lo que tu tendrás” refiriéndose a que lo escrito en editor será así al aparecer en el navegador.