¿Que é o software libre e que é GNU/Linux?
Corrían os anos da década dos oitenta no instituto Tecnolóxico de Massachusetts (MIT) nos Estados Unidos. Un dos seus investigadores, Richard M. Stallman, encontrábase bastante disgustado porque unha das impresoras do seu departamento non funcionaba como el quería. Uns meses ou anos atrás, pedira o software da impresora á empresa correspondiente e modificouno rápidamente para adaptalo ás súas necesidades aproveitando os seus amplos coñecementos de programación. Nembargantes, naqueles días as empresas eran cada vez máis reticentes a dar o código fonte dos programas aos investigadores, obligándolles a firmar cláusulas de non divulgación no mellor dos casos.
Richard M. Stallman considerábao abusivo e este último problema coa súa impresora foi a gota que colmou o vaso. A época na que felizmente compartía os seus traballos cos seus colegas terminara, pero claro está, esto non podía quedar así. Decidiu entonces que construiría desde cero un novo sistema operativo no que isto non ocurrise, dotándoo legalmente dunha serie de liberdades que consideraba imprescindibles. Naquel momento, e dacordo coas necesidades, UNIX era o mellor candidato no que basarse.
Deste xeito, naceu o proxecto GNU, acrónimo de GNU is Not UNIX (GNU no es UNIX) e coa famosa licenza Pública Xeral (GPL), a base de todo o que se denominou software libre, e que se chamou precisamente así porque desde o primeiro momento da súa concepción se pensou que debía ter una serie de liberdades imprescindibles. Estas son básicamente catro:
Liberdade 0: A liberdade de usar o programa con calquera propósito.
Liberdade 1: A liberdade de estudar como funciona o programa e adaptalo as súas necesidades.
Liberdade 2: A liberdade de distribuir copias, para axudar ao veciño.
Liberdade 3: A liberdade de mellorar o programa e facer públicas estas modificacions aos demais, de modo que toda a comunidade se beneficie.
Estas catro liberdades son os pilares do proxecto GNU e do software libre, son os cuatro puntos que revolucionaron o modelo de desarrollo do software nos últimos anos.
Para que estas liberdades non se queden en papel mollado, existe un requisito ineludible: debe existir un libre acceso ó código fonte. Por iso, o software libre se lle conoce a miúdo como software de código abierto ou open source, aínda que veces non signifiquen exactamente o mesmo.
Como vemos, estas liberdades dotan o usuario e ao desarrollador dunha serie de beneficios que de otro xeito non terían, beneficios que por outro lado son os opostos aos que normalmente vemos en calquer cláusula de copyright. Novamente, e precisamente por iso, aqueles programas amparados na licenza Pública Xerall coñéceselles tamén como programas baixo licenza copyleft. Un dos efectos colaterales desta liberdade e que o software e a miudo gratuito e podese conquerir sen coste dende servidores da Internet. Nembargantes, e aínda que a veces isto non queda o suficientemene claro, non se trata máis que dun efecto secundario, non dunha necesidade en sí mesma.
O paradigma do software libre establece uns principios sobre os que traballar, baseados na liberdade e na comunidade, e na que o diñeiro non é o modo primordial de corresponder ao autor do traballo.
¿E que é Linux?
Cando o proxecto GNU empezou a desenvolverse, creou as ferramentas máis importantes necesarias para construir un novo sistema operativo, moitas das cales aínda se usan hoxe en día. Sin embargo, tiña unha carenza: o seu núcleo. Todo sistema operativo ten un núcleo, o kernel, que para os máis puristas é precisamente o que ha de chamarse «sistema operativo», e non todas as demais ferramentas que o acompañan. Pois ben, GNU diseñou un precioso núcleo chamado Hurd que nin siquiera hoxe en día se encontra operativo.
Anos despois de comezar o proxecto GNU, un estudante finlandés chamado Linus Torvalds estaba programando como proyecto para a universidade de Helsinki un núcleo ao que chamou Linux, mezcla do seu propio nome e de Unix, ou cecais máis concretamente de outro núcleo coñecido por aquel entonces como Minix.
Cando as primeiras versións se encontraron terminadas, Linux publicounas na Internet sen pensar seriamente que puideran interesar a alguén. Nembargantes, en poucos meses despertou a curiosidade de centos de desarrolladores que se uniron o seu proxecto e axudaron na súa mellora. Dadas as características da comunidade que case accidentalmente se formara, Linux decidiu protexer a Linux coa licencia Pública Xeneral, a licencia do proxecto GNU.
Este é o primeiro mensaxe que Linus Torvalds mandou ao grupo de noticias comp.os.minix:
From:torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroup: comp.os.minix Subject: GCC-1.40 and a posix question
Message-ID: 1991Jul13, 100050.9886@klaava.Helsinki.FI
Date: 3 Jul 91 10:00:50 GMT
Hello netlanders, Due a project I’m working on (in minix), I’m interested in the posix standard definition. Could somebody please point me to a (preferably) machine-readable format of the latest posix rules? Ftp-sites would be nice.
Linux Torvalds torvalds@kruuna.helsinki.fi
Iste foi o segundo, e considerado por moitos o comenzo de Linux
From:torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroup: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: 1991Aug25, 20578.9541@klaava.Helsinki.FI
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki.
Hello everybody out there using minix-
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix; as my OS resembles it somewhat (same physical layout of the file-sytem due to practical reasons) among other things. I’ve currently ported bash (1.08) an gcc (1.40), and things seem to work. This implies that i’ll get something practical within a few months, and I’d like to know what features most people want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂 Linux Torvalds torvalds@kruuna.helsinki.fi
O comenzo estuvo inspirado en MINIX, un pequeno sistema Unix desarrollado por Andy Tanenbaum. As primeiras discusións sobre Linux foron nun grupo de noticias comp.os.minix, nestas discusións falábase sobre todo do desenvolvemento dun pequeno sistema Unix para usuarios de Minix que querian máis.
Linus nunca anunciou a versión 0.01 de Linux (agosto 1991), esta versión non era nin sequera executable, solamente incluía os principios do núcleo do sistema, estaba escrita nun lenguaxe ensamblador e asumía que un tiña acceso ó sistema Minix para a súa compilación.
O 5 de outubro de 1991, Linus anunciou a primeira versión «Oficial» de Linux, -versión 0.02. Con esta versión Linus puido executar Bash (GNU Bourne Again Shell) e gcc(O compilador GNU de C) pero non moito máis funcionaba. Naquel estado de desenvolvemento nin se pensaba nos termos soporte, documentación, distribución …..
Despois da versión 0.03, Linus saltou na numeración ata a 0.10, máis e máis programadores ao largo e ancho de Internet empezaron a traballar no proxecto e despois de sucesivas revisións, Linus incrementou o numero de versión ata a 0.95 (Marzo 1992). Máis dun ano despois (decembro de 1993) o núcleo do sistema estaba na versión 0.99 e a versión 1.0 non chegou hasta o 14 de marzo de 1994.