27 de mayo de 2011

El Proyecto GNU

El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completamente libre: el sistema GNU.

El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el "Manifiesto GNU", que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca "volver al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras".

 

Ñu - mascota del Proyeto GNUEtimología de GNU

GNU es un acrónimo recursivo que significa GNU No es Unix (GNU is Not Unix). Puesto que en inglés "gnu" (en español "ñu") se pronuncia igual que "new", Richard Stallman recomienda pronunciarlo "guh-noo". En español, se recomienda pronunciarlo ñu como el antílope africano o fonéticamente; por ello, el término mayoritariamente se deletrea (G-N-U) para su mejor comprensión. En sus charlas Richard Stallman finalmente dice siempre «Se puede pronunciar de cualquier forma, la única pronunciación errónea es decirle “Linux”.

Historia del Proyecto GNU

Unix es un Sistema Operativo no libre muy popular, porque está basado en una arquitectura que ha demostrado ser técnicamente estable. El sistema GNU fue diseñado para ser totalmente compatible con UNIX. El hecho de ser compatible con la arquitectura de UNIX implica que GNU esté compuesto de pequeñas piezas individuales de software, muchas de las cuales ya estaban disponibles, como el sistema de edición de textos TeX y el sistema gráfico X Window, que pudieron ser adaptados y reutilizados; otros en cambio tuvieron que ser reescritos.

Para asegurar que el software GNU permaneciera libre para que todos los usuarios pudieran "ejecutarlo, copiarlo, modificarlo y distribuirlo", el proyecto debía ser liberado bajo una licencia diseñada para garantizar esos derechos al tiempo que evitase restricciones posteriores de los mismos. La idea se conoce en Inglés como copyleft -'copia permitida'- (en clara oposición a copyright -'derecho de copia'-), y está contenida en la Licencia General Pública de GNU (GPL).

Richard StallmanEn 1985, Stallman creó la Free Software Foundation (FSF o Fundación para el Software Libre) para proveer soportes logísticos, legales y financieros al proyecto GNU. La FSF también contrató programadores para contribuir a GNU, aunque una porción sustancial del desarrollo fue (y continúa siendo) producida por voluntarios.

A medida que GNU ganaba renombre, negocios interesados comenzaron a contribuir al desarrollo o comercialización de productos GNU y el correspondiente soporte técnico. El más prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat.

En 1990, el sistema GNU ya tenía un editor de texto llamado Emacs, un exitoso compilador (GCC), y la mayor parte de las bibliotecas y utilidades que componen un sistema operativo UNIX típico. Pero faltaba un componente clave llamado núcleo (kernel en inglés).

En el manifiesto GNU, Stallman mencionó que "un núcleo inicial existe, pero se necesitan muchos otros programas para emular Unix". Él se refería a TRIX, que es un núcleo de llamadas remotas a procedimientos, desarrollado por el MIT y cuyos autores decidieron que fuera libremente distribuido; TRIX era totalmente compatible con UNIX versión 7.

En diciembre de 1986 ya se había trabajado para modificar este núcleo. Sin embargo, los programadores decidieron que no era inicialmente utilizable, debido a que solamente funcionaba en "algunos equipos sumamente complicados y caros" razón por la cual debería ser portado a otras arquitecturas antes de que se pudiera utilizar.

Finalmente, en 1988, se decidió utilizar como base el núcleo Mach desarrollado en la CMU. Inicialmente, el núcleo recibió el nombre de Alix (así se llamaba una novia de Stallman), pero por decisión del programador Michael Bushnell fue renombrado a Hurd. Desafortunadamente, debido a razones técnicas y conflictos personales entre los programadores originales, el desarrollo de Hurd acabó estancándose.

Linus TorvaldsEn 1991, Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la licencia GPL. Rápidamente, múltiples programadores se unieron a Linus en el desarrollo, colaborando a través de Internet y consiguiendo paulatinamente que Linux llegase a ser un núcleo compatible con UNIX.

En1992, el núcleo Linux fue combinado con el sistema GNU, resultando en un sistema operativo libre y completamente funcional. El Sistema Operativo formado por esta combinación es usualmente conocido como "GNU/Linux" o como una "distribución Linux" y existen diversas variantes.

También es frecuente hallar componentes de GNU instalados en un sistema UNIX no libre, en lugar de los programas originales para UNIX. Esto se debe a que muchos de los programas escritos por el proyecto GNU han demostrado ser de mayor calidad que sus versiones equivalentes de UNIX. A menudo, estos componentes se conocen colectivamente como "herramientas GNU". Muchos de los programas GNU han sido también transportados a otros sistemas operativos como Microsoft Windows y Mac OS X.

 

Programas desarrollados por GNU

Listado de algunos programas desarrollados por el proyecto GNU:

  • Bison: generador de analizadores sintácticos diseñado para sustituir a yacc
  • Bash: intérprete de comandos
  • BFD: archivos de bibliotecas
  • Binutils: ensamblador GNU, enlazador GNU, y herramientas relacionadas
  • Classpath: bibliotecas para Java
  • DotGNU: sustituto de .NET
  • Emacs: editor de texto extensible y autodocumentado
  • GCC: compilador optimizado para varios lenguajes, particularmente C
  • GDB: depurador de aplicaciones
  • GNU Ghostscript: aplicaciones para PostScript y PDF
  • GIMP: programa de edición fotográfica
  • Glibc: biblioteca para lenguaje C
  • GMP: biblioteca para cálculos con precisión arbitraria
  • GNOME: ambiente de escritorio gráfico
  • Sistema de construcción para GNU
  • GNUnet: red descentralizada de comunicaciones personales, diseñada para resistir interferencias no autorizadas
  • GNUstep: implementación del conjunto de bibliotecas OpenStep, así como herramientas para programar aplicaciones gráficas
  • GSL: biblioteca científica para GNU
  • Gzip: aplicaciones y bibliotecas para compresión de datos
  • Hurd:  un micronúcleo y un conjunto de servidores que funcionan del mismo modo que el núcleo UNIX
  • Maxima: un sistema para cálculos algebraicos
  • Octave: un programa para cómputo numérico similar a MATLAB
  • GNU MDK: un conjunto de herramientas para la programación en MIX
  • Texinfo: sistema de documentación
  • LilyPond: editor de partituras musicales.

El proyecto GNU también ayuda con el desarrollo de otros paquetes, como:

  • CVS: sistema de control de versiones para código fuente
  • DDD: herramientas gráficas para detección y depuración de errores

 

Distribuciones de GNU

Símbolo del Copyleft La única variante completamente GNU es el núcleo Hurd, la cual es distribuida como Debian GNU/Hurd y otros, aunque no hay ninguna versión oficial hasta el momento.

Linux es el núcleo más usado con GNU, aunque Linux en sí no es parte de él. GNU también es utilizado con otros núcleos, como Debian GNU/kFreeBSD, Debian GNU/NetBSD, Nexenta OS o GNU-Darwin.

Caricatura del Ñu de GNU y Tux de Linux

Fuente: Wikipedia

Seguir leyendo...

20 de mayo de 2011

Linus Torvalds

Linus Benedict Torvalds (28 de diciembre de 1969, Helsinki, Finlandia) es un ingeniero de software finlandés, conocido por iniciar y mantener el desarrollo del "kernel" (en español, núcleo) Linux, basándose en el sistema operativo libre Minix creado por Andrew S. Tanenbaum y en algunas herramientas, varias utilidades y los compiladores desarrollados por el proyecto GNU. Actualmente Torvalds es responsable de la coordinación del proyecto. Pertenece a la comunidad sueco-parlante de Finlandia.

Biografía de Linus Torvalds

Linus Torvalds Sus padres tomaron su nombre de Linus Pauling (estadounidense, Premio Nobel de Química 1954). Comenzó sus andanzas informáticas a los 11 años cuando su abuelo, un matemático y estadístico de la Universidad, compró uno de los primeros microordenadores Commodore en 1980 y le pidió ayuda para usarlo.

En 1988 fue admitido en la Universidad de Helsinki, donde se obtuvo su maestría en Ciencias de la Computación. Ese mismo año el profesor Andrew S. Tanenbaum saca a la luz el S.O. Minix con propósitos didácticos. Dos años después, en 1990, Torvalds empieza a aprender el lenguaje de programación C en su universidad.

A finales de los años 80 tomó contacto con los computadores IBM PC y en 1991 adquirió una computadora con procesador modelo 80386 de Intel.

A la edad de 21 años, con 5 años de experiencia programando (en C), ya conocía lo suficiente del sistema operativo Minix como para tomar prestadas algunas ideas y empezar un proyecto personal. Basándose en Design of the Unix Operating System, publicado por Maurice J. Bach en 1986, crearía una implementación que ejecutará cualquier tipo de programa, pero sobre una arquitectura de ordenadores compatibles, IBM/PC.

Este proyecto personal desembocó el 5 de octubre de 1991 con el anuncio de la primera versión de Linux capaz de ejecutar BASH (Bourne Again Shell) y el compilador conocido como GCC (GNU Compiler Collection).

En enero de 1992 se adoptó la Licencia Pública General (GPL) para Linux. Ésta añade libertades de uso a Linux totalmente opuestas a las del software propietario, permitiendo su modificación, redistribución, copia y uso ilimitado. Este modelo de licencia facilita lo que es conocido como el modelo de desarrollo de bazar, que ha dado estabilidad y funcionalidad sin precedentes a este sistema operativo.

En 1997 Linus Torvalds recibe los premios 1997 Nokia Foundation Award de Nokia y Lifetime Achievement Award at Uniforum Pictures. Ese mismo año finaliza los estudios superiores (1988 - 1997) tras una década como estudiante e investigador en la Universidad de Helsinki, coordinando el desarrollo del núcleo del S.O. desde 1992.

Linus Torvalds trabajó en Transmeta desde febrero de 1997 hasta junio de 2003. Actualmente trabaja para el Open Source Development Labs en Beaverton, Oregón. Solo el 2% del código del Linux actual está escrito por él, pero en su persona sigue descansando la paternidad de este núcleo del sistema operativo.

Torvalds posee la marca registrada "Linux" y supervisa el uso de la marca a través de la organización sin ánimo de lucro Linux International.

 

Cómo creó Linux

Tux Linux En Finlandia, Linus Torvalds, por entonces estudiante de Ciencias de la Computación de la Universidad de Helsinki, decidió realizar la entonces cuantiosa inversión de 3500 dólares estadounidenses para adquirir un nuevo computador con el microprocesador 80386 de Intel, el cual funcionaba a 33 MHz y tenía 4MB de memoria RAM. El pago lo realizaría a plazos, pues no disponía de tal cantidad de dinero en efectivo.

Normalmente, este computador lo usaba para tener acceso por línea telefónica a la red informática de su Universidad, pero debido a que no le gustaba el sistema operativo con el cual trabajaba, denominado Minix, decidió crear uno él mismo.

Inicialmente, escribió un programa con lenguaje de bajo nivel prescindiendo de Minix. En los primeros intentos, consiguió arrancar el computador y ejecutar dos procesos que mostraban la cadena de caracteres “AAAAABBBBB”. Uno lo utilizaría para leer desde el módem y escribir en la pantalla, mientras que el otro escribiría al módem y leería desde el teclado. Inicialmente, el programa arrancaba desde un disquete.

La siguiente necesidad que tuvo fue la de poder descargar y subir archivos de su universidad, pero para implementar esta funcionalidad en el software emulador era necesario crear un controlador de disco. Así que después de un trabajo continuo y duro, creó un controlador compatible con el sistema de archivos de Minix. En ese momento, se percató de que estaba creando algo más que un simple emulador de terminal, así que, emprendió la tarea de crear un sistema operativo partiendo de cero.

De forma privada, Linus nombraba Linux a su nuevo sistema, pero cuando decidió hacer una presentación pública pensó que era demasiado egocéntrico llamarlo así y propuso llamarlo Freax, aunque después se le siguió conociendo como Linux, práctica que perdura hasta ahora.

Después de anunciar el 25 de agosto de 1991 su intención de seguir desarrollando su sistema para construir un reemplazo de Minix, el 17 de septiembre sube al servidor de FTP proporcionado por su universidad la versión 0.01 de Linux con 10.000 líneas de código. A partir de ese momento Linux empezó a evolucionar rápidamente.

 

Reconocimientos a Linus Torvalds

  • En 1996, un asteroide recibió el nombre de "9793 Torvalds" en honor a Linus Torvalds.
  • En 1998 recibió el premio "Pioneer Award" de la EFF.
  • En 1999 recibió el título de doctor honorífico en la Universidad de Estocolmo.
  • En 2000 recibió el título de doctor honorífico en la Universidad de Helsinki.
  • En la votación "Persona del Siglo" de la revista Time, Linus Torvalds obtuvo la posición número 17.
  • En 2001, compartió el premio "Takeda Award" para las artes sociales y económicas junto a Richard Stallman y Ken Sakamura.
  • La película del 2001, "Swordfish"", contiene un personaje finlandés (el hacker número uno del mundo) llamado Axl Torvalds.
  • En 2004, fue nombrado como una de las personas más influyentes del mundo en el artículo de la revista Time.
  • En el verano de 2004, obtuvo el puesto número 16 en "Suuret Suomalaiset".
  • En 2005, fue nombrado como uno de "los mejores administradores empresariales" en una encuesta de la revista "BusinessWeek".
  • En agosto de 2005, Linus Torvalds recibió el premio "Vollum Award" del Reed College.
  • En 2006, la revista "Business 2.0" lo nombró como "una de las diez personas que no tienen importancia" debido a que el crecimiento e importancia de Linux habían eclipsado el impacto individual de Linus.
  • En 2006, la revista Time lo nombra como uno de los héroes revolucionarios de los últimos 60 años.

Fuente: Wikipedia

Seguir leyendo...

12 de mayo de 2011

Software libre y de código abierto

El software libre y de código abierto (también conocido como FOSS o FLOSS, siglas de free/libre and open source software, en inglés) es el software que está licenciado de tal manera que los usuarios pueden estudiar, modificar y mejorar su diseño mediante la disponibilidad de su código fuente.

El término "software libre y de código abierto" abarca los conceptos de software libre y software de código abierto, que, si bien comparten modelos de desarrollo similares, tienen diferencias en sus aspectos filosóficos. El software libre se enfoca en las libertades filosóficas que les otorga a los usuarios mientras que el software de código abierto se enfoca en las ventajas de su modelo de desarrollo. "FOSS" es un término imparcial respecto a ambas filosofías.

El software gratis no necesariamente tiene que ser libre o de código abierto.

 

Organizaciones y licencias tras el FOSS

Existen organizaciones detrás de cada iniciativa de distinción del software.

Por parte del software libre, existe la Free Software Foundation (FSF); apoyando el concepto de software de código abierto existe la Open Source Initiative (OSI). Ambas se enfocan en diferentes aspectos del uso y distribución del software, y su disponibilidad y responsabilidades que competen al usuario tener. Por este motivo existen diferentes licencias que las diferencian:

Licencias de código abierto (para el software de código abierto), licencias de software libre (para el software libre), entre otras, sin protección heredada y con protección heredada.

Mapa conceptual del software libre y de codigo abierto

Las 10 premisas del software de código abierto

  1. Libre redistribución: el software debe poder ser regalado o vendido libremente.
  2. Código fuente: el código fuente debe estar incluido u obtenerse libremente.
  3. Trabajos derivados: la redistribución de modificaciones debe estar permitida.
  4. Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
  5. Sin discriminación de personas o grupos: nadie puede dejarse fuera.
  6. Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
  7. Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa.
  8. La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
  9. La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
  10. La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.

Ver también: Movimiento del Software Libre

Fuente: Wikipedia

Seguir leyendo...

5 de mayo de 2011

Movimiento del Software Libre

“El movimiento del software libre comenzó en 1983 cuando Richard Stallman anunció el proyecto GNU. La meta del movimiento fue dar libertad a los usuarios de computadoras reemplazando el software con términos de licencia restrictivos, como el software propietario, por software libre.”

La Filosofía del Movimiento del Software Libre

Free Software FoundationLa mayoría de los miembros del movimiento de software libre creen que todo el software debería venir acompañado con las libertades declaradas en la definición de software libre. Muchos sostienen que es inmoral prohibir o impedir a las personas que haga efectivas esas libertades y que estas son necesarias para crear una sociedad decente donde los usuarios puedan ayudarse mutuamente y tomar el control sobre el uso de un ordenador.

El movimiento del software libre también cree que todo software necesita documentación libre, pero esto no se posiciona firmemente en otros tipos de trabajos. Algunos defensores del software libre apoyan que los trabajos que sirven para un fin práctico también deberían ser libres.

Algunos seguidores del movimiento de software libre no creen que el software propietario sea estrictamente inmoral. Sin embargo, razonan que la libertad es valiosa (tanto socialmente como pragmáticamente) como una propiedad del software per se, independiente de su calidad técnica en sentido estricto. Más aún, podrían usar el término "software libre" para distanciarse a sí mismos de afirmaciones tales como que el "software de código abierto" es siempre superior técnicamente al software propietario.

En este sentido, objetan que los defensores del "software de código abierto", concentrándose solamente en méritos técnicos, animan a los usuarios a sacrificar su libertad (y los beneficios a largo plazo que se derivan de su uso) a cambio de ventajas a corto plazo que el software propietario pueda proporcionar.

Diferencias con el software de código abierto

Richard StallmanLos partidarios del código abierto argumentan en favor de las virtudes pragmáticas del software libre más que de cuestiones de moralidad. Su desacuerdo básico con la Free Software Foundation es su condena genérica del software propietario. Hay muchos programadores que disfrutan apoyando y usando software libre pero se ganan la vida desarrollando software propietario, y no consideran sus acciones inmorales.

Las definiciones "oficiales" de software libre y software de código abierto son ligeramente diferentes, siendo la primera considerada más estricta generalmente, mientras que las licencias de software de código abierto son generalmente oscuras, de modo que en la práctica, casi todo el software de código abierto es software libre.

Ver también: Software libre y de código abierto

Fuente: Wikipedia

Seguir leyendo...