Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Genéticos Son derivados del UNIX original de Bell FreeBSD, NetBSD, OpenBSD, AIX,
Labs Oracle Solaris, macOS, HP-UX
Registrados Son UNIX marca registrada certificada Oracle Solaris, macOS, HP-UX
por The Open Group
El nacimiento de Linux
Linus Torvalds creó el núcleo Linux en 1991 en la Universidad de Helsinki, Finlandia. Linux comenzó a desarrollar Linux sobre el sis
tema operativo Minix. Poco tiempo después el reemplaza las herramientas Minix existentes por las desarrolladas en el proyecto GNU.
El nombre del kernel fue puesto por un compañero de la Universidad de Helsinki, que es la denominación que finalmente se impuso.
El 5 de octubre de 1991, lanza la primera versión considerada pública: la 0.02. Ya podía ejecutar bash (el shell de GNU) y gcc (el
compilador de C de GNU), pero no hacía mucho más.
En este anuncio, puso frases como estas:
[…]“¿Suspirás al recordar aquellos días de Minix-1.1, cuando los hombres eran hombres y escribían sus propios drivers?
¿Te sentís sin ningún proyecto interesante y te gustaría tener un verdadero S.O. que puedas modificar a tu gusto? ¿Te
resulta frustrante tener solo a Minix? Entonces, este artículo es para vos.”[…]
A finales de 1991 se hizo público Linux con la versión 0.10. Un mes después, en diciembre, apareció la versión 0.11. Linus y animó a
otras personas a colaborar en su desarrollo. Un paso significativo lo dio en enero de 1992, ya que fue la primera versión (0.12) con la
licencia de software libre GNU GPL.
Muchos programadores se unieron al proyecto a través de la naciente Internet. Linux continúa su desarrollo hoy en día gracias a un
equipo mundial dirigido por Linus, que trabaja a través de Internet.
Gran parte del software desarrollado para Linux es creado por el proyecto GNU creado por el estadounidense Richard Stallman.
En la actualidad, la lista de colaboradores en el desarrollo de Linux es inmensa.
Qué es Linux
Linux es el nombre del núcleo de un sistema operativo. En general, también, se extiende este nombre para todo el sistema operativo.
Muchos se refieren al sistema operativo como GNU/Linux, ya que consideran que el software del proyecto GNU fue determinante para
el desarrollo de Linux y porque el sistema que Stallman iba a crear se llamaría GNU. No obstante, en la actualidad, en cualquier
distribución de Linux existe una gran cantidad de software que no proviene del proyecto GNU. Por ejemplo: Apache, PHP, MySQL,
etc.
Por otro lado, existen sistemas operativos Linux que no poseen herramientas GNU, por ejemplo: Android y Replicant.
Es decir: existen argumentos a favor y en contra de la denominación “GNU/Linux”.
Es por eso que en este documento y de aquí en adelante cuando hablemos de Linux, salvo que aclaremos nos estaremos refiriendo a
una distribución de Linux.
Linux creció a la par del movimiento del software libre y de la iniciativa para el código abierto. El sistema operativo del pingüino (la
mascota de Linux que, por cierto, se llama Tux) se convirtió en poco tiempo en el producto más famoso del software libre y, también,
en la apuesta de más de una multinacional en el sector informático.
Distribuciones de Linux
La posibilidad de que exista un gran número de programas de software libre permite la creación de diferentes sistemas Linux, y es así
cómo aparecen las distribuciones de Linux.
Es decir, existen usuarios, comunidades, y/o empresas que se encargan de compilar software y convertirlo en un sistema operativo
instalable y usable.
Lo importante es saber que existen dos ramas principales de distribuciones de Linux, aquellas basadas en Debian y las que están
relacionadas de alguna manera en su desarrollo con Red Hat.
Algunas de ellas son las que figuran en este listado:
Debian es una de las primeras distribuciones y data del año 1993, creada por Ian Murdock. Es uno de los sistemas operativos más
respetados y se usa preferiblemente en servidores. Url: http://www.debian.org
Red Hat Enterprise Linux Fue creada por la empresa Red Hat en el año 2003 apunta más bien al ámbito corporativo. Su antecesora
Red Hat Linux fue la primera en proporcionar un sistema sencillo de instalación. La empresa Red Hat cobra suscripciones mediante la
cual ofrece soporte comercial. Url: https://access.redhat.com/products/red-hat-enterprise-linux
Mint: Esta distribución concebida por Clement Lefebvre en al año 2006, le agrega algunas prestaciones al sistema ya instalado y
además, intenta proporcionar una interfaz gráfica amigable y pulida. Url: http://linuxmint.com/
LXLE: es una distribución creada a comienzos de 2013 basada en Lubuntu cuyo entorno de escritorio predeterminado es LXDE: un
escritorio liviano, ideal para computadoras con pocos recursos. Url: http://www.lxle.net/
CentOS: Con origen en el año 2004, es otra de las distribuciones patrocinadas por Red Hat. Es un clon gratuito de Red Hat
Enterprise Linux. Es decir utiliza el código fuente de aquella para compilar un sistema operativo que es compatible con dicha
distribución. Está orientada a servidores y ambientes corporativos. El proyecto ofrece soporte comunitario gratuito del sistema
operativo. Url: http://www.centos.org
Scientific Linux: Nació en el año 2004 y está desarrollada por el Fermilab (Laboratorio Nacional Fermi) y la CERN (Organización
Para La Investigación Nuclear). Está basada también en Red Hat Enterprise Linux, y como lo indica su nombre está enfocada en el
ámbito científico. Url: https://www.scientificlinux.org/
Arch Linux: Es una distribución orientada a usuarios avanzados y se caracteriza por poseer un sistema de paquetes propio. La
instalación oficial es en modo texto. Además se trata de una distribución “rolling release”. Es decir, está en permanente desarrollo y
posee paquetes que están continuamente actualizándose. Es por eso que los números de las versiones no son tan relevantes para
este caso. Url https://www.archlinux.org/
Slackware: Es la distribución más antigua que sigue actualmente vigente. No posee una gran cantidad de usuarios, pero sigue siendo
una de las distribuciones más respetadas. Está orientada a usuarios avanzados y que tienen suficiente tiempo como para internarse
en las cuestiones avanzadas del sistema operativo. http://www.slackware.com/
Por lo tanto cuando hablamos de software libre no tiene relación necesaria con el precio del mismo. Si bien una buena cantidad de
software libre lo podemos obtener gratuitamente de Internet y es perfectamente legal hacer copias, muchas empresas viven del
software libre.
La rentabilidad de estas empresas está basada en ofrecer servicios alrededor del software que proporcionan, algunas de ellas son:
Red Hat, Novell, AdaCore, Oracle, etc.
Es importante remarcar que el software libre tiene licencias. Una licencia de software libre debe ofrecer las cuatro libertades arriba
mencionadas. Existen muchas licencias de software libre, pero podemos dividirlas en dos categorías:
● Copyleft: Obliga a que las obras derivadas se distribuyan bajo los mismos términos, por ejemplo: la Licencia de Público
General GNU (GPL)
● No-Copyleft: Permiten que se creen obras derivadas con otra licencia, por ejemplo, las licencias BSD.
Linux : Características
Multitarea total
Se pueden ejecutar varias tareas y se puede acceder a varios dispositivos al mismo tiempo.
Memoria virtual
Linux puede simular una mayor cantidad de memoria, gracias un método llamado virtualización de memoria.
Soporte multiusuario
Linux permite que varios usuarios accedan a su sistema simultáneamente sin que haya conflicto entre ellos y cada uno con su espacio
de trabajo.
Código fuente libre
Linux cuenta gracias miles de programas, librerías y software de diferente tipo con licencias de software libre.
Adaptabilidad
Linux puede ejecutar una amplia variedad de software, disponible gracias a una gran cantidad de proyectos existentes. Este software
incluye, desde compiladores (GNU C y GNU C++) a la administración del sistema y redes (GNU coreutils, gawk, CUPS, SAMBA, etc.),
juegos (pychess, Kigo, y NetHack) y herramientas de productividad como LibreOffice.
Estabilidad
Linux presenta una gran estabilidad en la gestión de sus procesos internos del sistema. Es muy difícil conseguir que Linux se
"cuelgue" y, por supuesto, jamás se verá una "pantalla azul".
Entornos gráficos
Si bien en servidores es recomendable usar solamente interfaces de texto, cuando se lo usa desde estaciones de trabajo tenemos a
disposición entornos gráficos muy amigables. Hay distribuciones de Linux con entorno gráfico que datan desde 1992. Pero a
diferencia de otros sistemas operativos, Linux cuenta con una variedad de entornos de escritorio y manejadores de ventanas. Los
principales entornos de escritorio son KDE Plasma, GNOME y XFCE.
La comunidad Linux
Linux tiene una comunidad muy activa de desarrolladores, los cuales muchos de manera voluntaria están dispuestos a responder
consultas por medio de listas de correo, foros o canales de chat.
Soporte de hardware
En la actualidad la mayor parte del hardware está soportado por Linux. Sin embargo, antes de comprar, es conveniente verificarlo en
sitios web que poseen listas de compatibilidad con Linux.
Más recursos
● [Ubuntu Desktop certified hardware | Ubuntu](https://certification.ubuntu.com/desktop)
● [List of Linux-supported computer architectures -
Wikipedia](https://en.wikipedia.org/wiki/List_of_Linux-supported_computer_architectures)
● [Linux Mint - Community](https://community.linuxmint.com/hardware)
● [Portal:Hardware - openSUSE Wiki](https://en.opensuse.org/Portal:Hardware)
● [Hardware Compatibility List (HCL) | Qubes OS](https://www.qubes-os.org/hcl/)
● [Red Hat Customer Portal](https://access.redhat.com/ecosystem/search/#/category/Server)
● [Hardware - Debian Wiki](https://wiki.debian.org/Hardware)
● [Hardware Devices that Support GNU/Linux — Free Software Foundation — working together for free
software](https://www.fsf.org/resources/hw)
Links Recomendados
Free Software Foundation
Proyecto GNU
Licencias bajo GNU
Open Source
Linux Foundation
Distrowatch
¿Que es BSD?
¿Que es el Sofware Libre?
Wiki LPI
Libros Impresiones
Market LPI
Instalación y uso básico de Linux
¿Qué es Particionar?
Cuando vamos a realizar una instalación de nuestro sistema operativo Linux, necesitamos particionar nuestro disco rígido, pero…
¿qué significa esto?.
Particionar significa dividir nuestro disco en varias partes, donde cada una de ellas se utilizará para instalar determinadas secciones
de nuestro sistema.
Particiones Primarias
Todos los discos duros que tengan un sistema de archivos, usan una partición primaria. Es la primera partición creada en el disco. Si
todo el espacio del disco es utilizado por la partición primaria, ésta será la única partición del disco. Es posible tener varias particiones
primarias en un único disco físico. Estas particiones se utilizan para arrancar el sistema y están limitadas a un máximo de cuatro en un
mismo disco rígido.
Particiones Extendidas
Si se necesitan más de cuatro particiones en el disco, es necesario crear una partición extendida. Cuando existe una partición
extendida en un disco, no puede haber más de 3 particiones primarias en el mismo. Una partición extendida por sí misma carece de
utilidad. En realidad actúa como un contenedor de particiones lógicas, y puede contener varias particiones lógicas. Estas particiones
no son arrancables (boot), pero permiten tener un gran número de particiones en el sistema. Las particiones lógicas sólo pueden
existir dentro de una partición extendida.
Ventajas de GPT
1. Utiliza GUID (UUID) para identificar los tipos de particiones.
2. Proporciona un GUID único de disco y un GUID único de partición para cada partición.
3. Número arbitrarios de particiones (depende del espacio asignado por la tabla de particiones). No hay necesidad de
particiones extendidas y lógicas. Se pueden crear un número ilimitado de particiones, aunque en general las herramientas de
particionado permiten de manera predeterminada hasta 128 particiones.
4. Utiliza 64-bit LBA para almacenar números del Sector - tamaño máximo del disco manejable es de 2 ZiB.
5. Almacena una copia de seguridad del encabezado y de la tabla de particiones al final del disco que ayuda en la recuperación
en el caso de que los primeros están dañados.
6. Checksum CRC32 para detectar errores y daños de la cabecera y en la tabla de particiones.
Punto de Montaje
Los puntos de montajes son aquellos directorios sirven para acceder a una determinada partición.
A la hora de la instalación, cuando particionamos nuestro disco, hay que seleccionar en qué particiones se van a “montar”
determinados directorios.
Cantidad de particiones
El particionado más básico es de una partición para el directorio raíz y otra partición para swap. Se podría prescindir incluso de crear
la partición para swap y utilizar un archivo, pero eso generalmente no es recomendable (por eso para nosotros el mínimo son aquellas
dos particiones): Is a swap partition required for SLES?
La partición swap se utiliza como memoria RAM de reserva adicional. Su tamaño debería oscilar en entre 1x a 2x la memoria RAM.
Cabe aclarar que la memoria swap no usa un directorio como punto de montaje y que es invisible en el sistema de archivos.
Dependiendo del uso que se le quiera dar, Linux puede instalarse con más particiones del mínimo requerido. Los directorios que son
susceptibles de ponerse en una partición específica son:
● /boot: útil para usarlo como solo lectura para evitar borrar por accidente el contenido de este directorio (este directorio
contiene el kernel). Generalmente alcanza con unos 500 MB.
● /boot/efi: Esta partición es obligatoria si se posee UEFI en lugar de BIOS (Debe tener unos 256 MB y estar formateada en
FAT32 o su equivalente en Linux: vfat).
● /home (Este directorio contiene los documentos y configuraciones de los usuarios, de manera que es indicado para
estaciones de trabajo y computadoras de usuario final).
● /usr
● /var
Si no estamos seguros aun de la cantidad de particiones que vamos a necesitar podemos optar el método de particionamiento
automático que nos ofrece la distribución.
¿Qué es LVM?
LVM (Logical Volume Manager) es un gestor de volúmenes lógicos para el sistema operativo Linux y es una manera de asignar
espacio de un medio en volúmenes lógicos que pueden ser fácilmente redimensionados.
Ventajas de LVM
● Flexibilidad: Redimensionamiento de manera fácil.
● Disponibilidad: pueden agregarse discos y migrar datos fácilmente.
● Instantáneas para backup (Snapshots)
En la imagen se puede visualizar como el grupo de volúmenes (VG) “myvg” contiene 3 discos (hdisk1, hdisk2 y hdisk3), de los cuales
el directorio /home utiliza parte del primer disco y una parte del segundo, con posibilidad de extenderse.
Ilustración: “Logical Volume Manager” de Emanuel Duss en https://commons.wikimedia.org/wiki/File:Lvm.svg se puede distribuir bajo
los términos de la licencia http://creativecommons.org/licenses/by-sa/3.0/de/deed.en
Es decir, LVM permite unificar particiones de distintos discos y agruparlas como si fuera un único disco. Posteriormente a este disco
podemos subidividirlo como queramos.
Es decir:
● Un PV (volumen físico) es una partición
● Uno o más PV’s conforman un VG (grupo de volúmenes)
● Cada VG se puede dividir en LV’s (volúmenes lógicos) que son similares a las particiones comunes
Importante:
● Un VG puede tener PV de diferentes discos físicos
● Un PV puede abarcar toda la partición de un disco
● Lo contrario también es cierto un disco puede estar dividido por ejemplo en una partición común y una partición que se usa
como PV
● Ni los PV’s ni los VG’s se formatean, solamente los LV’s
● No necesitamos ningún requerimiento especial para crear un LVM. De hecho podríamos crear un VG a partir de una única
partición
Si nos quedáramos sin espacio se puede agregar un disco, crear un volumen físico (PV), asignarlo a un grupo de volúmenes (VG),
para luego extender el volumen lógico (LV).
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- 7,51g 0
# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- 7,51g 0
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 6,71g
swap centos -wi-ao---- 820,00m
📌
● btrfs
● jfs
Instalación de Debian
Particionar disco
Debian ofrece tres métodos para particionar, pero
además podemos elegir particionarlo a mano
eligiendo nuestro propio esquema.
Configurar el gestor de paquetes y selección
de paquetes
En este punto si se trata de un servidor es
aconsejable seleccionar únicamente el paquete de
servicio SSH. Este nos permitirá acceder de
manera remota luego de la instalación e instalar
los paquetes adicionales que estemos
necesitando.
Instalación de CentOS
Particionar disco
Aquí se ofrecen opciones similares a las de Debian para
esta etapa. Tener en cuenta que CentOS de manera
predeterminada usa LVM.
Si queremos hacer un particionado manual, se nos
presentará convenientemente una pantalla para seleccionar,
el tamaño, formato, punto de montaje de la partición, etc.
Ejecutar la instalación y definir contraseñas
Al configurar todos los items requeridos podemos
desaparecerá cualquier mensaje de advertencia y podremos
comenzar con la instalación.
Mientras se realiza la instalación podremos crear la
contraseña de root y una cuenta de un usuario común.
Tener en cuenta que si queremos usar una contraseña débil
(no es conveniente salvo que se use para pruebas o
aprendizaje) deberemos hacer dos clics en el botón ‘Listo’.
Finalizar la instalación
Al terminar tendremos la oportunidad para reiniciar el
sistema y usar el sistema recién instalado.
De manera simplificada, una terminal virtual es una pantalla virtual. En Linux en la mayoría de las distribuciones existen 6 terminales
de texto y una gráfica (esto último si el entorno gráfico está instalado). En algunas distribuciones la terminal gráfica está en la terminal
1, mientras que en otras está en la 7.
Para pasar de una terminal de texto a otra se usa el atajo de teclado Alt+Fn donde Fn es una tecla de función del teclado y “n” es el
número de terminal, por ejemplo, si estamos en la terminal 2 de texto y queremos ir a la terminal 3, usaremos el atajo Alt+F3.
Para pasar de una terminal gráfica a una de texto puro (la 4 por ejemplo), es necesario ejecutar el atajo de la siguiente forma:
Ctrl+Alt+F4.
Nota: En VirtualBox el atajo para pasar de una terminal gráfica a una de texto es Ctrl-derecho+Fn.
En cada una de esas terminales tenemos la posibilidad de loguearnos y comenzar a trabajar. Para hacerlo, es necesario ingresar o
seleccionar el nombre de usuario y contraseña.
Si se usa el entorno gráfico existen programas que proporcionan terminales virtuales, por ejemplo, en GNOME se puede acceder
mediante el atajo de teclado Alt+F2 y luego ingresando gnome-terminal y presionando la tecla Enter.
# whoami
root
# date
mar may 16 16:58:16 ART 2017
# poweroff
Si estás como un usuario distinto de root se puede apagar el sistema de alguna de las dos maneras siguientes, de acuerdo a la
distribución:
$ su -c “poweroff”
📌
En este caso se pedirá la contraseña de root.
El comando su sirve para ejecutar comandos como otro usuario y lo usaremos para
iniciar una sesión como root así:
$ su -
Si un comando nos da error de permisos, probablemente sea que necesitemos hacerlo
como root.
Otros comandos básicos
dir Muestra el contenido de directorios
cal Muestra un calendario
exit Cierra una terminal
factor Factoriza números
less Visor de texto (se sale con la tecla q)
logout Cierra terminal con sesión (es decir una en la que el usuario uso su
more Visor de texto más antiguo que less (se sale con la tecla q)
pwd Muestra la ruta del directorio actual
tty Muestra el archivo especial correspondiente con la terminal virtual utilizada
users Muestra los usuarios actualmente logueados
Más recursos
Libros:
● [CompTIA Linux+ / LPIC-1 Cert Guide: (Exams LX0-103 & LX0-104/101-400 &
102-400)](https://www.lpimarketplace.com/CompTIA-Linux-LPIC-1-Cert-Guiden-p/978-0-78-975455-4.htm)
● [CompTIA Linux+ /LPIC-1 Certification All-In-One Exam Guide, Premium Second Edition With Online Practice
Labs (Exams LX0-103 & LX0-104/101-400 &
102-400)](https://www.lpimarketplace.com/CompTIA-Linux-LPIC-1-All-In-One-Exam-Guide-p/978-1-259-86369-1.
htm)
● [LPIC-1 Certification All-in-One Exam Guide Exams LPIC-1 book | LPI
Marketplace](https://www.lpimarketplace.com/LPIC-1-Certification-All-in-One-Exam-Guide-p/978-0-071-84168-9.
htm)
Páginas:
● [Preparar los discos - Gentoo Wiki](https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks/es)
● [Instalación de Linux Debian](http://persoal.citius.usc.es/tf.pena/ASR/Tema_2html/node7.html)
● [Instalación de Debian 9 en cinco particiones |
LiGNUx.com](https://lignux.com/instalacion-de-debian-9-en-cinco-particiones/)
● [Partitions: Planning Your Linux Installation — Guide to Linux for
Beginners](https://www.control-escape.com/linux/lx-partition.html)
● [LPI Linux Certification/Design Hard Disk Layout - Wikibooks, open books for an open
world](https://en.wikibooks.org/wiki/LPI_Linux_Certification/Design_Hard_Disk_Layout)
Anexos
📌Las secciones que continúan aquí se agregan por cuestiones históricas y/o pedagógicas, pero no forman parte del
contenido teórico de la clase. No obstante, se advierte que puede incluir contenido obsoleto o inexactitudes.
Es por ello que existen empresas que venden sus productos, aun cuando han sido liberados como Software Libre. Del mismo modo,
encontramos autores de Software que piden una retribución por su trabajo, la mayoría de las veces como donaciones, pero también
en algunas otras con un costo mínimo de uso.
En el sistema GNU/Linux, existen distribuciones las cuales son un núcleo o kernel Linux, en conjunto con una gran cantidad de
Software y herramientas que son liberadas bajo este concepto, y que son empaquetadas y trabajadas por compañías como Novell,
MandrivaSoft, Red Hat, etc., que comercializan con ellas, apegándose a las licencias respectivas y en completa legalidad. Sin
embargo, debido al falso rumor o mito de que el Software Libre es gratis se puede creer que estas empresas están haciendo una
explotación ilegal del mismo, cuando en realidad, al igual que las distribuciones enfocadas totalmente a los usuarios GNU/Linux, sin
aparente animo de lucro, forman parte de los pilares fundamentales del sistema GNU/Linux.
Otro ejemplo de venta de distribuciones GNU/Linux lo podemos ver en numerosos sitios en Internet que venden copias en CDs de las
distintas distribuciones. Todavía se da mucho la creencia de que estos sitios actúan de manera ilegal, es decir, que forman parte de la
piratería en GNU/Linux. No obstante, las libertades que promueve el software libre les da el derecho de redistribuir las copias de esta
manera. En la mayoría de los casos, estos sitios hacen accesible el sistema Linux a un costo razonable para aquellos usuarios que no
disponen de una conexión a Internet de banda ancha y que no pueden descargar los CDs por ellos mismos o que no pueden
conseguirlos de otra manera.
Existen numerosos ejemplos de las variadas formas de obtención y redistribución del Software Libre sin que el término 'gratis' forme
parte de las mismas; todas ellas siguiendo esas cuatro libertades que se han mencionado. Es por ello que al Software Libre lo
debemos de considerar así: libre, y no limitarlo a ser Software Gratis.
Los autores y las empresas que piden una remuneración económica por su trabajo, basándose en el Software Libre, están en su total
derecho de hacerlo desde el punto de vista ético y legal. Hay mucho trabajo detrás de todas esas aplicaciones, por lo que un pago por
el mismo es algo justo, si razonablemente lo requieren. Del mismo modo, el trabajo-producto que ofrecen sigue conservando las
libertades propias del Software Libre, de tal modo que no nos imponen nuevas condiciones para uso.
Así pues, el Software Libre puede ser gratuito o no, dependiendo de cómo y dónde lo obtengamos. El término Gratis debe de ser un
término que no interfiera con la libertad del Software Libre, es decir, no debe de ser un término obligatorio para su uso, sino ser una
parte más de las verdaderas libertades que nos ofrece.
Cuenta este informático que, un buen día, aparecieron por la puerta abogados que prohibieron a los programadores compartir su
código (el código de sus programas) y les obligaron a ocultar celosamente cualquier información que pudiera ser usada por la
competencia. Además, decidieron que las empresas guardarían bajo llave el código fuente de sus programas (la secuencia original de
instrucciones que los hace funcionar de una determinada manera) y sólo entregarían a sus clientes el código binario (los unos y ceros
que el ordenador entiende, pero apenas pueden interpretar las personas). Por último, obligaron a los trabajadores a aceptar la idea de
que quien violaba estas normas no sólo cometía un delito, sino también un pecado propio de un loco, o de un pirata.
Años más tarde, este dogma informático se extendió hasta convertirse en el actual mercado del software, donde comprar un programa
significaba adquirir el derecho a usarlo, pero no a abrirlo para saber cómo funciona ni, mucho menos, a copiarlo o modificarlo, una
prerrogativa que corresponde en exclusiva a la empresa fabricante.
Stallman, convencido de que a la sociedad se le había robado un debate importante sobre la evolución de la tecnología (la frase “es
como si te vendieran un coche con el capó sellado, para que no puedas ver el motor” es una de las analogías más usadas para
explicar esta realidad mercantil), decidió dejar su trabajo y emprender una tarea mucho más altruista: responder al modelo propietario
con un software del que nadie pudiera apropiarse, con un software libre.
Se trataba, según su promotor, de poner en marcha un nuevo contrato por el que los usuarios recibieran siempre el código fuente y,
además, el derecho inalienable a modificarlo a su gusto. El movimiento fue bautizado con el críptico nombre de GNU, y para
defenderlo se creó la Licencia Pública General (GPL, en sus siglas en inglés), un peculiar contrato mercantil que, a diferencia de las
licencias de software tradicionales, no sólo no restringe la posibilidad de copiar y redistribuir los programas, sino que anima a los
usuarios a hacerlo.
Este nuevo orden informático fue recibido con entusiasmo en la entonces incipiente comunidad de programadores que pululaba por
Internet, pero también con cierta inquietud. De hecho, el movimiento GNU fue visto con recelo desde algunos sectores de la población
estadounidense, que lo tacharon de “filocomunista”, por su tendencia a compartir su trabajo y por su aversión al concepto de
propiedad que había establecido la industria del software.