Curso de Linux en español

Curso de Linux en español 1/60 - Historia y Filosofia

La filosofía del Software Libre nació a mediados de los años ochentas abanderada por el Hacker del MIT Richard Stallman. Esto se relata en un anécdota de la situación que lo lleva a tomar dicha postura, RMS como se le conoce en listas de correo estaba trabajando en solucionar un problema con una impresora que una importante compañía fabricante había donado al MIT en calidad experimental. Esta impresora estaba dando muchos problemas en red. Para no entrar en detalles Stallman abordo al fabricante para obtener el código fuente del controlador de la impresora para poder solucionar los problemas que había identificado, pero el fabricante lo evadió continuamente y nunca se los entrego.


Richard Stallman GNU

Después se enteraría que la verdadera razón de esto fue que la compañía consideraba esta información vital para su negocio.

Entonces Richard Stallman se vio en una encrucijada, seguir utilizando software el cual nunca le iban a entregar del código fuente y nunca podría mejorar y aguantar la frustración de los problemas que tuviera el mismo, o fundar su propio proyecto para cumplir cuatro propiedades básicas que según el tiene el software.

Propiedades básicas del Software Libre

  • La libertad de usar

Esta libertad de uso se refiere a poder usar con cualquier propósito, es decir, yo puedo usar el software para llevar acabo determinada función y si este software puede ser utilizado para otra función así no sea la mas idónea, poderlo utilizarla en esta.

  • Aprender a adaptar

Los programas se puede adaptar a las necesidades especificas de cada uno de los usuarios esta es la segunda libertad.

  • Redistribuir

Es decir software no debe considerado como un objeto del cual se tiene que quitar de un lado para colocar en otro como lo exigen la mayoría de las licencias propietarias. El software se puede redistribuir por que las copias digitales son exactas.

  • Publicar las mejoras

Es decir si el software se puede Adaptar, mejorar, esas mejoras deberían ser publicadas para el beneficio de la comunidad y esta a su vez ayudar al resto a alimentar su desarrollo.

En Free Software Foundation enumeran las libertades de 0 a 3, cualquier parecido con las leyes de la robótica de Isaac Asimov es pura coincidencia.

Entonces estas son las 4 Libertades básicas que Richard Stallman defiende en su postura de Software Libre.

¿Como funciona este negocio?

El software para mejorarlo necesita ser escrito en un código fuente que es un código entendible a las personas ya que los procesadores de l0s computadoras solo entienden unos y ceros. Entonces ese código fuente puede ser compilado para pasarlo al lenguaje binario como en el caso de C y Java, o puede ser distribuido en el mismo código fuente como en el caso de los lenguajes interpretados como Perl, PHP etc.

De esta manera los programas ya ejecutables hacen parte de un grupo de aplicaciones de productividad como Herramientas de Oficina, Navegador Web, Modelador 3d, Editores de Imagen, Vídeo y Sonido entre otras.

Este grupo permite la creación de distribuciones de software, ya sea bajo el núcleo de Linux u otros núcleos de sistema operativo. Por eso contamos con todas las herramientas para poder ser productivos con nuestros equipos informáticos llámense computador de escritorio, Equipos móviles, Servidores de red, Procesamiento de datos o control de producción industrial entre otras.

Estas aplicaciones deben respetar estándares abiertos, ¿para que? Para que los documentos que se produzcan no infrinjan patentes, y así no tengan problemas con los propietarios de las mismas, siempre tratando de asegurar la libertad de los usuarios y de los desarrolladores con respecto al uso de dichos estándares.

Entonces con el uso de estos estándares abiertos se producen contenidos abiertos para la documentación de estos estándares permitiendo la difusión de los mismo con las aplicaciones de las distribuciones ya mencionadas.

De esta manera en su forma filosófica, el software libre es una forma ética de entender el software. En su desarrollo, comercialización, distribución y uso, para lo que necesita una expresión legal en forma de licencias de software expresando pues valores como, Ética, Creatividad, Eficiencia, Colaboración, No discriminación, Ciencia, Transparencia, Seguridad, Competitividad, privacidad, Solidaridad y Sobre todo garantía de la libertad.

Como funciona el Software libre en la practica

En el mundo del Software libre por un lado están los desarrolladores por el otro los usuarios, los usuarios colaboran con los desarrolladores y viceversa eligiendo que proyectos para sus actividades diarias.

¿Cuales son esos usuarios?

Son las ONG, Instituciones, Empresas, Países o regiones, Universidades y personas particulares que vemos en las propuestas de software libre una opción para poder implementar en algunas organizaciones.

Esto produce un conjunto de tecnologías que permiten una alternativa, solamente basada en software libre.

¿Que hay del Soporte?

Bueno el soporte es retro alimentado. El desarrollo de software, genera aplicaciones, las aplicaciones cuentan con usuarios, estos se reúne en comunidades, Que crean foros, que exponen necesidades y problemas, que retro alimenta a los desarrolladores, y estos corrigen y mejoran las aplicaciones. Este es el ecosistema del software libre.

¿Que es GNU?

GNU es un acrónimo Recursivo de GNU no es UNIX .

¿Por que razón?

Bueno, en la época en la que Richard Stallman al desarrollo su filosofía GNU el Unix era a la plataforma mas estable y mas utilizada en el entorno corporativo entonces el comenzó a desarrollar herramientas como su compilador de C, un debuguer y un editor para programación ademas de comandos básicos con parámetros extendidos que los de Unix no tenia.

Así el GNU fue creciendo y engordando bastante. Al año siguiente de manifestar su filosofía de software libre, Stallman crea la Free Software Fundation (Fundación de Software Libre) Para poder tener un marco legal y así Plasmar en licencias de uso de software, para así poder garantizar que el software desarrollado por cualquier persona bajo los lineamientos de la idea GNU siguieran conservando estos.

El producto entonces fue la creación de las licencias GPL, LGPL y AGPL. GPL siglas de General Public Lisence o Licencia publica general en español.

Conflicto con Open Source

Linus TorvaldsPor un lado tenemos a nuestro auto proclamado profeta de software libre llamado Richard Stallman el cual posee una distribución de software robusta que ha crecido con el tiempo pero que no tiene un núcleo de sistema operativo para poder considerar un sistema completo, por otro lado a principios de los 90s aparece el señor Linus Torvalds, ¿que hace el?. Invita a la comunidad de desarrolladores a que le ayuden en la construcción de un núcleo de sistema operativo para reemplazar Minix que era un sistema operativo usado para fines educativos pero que en ese momento no era completamente libre

Entonces desde 1991 hasta 1994 logran el desarrollar del núcleo,y ya en la segunda mitad 1994 ya logra algo decente al cual llamarle Linux Kernel 1.0.

En ese momento es donde se acuña por primera vez el termino GNU/Linux, La distribución GNU con el Núcleo Linux.Eric S. Raymond

Aparece en escena otro Señor llamado Eric Raymond, Desarrollador de Software, Escritor y conocido activista de uso de armas en estados unidos.

Eric no esta de acuerdo con el planteamiento rígido de Stallman sobre el desarrollo de software, y defiende una posición menos radical, por que el considera que el desarrollador debe tener la LIBERTAD de Mantener abierto o no su código.

Entonces ahí­ es donde el concepto de Opensource y Software libre se separan. Ya que todo el software libre es Opensource, pero según Stallman No todo el software Opensource es Libre. Sin embargo la idea de colaboración, retroalimentación, uso y mejora los une a la hora de brindar a la comunidad soluciones de Software exitosas.

¿Que es un sistema operativo?

Los Sistemas Operativos constan de 2 partes principales. Un núcleo o kernel que permite el funcionamiento básico del equipo de computo Como por ejemplo, la pantalla, los discos duros, el sonido, la aceleración gráfica, el teclado, el mouse y demás componentes y una interfaz de usuario que permite al mismo su interacción con el computador. Esta interfaz viene de 2 formas una llamada CLI, o interfaz de comandos que nos permite acceder al computador de forma básica indicando ordenes en una línea de texto. y la otra, la interfaz grafía de usuario o GUI, por la cual podemos usar la computadora de una forma mas intuitiva, gráfica utilizando un dispositivo apuntador como el mouse, o en caso de los dispositivos móviles nuestros dedos.

Bueno ahora podemos definir un poco de que consta el núcleo de Linux.Nucleo de Linux

El núcleo de Linux provee la comunicación y el manejo básico que se necesita para que la interfaz de usuario y las aplicaciones interaccionen con el mismo.

Linux es considerado un sistema operativo Monolítico ya que la mayoría de sus componentes se mantienen en un solo paquete a pesar de que la mayoría de los controladores no esenciales corren como módulos.

Esto difiere del concepto de Micronúcleo, que mantiene una visión simplista de kernel que corre en modo protegido, es decir que la capa de las aplicaciones NO puede tocar y el resto de controladores, interface de usuario y aplicaciones corren en modo usuario es decir fuera del circulo protegido donde corre el kernel. Pero esto es tema a tratar en otro vídeo.

¿A que se refiere la gente cuando habla de distribuciones de Linux?

Una distribución de software es una colección de aplicaciones que hacen parte de un sistema operativo normalmente vienen acompañadas de un núcleo o kernel y en otros casos simplemente se instalan sobre un sistema operativo ya existente.

El Primer caso puede aplicarse a una distribución basada en Linux, la otra es comparable a GNU en sus inicios.

Las distribuciones de Linux entonces no son mas que la puesta en practica de la visión de "como debe ser un sistema operativo" Según un concepto particular ya sea personal o empresarial.

Principales distros Linux

La empresa desarrolladora de la distribución simplemente toma el software ya desarrollado, lo integra bajo herramientas normalmente desarrolladas por ellos mismos y las libera a la comunidad de usuarios para su uso. Algunas son comerciales, otras orientadas al hacking, las otras mas conocidas orientada al usuario de escritorio o al ambiente corporativo.

Entre las mas importantes tenemos a las pioneras de Slackware y Debian. Slackware tenia una visión hacker del sistema mientras que Debian fue la distribución oficial FSF, luego se separaron para funcionar como una organización independiente.

Luego tenemos A Redhat, Tal vez la distribución Linux mas conocida sobre todo en el ambiente corporativo, ya que desde el principio se consolido como una empresa para ofrecer soluciones integrales bajo esta plataforma. De igual manera SUSE nace en Alemania para cubrir el mercado Europeo.

RedHat tiene un par de hijos. Uno reconocido llamado Fedora el cual es patrocinado por Redhat mismo y uno Bastardo Llamado Centos que pretende llevar una compatibilidad con Redhat ES, es el producto comercial de RedHat, Para ofrecer a la comunidad una distribución no comercial en donde se puedan implementar soluciones homologadas solo para Redhat ES.

Debian también tiene sus hijitos, el mas afortunado es Ubuntu, que es la distribución mas sonada en los últimos años. Esta distribución tiene varias ramificaciones, de las cuales destacamos a Kubuntu, Xubuntu y Edubuntu las cuales solo varían en su misión, ya que Kubuntu mantiene un escritorio basado en KDE, Xubuntu un escritorio liviano basado en XFCE y Edubuntu se orienta al sector educativo. Pero aun así todas hacen uso de los repositorios principales de Ubuntu.

Y digo que Ubuntu es un hijo afortunado ya que su creador Mark Shuttleworth desarrollador de Debian fue afortunado beneficiario del BUM de las .com, Convirtiéndose en multimillonario de la noche a la mañana, y aprovecho su nueva fortuna en ir a la estación espacial siendo el segundo turista espacial de la historia, Y crear una empresa para el desarrollo de una versión propia de Debian para el beneficio de los usuarios de escritorio.

Pero Slackware no se queda atrás, KATEOS es una distribución basada en el, por otro lado hay iniciativas con una visión diferente a las originales como Gentoo y Archlinux.

Archlinux por su parte conserva la estructura de Unix, por el otro lado Gentoo pretende distribuirse en código fuente el cual se compila directamente para la maquina en la cual se corre.

¿Que loco No? Pero funciona y tiene una comunidad muy grande. de hecho una distribución de software como ya lo han deducido no necesita de LINUX para poder correr.

En Debian usan Linux, por que les toca. Paralelamente ellos están desarrollando desde hace mucho tiempo un núcleo Microkernel llamado Hurd, con el cual no han tenido mucho éxito ya que al parecer la comunidad esta volcada en el desarrollo de Linux.

Además de esto han iniciado hace algunos años un proyecto llamado KfreeBSD, que no es mas que los paquetes de Debian instalables sobre el sistema operativo FreeBSD que hace parte de los UNIX Libres junto con NETBSD y OpenBSD

De hecho hasta Apple se ha beneficiado del software libre ya que su Núcleo, el de MAC OSX, fue basado en la versión 4.2 de FreeBSD y el micro kernel match, se le llamo Darwin. La comunidad de software libre trato de establecer un par de proyectos llamados Open Darwin y GNUDarwin que pretendían utilizar el kernel Darwin para una distribución de un sistema operativo libre, pero fallaron.

Incluso compañias comerciales que en temporadas han sido opositoras de los proyectos libres como SCO han distribuido su sistema operativo Openserver acompañado con Distribuciones opensource como es el caso de Skunkware y Aunque no lo crean hay distribución de GNU para Windows, Se llama Cygwin, y provee las mismas herramientas GNU completamente funcionales en el sistema operativo Windows.

No siendo suficiente en esta gran jungla de software libre y opensource. Existen Ramificaciones que no son considerados distribuciones.

El núcleo Linux y parte de sus herramientas de sistema operativo son la base para el sistema operativo Android, cuyas variaciones dan nacimiento a sabores o distribuciones del mismo, siendo Cyanogenmod la más conocida.

Entonces vemos que Google toma el núcleo de Linux y de sus herramientas básicas y las coloca como cimientos para desarrollar una interfaz un escritorio para dispositivos móviles, y libera un kit de desarrollo para el mismo. Creando así su sistema operativo llamado Android.

Como Android hace parte de este gran ecosistema, se comporta de la misma forma y se crean Distribuciones del mismo o sabores como se conoce en la comunidad de donde surge que proveen a Android de funcionalidades que Google o los fabricantes de dispositivos móviles no incluyen en sus dispositivos de forma predeterminada. Y esto les acarrea mucho éxito en la comunidad de desarrollo para dispositivos móviles.

Siendo el Android significativamente simple en su estructura la proliferación de ROMs personalizadas es extraordinariamente alta. Además actualmente los sistemas basados en Linux son muy usados para el firmware de numerosos fabricantes de hardware como la BIOS de servidores, Swiches, Routers, Dispositivos de comunicación y hasta consolas de video juegos como el caso de ouya.

Finalizando, El uso de Linux y de Software Libre u OpenSource se ha masificado tanto que hoy por hoy tiene una gran cuota del mercado, teniendo en cuenta que no solo estamos hablando de escritorio y servidores, estamos hablando de todos los dispositivos de comunicaciones y embebidos que hay en el mercado que usan el Kernel de Linux.

9 comentarios

  1. Excelente articulo, muchas gracias por el tiempo y esfuerzo que invertistes para hacer este genial articulo. Gracias

  2. una buena introduccion a la historia de linux

  3. Excelente contenido muy bien estructurado, aunque ya sabía algo de la historia de Linux es interesante dar un repaso nuevamente.

    Saludos..

  4. Muy buen curso! excelente! en castellano es dificil encontrar información bien acomodada!

    • Gracias Mauro, este es el gran proyecto que tenemos por delante, poner a disposición un curso completo de Linux en Español, y gracias a ustedes que comparte y comenta la información lo estamos logrando.

  5. Carlos Mauricio Martinez Falla

    Excelente labor Muchas gracias

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*

x

Check Also

Mejores programas para editar vídeos

Cada vez más las personas se mueven en el mundo del contenido, audio, imágenes y ...

354 Compartir
Compartir354
Twittear
Compartir
+1