¿Porque uso Linux y Software Libre? (para dummies)

por J. O. Guevara


Pues, luego de una fiesta de año nuevo, y para romper el molde del blog “no más tantito”, empiezo con una pequeña pseudo-reflexión, más parecida a una FAQ que cualquier otra cosa (por si no lo sabías, “FAQ” es el acrónimo de Frequent Asked Questions o Preguntas Frecuentemente Preguntadas (o Formuladas.. que redundar es feo).

Empiezo con una pregunta… Sí, ya sé que hasta ahora nadie me la ha hecho, pero me dio ganas de responderla solo por simple curiosidad, además que hace dos años (mas o menos, pero estoy seguro que fue alrededor de un 22 de enero del 2008 según el screenshot más antiguo que he tomado) empecé con esto del Free Software (Software Libre).

Y no, por ser Free Software no está “libre de software” o que sea nada más “software gratis”. “Free”, es una palabra inglesa polisémica (en cristiano, que tiene muchos significados) que puede decir “sin”, “libre”, “gratis”. En este caso es “Libre” por “Libertad”… “Freedom”, como “Freedom of speech” (libertad de expresión) y no como “Free Beer” (cerveza gratis).

¿Y porqué es libre?

Por algo fundamental. El código fuente.

Verán, no soy programador, ni nada por el estilo (aunque me atrae la informática desde pequeño, y obtengo mi “fuerza vital” de la computadora 🙂 -no, no tiene que ver necesariamente con la Regla 34 de Internet-), pero hay algo que es meritorio comprender si se quiere saber de que se esta hablando.

Al igual que una célula está dirigida por el código genético, expresado en bases de ADN (A,T,C,G), que le dicen “divídete”, “come”, “apoptoséate“; los programas de software están dirigidos por el susodicho código fuente, que no es mas que las instrucciones que este programa tiene que ejecutar para funcionar como tenga que funcionar. Es la receta para hacer la comida, en palabras del gurú del software libre Richard Stallman, mejor conocido como RMS, y a veces transfigurado en San IGNUcio, patrón de la libertad del software y de los programadores empedernidos XD

Bien. Ahora, ¿porqué este código fuente tiene que ser libre?

No, no tiene que serlo necesariamente. No siempre es libre. A veces se le encuentra en un formato denominado “Software Privativo”, que no es mas que la ocultación del código fuente. Ver un código fuente de un programa privativo se considera delito de sanción, por la licencia que lo ampara.

¿Porqué algunas personas deciden ocultar el software?

No lo sé… Quizá porque sienten que su programa será toqueteado de más, o que el programador ajeno está cometiendo robo si usa este código. Otras veces se justifica por la denominada “Seguridad por ocultación”, que no es más que el equivalente del Área 51 para el software.

¿Y porqué insisten en que este Software Libre es… bueno, libre?

Porque algunas personas, entre las cuales me anoto, piensan que el ocultar código fuente es igual de productivo y útil que ocultar las recetas de cocina o prohibir la modificación de las mismas, so pena de encarcelamiento. Ya yendo a motivos mas prosaicos, el software libre puede ofrecer las ventajas de una innovación acelerada, casi siempre bajo dirección comunitaria (un producto destinado a una comunidad, por la comunidad), aunque las empresas también pueden usarlo, y de hecho, les puede ir bastante bien. Si no, pregúntenle a Novell o a RedHat. Además, vulnerar la libertad del software es vulnerar la libertad creativa de los programadores que pueden aportar algo… Y para anarquistas de mercado anti-PI como yo (propiedad intelectual), es un exabrupto y un absurdo el poner un límite de uso artificial a algo como un pensamiento o el producto de el.*

¿Y en que me beneficia a mí eso?

Bueno, si no lo pruebas, no creo que puedas darte una oportunidad de un juicio objetivo… Particularmente, si no aprendes a valorar tu libertad, creo que no merezcas mucho el tenerla. ¿Digo, no?

En mi caso, tengo un producto de calidad aceptable (hay fallos, como en todo, no es perfecto), de buen rendimiento, a un costo nimio (en realidad “0”), sin sacrificar mis principios, y siempre con la posibilidad de donar ayuda a la comunidad que gentilmente lo hace.

A ver, no te entiendo ¿Como coño funciona eso del software libre?

Güeno… Sé que algunas veces no me se explicar. Como me da pereza escribir tanta paja, pues acá pongo los cuatro principios del software libre (cortesía de la fundación GNU):

El software libre es una cuestión de libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y modificar el software. Más concretamente se refiere a los cuatro tipos de libertades para los usuarios de software:

La libertad de usar el programa, con cualquier propósito (libertad 0).

La libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.

La libertad de distribuir copias, con lo que puede ayudar a otros (libertad 2).

La libertad de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (libertad 3). De igual forma que la libertad 1 el acceso al código fuente es un requisito previo.

¿Fundación GNU? ¿Que es eso?

Es la fundación creada por el Sr. Stallman para defender y promover el software libre a través de la Licencia Pública General (General Public License o GPL para los gringos), la materialización del derecho libertario del software. Esta licencia especifica las libertades a las que está amparado el software licenciado a ella y les da respaldo legal… un respaldo que se ha obtenido prácticamente por mero consenso… ¿Orden Espontáneo?

Ah, y por si se lo pregunta. GNU es un acrónimo que significa “GNU’s Not Unix”. Es decir, que el sistema operativo GNU no es UNIX (un sistema operativo de los años 70, en el cual GNU se basa, siendo básicamente una versión libre de UNIX -!!Pero NO es UNIX!!-) Como este acrónimo tiene el acrónimo dentro de el, y así hasta el infinito…………. se le llama “acrónimo recursivo” (cosillas del lenguaje)

Y hablando de todo ¿Que software usas?

Bueno… una compilación de todas esas cosas. La más conocida y la que le da soporte a la mayoría de ellas en este momento es el sistema operativo GNU (sí, producido, en un principio por la Fundación) con un núcleo o kernel que se llama Linux. ¿El sistema del pingüinito que quema logotipos de Windows? Sí. Ese mismo.

Verán. Linux*** es un sistema operativo construido similar a UNIX (recuerden que es GNU), pero tiene una parte bastante distintiva, y esa es la parte que le da el nombre por el cual es más conocido. El Kernel o Núcleo. Esta cosa es básicamente la raíz del sistema operativo y la que coordina todos los periquitos que funcionan debajo. Es un software de bajo nivel… es decir, las entrañas del S.O.

El kernel Linux, según Güiquipedia y demás gente, nació como un proyecto personal de un estudiante finlandés de informática. Linus Torvalds, el cual, usando las herramientas GNU, quiso hacer un sistema operativo que corriera sobre una base 386 (¿se acuerdan de esas computadoras color beige que pesaban toneladas y de vaina tenían pantallas a color? Yo poco). Para ello empezó a construir el núcleo, y (algo importante), pidió ayuda a quien lo quisiera para expandirlo. Varios años despúes, ya pasamos de las primitivas alphas hasta las actuales versiones 2.6.32, en donde la cantidad de líneas de código es bastante impresionante, y las funciones, cada día van superándose a sí mismas.

Ambos, sistema GNU, kernel Linux, junto a otros agregados como los gestores de ventanas (Las famosas “X”) y los entornos de escritorio (KDE, Gnome, XFCE, LXDE, Fluxbox, Enlightment), han logrado evolucionar desde sistemas casi marginales y poco amigables para los usuarios del tipo “siguiente, siguiente, siguiente” hasta representar una seria competencia para sistemas privativos, en cuanto a rendimiento y estabilidad se refire. Todo ello gracias a la afortunada conjunción de varias características.

Herencia UNIX… Sistema originalmente orientado a redes, construido para durar, y para la seguridad. No es fácil de vencer y, los virus diseñados para Windows pasan de largo al ser ininteligibles para el sistema

Libertad GNU… La libertad del código permite la libre innovación y el mercado de ideas (libre mercado bastante radical) en donde la competencia y la seleccion hacen su efecto mágico y permiten la aparición de nuevas y mejoradas funcionalidades.

Kernel Linux… El kernel Linux vino a juntarse con el sistema GNU porque no había otra opción importante. El núcleo destinado por la fundación para el sistema GNU, el HURD, no se completó a tiempo (y de hecho, lamentablemente, no es enteramente usable) y permitió que toda la atención comunitaria se enfocara en el kernel Linux, que de por sí tiene algunas ventajas… Como la modularidad (la cual permite instalar programas “al calor”, sin reiniciar la computadora) y el hecho de ser simple (ser un núcleo monolítico), facilitando el desarrollo del sistema. El HURD no ha progresado debido a las altas expectativas de la fundación, la falta relativa de desarrolladores y por la complejidad de ser un micronúcleo (entes independientes funcionando como un solo núcleo).

Seguridad comunitaria… El hecho de estar en comunidad le da al sistema una base con incentivos hacia la calidad, debido al más cercano trato del usuario. Permite la difusión rápida de ideas, así como su contraste, prueba y selección en beneficio de la comunidad. La competencia también es alentada, debido a la gran diversidad de versiones de Linux (comúnmente denominadas como “distribuciones” o “Distros”) en donde se ponen a prueba ideas que, bastantes veces, suponen innovación en su campo. Hay competencia, y eso garantiza progreso. La seguridad también deviene por el hecho de ser abierto… Y, a pesar de algunos, Sí hay virus en Linux… Pero generalmente son pocos, y, a pesar de aumentar su cantidad (algo previsible por el aumento de la cantidad de usuarios), el sistema Linux está construido en base a la simplicidad y la seguridad. Los parches salen casi inmediatamente al descubrirse el problema. Además, el usuario común (por defecto en la mayoría de las distros) no tiene superpoderes administrativos. Para acceder a ellos necesita una contraseña… el famoso comando sudo. Esto evita que cualquiera que ingrese al sistema para crackearlo tenga poderes absolutos de configuración para hacer y deshacer.

Algo bastante distinto de un sistema cuyo objetivo principal no fué la seguridad ni la estabilidad, sino la usabilidad. Cuya empresa ejerce un monopolio que hace enlentecer la innovación y la calidad del software, todo gracias a la privación del código, que no permite el desarrollo de una comunidad próspera y activa. Y sí creen que estoy hablando de Windows… Sí. Exactamente. Algo parecido pasa con Apple y su Mac OS X… pero ellos tienen la suerte de tener herencia UNIX directa (son oficialmente, un sistema tipo-UNIX homologado), y no se puede hablar de monopolio en el caso de Apple (bueno, por lo menos hay algo en la exclusividad del software-hardware típica de Apple; es decir, legalmente solo puedes comprar e instalar Mac OS en computadoras fabricadas por la compañía de Cupertino).

Linux es multiplataforma. El mejor ejemplo de ello (que yo conozca) es la distro “Debian“, conocida por ser la madre de la popular “Ubuntu“, siendo sus marcas la comprobada estabilidad y modularidad, junto a un manejador de paquetes***** cumplidor y un formato de paquetería popular (.deb). Esta distro acepta por lo menos diez plataformas, ya sea la plataforma x86, fabricada por Intel (donde se montan los procesadores Pentium y Centrino, p.ej), la AMD, la PowerPC fabricada por Motorola -base de los antiguos Mac OS-, et cétera. Es decir, muy pocas computadoras van a rehusar instalar Linux (salvo que sea hardware muy nuevo o muy raro, siempre hay sus excepciones).

A pesar de todo, Linux todavía tiene sus falencias. En el área de los videojuegos y de las aplicaciones específicas es donde se nota más la cuestión. No hay una industria de los videojuegos que se dedique con fervor a Linux (y los juegos más importantes no los suelen portar), y hay algunas aplicaciones como Photoshop, AutoCAD, Word(?) que o no han sido portadas a Linux (haciendo que el que dependa de ellas no pueda usar Linux) o las aplicaciones equivalentes no suelen gustar, por costumbre o por falta de alguna función específica. The GIMP, es el equivalente de Photoshop y para mí sirve bastante bien, no sé a alguien que dependa de diseño gráfico o eso. Para Word y las suites de oficina, un reemplazo habitual suele ser OpenOffice (o su futuro estable fork, LibreOffice) el cual no tiene mucho que envidiarle a Microsoft Office (excepto Impress -equivalente de Powerpoint- que simplemente es inusable -quizá me extienda en otra ocasión-). Los drivers para algún hardware tambien es algo que en algunos casos puede generar problemas (gracias a que algunos fabricantes no suelen publicar drivers para Linux, ya sean tarjetas de video o periféricos como impresoras).

Bueno… Eso es todo. Me ha costado algo escribir este ladrillo-post, pero si por lo menos a alguien le interesa este mundillo, solo tiene que ser valiente.

PD: ¿Porqué dejaste Windows?

Es una historia algo larga… Mi laptop vino con Windows XP SP2 original… Por cuestiones estas de descargar música (es en serio ¡música!) se le metió un simpático virus que casi amenazó a mis documentos con la extinción. Se lograron salvar y se instaló para reemplazar al sistema que me acompañó desde agosto del 2007 un Windows XP SP2 “con tendencias a navegar con un parche y asaltar barcos mercantes”. Tres BSOD despúes, la paranoia de los viruses y gracias al envejecimiento progresivo de XP (esto es a finales de 2008) decidí instalar esa cosa de la que estaban hablando. Con algo de miedo y alguna documentación instalé el 22 de enero de 2009 Ubuntu 8.10 con doble boot (no borré a Windows por cuestiones de “transición” -que todavía dura-). Paso por ubuntu 9.04, 9.10 y luego pasé por un corto periodo de “distrohopper” (aquel que prueba distro tras distro sin decidirse) probando OpenSUSE 11.2 y Kubuntu, hasta llegar a la distro en la que estoy ahora, Linux Mint, la cual uso desde sus versiones 7, 8 y ahora la 9.

Está bastante modificada, por cierto, luego de meterle XFCE y luego reemplazarle con KDE (me gusta el eyecandy y ciertas cosas como los KIPI Plugins) mandando al exilio a todos los programas y librerías GTK que pueda (excepto los esenciales como Firefox o GIMP) haciendo que consuma recién encendida (y con la mayoría de los efectos activos) aprox. unos 200 MB

Y pienso pronto reemplazarla por Chakra Linux… Otro tema es la migración de aquellos documentos (que gracias a mi desorganización se han convertido en 20 GB, ya sin espacio en el disco). Quiero un sistema rápido (herencia de Arch Linux, y del “tuneo” del KDEmod), estable (eso del half-rolling-release me llama mucho la atención), modular (para que demonios instalar el paquete knet cuando solo necesito kopete), y aún con algunas herramientas para “dummies” (su instalador que ha recibido buenas críticas) para no romperme la cabeza, sin perder cierta innovación mimando a KDE y a las herramientas Qt. ¡La promesa es grande! (aunque esté en estado alpha)

Distro: Linux Mint 9 Main Edition

Escritorio: KDE SC 4.5.3

Por si te lo preguntas… Un entorno de escritorio es una colección de programas que juntos forman una GUI, o Interfaz Gráfica de Usuario (Graphical User Interface). Sirve para llevar un sistema operativo con lo principal masticado para usarlo diariamente sin muchos dolores de cabeza (porque Linux puede ser perfectamente funcional en consola de texto -CLI/Command Line Interface o Interfaz de Línea de Comandos-) Hay varios (ya que el entorno es independiente del S.O. no como Windows en donde está tan fundido que no puedes usarlo sin prescindir del mismo), entre los cuales están GNOME y KDE (los principales competidores). Prefiero KDE personalmente por su alta configuración, su coherencia de código (usa Qt, herramienta de desarrollo construida en C++), su bonita apariencia y algunas herramientas que me facilitan la vida como los KDE Input-Output Plugins, la navaja suiza de Konqueror (ansiando su resurección) y el administrador de archivos Dolphin.

Tema ventanas: Oxygen

Tema Plasma: Glassified

Colores: Me gustan el plateado y el negro.

Wallpaper: Ni me acuerdo cuando conseguí esta imágen… Es madera negra (tomándome literalmente que esto es un escritorio y tal)

Plasmoides: Escritorio sencillo. Solo un reloj analógico y el plasmoide KDE Microblog (un cliente para Twitter)

Tema Íconos: Faenza

_________________________________________________________________

*Eso no significa, como suele comparar alguna gente desinformada, que el Software Libre sea anarquista, comunista o que esté ligado a una tendencia política definida, así como tampoco es abortista, satánico… Ups, creo que eso sí es, jijijiji**

**Por si no se dan cuenta… esa página es una broma exagerada. Pero muy divertida.

***Hay una especie de “pelea” sobre como debería ser llamado el S.O. La posición de la fundación GNU es que el sistema se deba llamar exclusivamente GNU/Linux (se pronuncia en español “ge-ene-u-barra-línux” o en gringo “yi-en-niú-slash-láinux” o “ñiú-slash-láinux”), esto para reconocer el esfuerzo de la fundación en la (valga la redundancia) fundación del sistema operativo, además de indicar que el núcleo Linux no pertenece oficialmente a la fundación, y que es un proyecto separado de esta (que por cosas del destino) se fusionó en una especie de “jogress”**** con el sistema GNU.

En la entrada uso los dos nombres, pero personalmente prefiero Linux, por cuestiones de economía del lenguaje (además por sonar bien). Eso sí, siempre explicando el orígen del nombre cuando sea necesario, y claro, no olvidando la contribución de la fundación GNU.

**** Portmanteau de “joint” (unido, conjunto o fusionado) y “progress” (progreso). “Progreso conjunto”

*****Es un programa que manipula los paquetes de software, sus dependencias y repositorios para poder usarlos en el sistema. Los paquetes son una especie de equivalente al .exe de Windows… Las dependencias son aquellos paquetes previos que necesita un paquete para funcionar adecuadamente. Como la instalación de paquetes se suele hacer vía Internet, están los repositorios, que no son nada más que direcciones de archivos en la web, en donde se encuentran los paquetes necesarios para ser instalar. Como verán, la instalación es de manera centralizada para cada S.O. No hay que estar buscando como un errante un determinado programa en cientos de páginas.

=-=-=-=-=
Powered by Blogilo

Anuncios