Me recuerda
faq-mac que
hace 14 años del mensaje de Linus Benedict Torvalds a la comunidad de
hackers (entendida como programadores capaces de pelearse con el código máquina y los detalles de bajo nivel de los ordenadores).
Tomado de
Free minix-like kernel sources for 386-AT en Google Groups:
¿Añoras aquellos buenos días de minix-1.1, cuando los hombres eran hombres, y se escribrían sus propios controladores de dispositivos? ¿No tienes un buen proyecto, y simplemente te mueres por afilarte las uñas con un SO que puedas modificar para tus necesidades? ¿Te frustra que todo funcione en minix? ¿Ya no te pasas las noches en vela para que funcione un programa chulo? Entonces, este mensaje puede ser para ti 🙂
Como mencioné hace un mes(?), estoy trabajando en una versión gratuita de un clon de minix para ordenadores AT-386. Finalmente ha llegado al estado de incluso poderse utilizar (aunque puede que no, dependiendo de lo que queráis), y estoy dispuesto a publicar los fuentes para una más amplia distribución. Se trata de la versión 0.02 (+1 parche (muy pequeño)), pero he tenido éxito en ejecutar bash/gcc/gnu-make/gnu-sed/compress, etcétera.
El código fuente de este proyectito mío puede encontrarse en nic.funet.fi (128.214.6.100) en el directorio/pub/OS/Linux. El directorio también contiene un README y un par de binarios que corren sobre linux (bash, update y gcc, qué más se puede pedir :-). Se proporciona el código fuente completo del kernel, porque no se ha utilizado nada de código de minix. El código fuente de las bibliotecas de funciones son sólo parcialmente libres, así que no las puedo distribuir ahora mismo. El sistema puede compilar “tal cual”, y parece que funciona. Je. El código fuente de los binarios (bash y gcc) puede encontrarse en el mismo servidor en /pub/gnu.
¡ALERTA! ¡ADVERTENCIA! ¡NOTA! Este código fuente aún necesita de minix-386 para compilar (y gcc-1.40, posiblemente 1.37.1, aún no lo he comprobado), y hace falta minix para configurarlo si quieres correrlo, de modo que aún no se trata de un sistema autónomo para quienes no dispongan de minix. Estoy trabajando en ello. También hace falta ser un poco hacker para configurarlo (?), así que quienes esperen una alternativa a minix-386, por favor ignoradme. Actualmente es sólo para _hackers_ interesados en sistemas operativos y 386 con acceso a minix.
El sistema necesita de un disco duro compatible AT (IDE va bien), y EGA/VGA. Si aún os interesa, haced ftp del README/RELNOTES, y/o enviadme un e-mail para más información.
Puedo (bueno, casi) escucharos preguntar “¿Por qué?”. Hurd(Sistema operativo GNU puro que estaba previsto como auténtico sucesor de Unix; finalmente, Linux le quitó bastante apoyo a su desarrollo, y la mayoría de la comunidad GNU apuesta por Linux, y se ha olvidado de Hurd) saldrá en un año (o dos, o el mes que viene, quién sabe), y ya tengo minix. Este es un programa para hackers hecho por un hacker. He disfrutado haciéndolo, y alguien podría disfrutar echándole un vistazo e incluso modificándolo para sus propias necesidades. Aún es lo suficientemente pequeño para entenderlo, usarlo y modificarlo, y espero todos los comentarios que queráis hacer.
También me interesa saber de quienes hayan escrito cualquiera de lass utilidades o funciones de la biblioteca de minix. Si vuestro esfuerzo se puede distribuir libremente (bajo copyright, o incluso en el dominio público), me gustaría saber de vosotros, para poder añadirlas al sistema. Estoy utilizando estdio de Earl Chews ahora mismo (gracias por un sistema bello y funcional, Earl), y trabajos similares serán muy bien venidos. Vuestros (C)s quedarán, por supuesto, intactos. Dejad caer una línea si estáis dispuestos a que utilice vuestro código.
Linus
Lo que Linus había proporcionado era, al fin, un sistema operativo tipo Unix, pequeño —similar a Minix—, pero con la diferencia de no estar basado en
microkernel (una forma de crear el núcleo de un sistema operativo que ocupa poco espacio, pero puede tener problemas de rendimiento bajo grandes cargas si no se hacen ciertas optimizaciones; Mac OS X es un sistema basado en microkernel, pero con gran número de optimizaciones). En ese sistema operativo podías compilar aplicaciones
POSIX —aplicaciones que no esperan más que un sistema de archivos, y un terminal de entrada y salida—.
¿Qué ha cambiado en 14 años en el mundo Linux? Básicamente, a lo largo de todos estos años, se ha ido consiguiendo:
- Portar todas las utilidades Unix a Linux; de hecho, hasta la introducción de Mac OS X, Linux era el sistema operativo tipo Unix más difundido. Ello incluía las aplicaciones gráficas X11, y a partir de ahí, los diferentes sistemas gestores de ventanas típicos de Unix: Motif, CDE, y muchos más.
- Ir aumentando constantemente el número de dispositivos soportados, entendiendo dispositivo en sentido amplio: microprocesadores, placas, tarjetas de ampliación PCI, sistemas de almacenamiento…
- Crear dos sistemas gestores de escritorio principales, como KDE y Gnome, que han acercado a la realidad el sueño original de “un sistema operativo libre en cada escritorio”; por cierto, una de las ideas del mac era “una bicicleta para la mente en cada escritorio”, y un PC en cada escritorio también era el sueño de Bill Gates 😉
- Conseguir un nivel de masa crítica para que las universidades lo hayan considerado como el sistema operativo a la hora de considerarlo como referencia con la que comparar cualquier otro sistema, y también como plataforma de desarrollo en todas las entidades de investigación.
- Salir del mundo x86, y adentrarse prácticamente en cualquier arquitectura de microprocesador que exista: PowerPC 32 y 64 bits, x86-64, ARM, 68K, 88K, MIPS, Sparc…
- Ser el sistema operativo DOMINANTE en el mundo de servidores web.
La cuestión es que, puesto en perspectiva, el crecimiento de Linux a lo largo de estos últimos 14 años podría no parecer tan espectacular para un sistema operativo, especialemente al compararlo con el modelo de desarrollo de un sistema operativo como Windows o Mac OS, o incluso Solaris. En cambio, si pensamos que TODO el desarrollo se ha realizado de forma voluntaria, y deslocalizada, comienza a verse como algo más meritorio.
Además, la idea de que el software es de libre acceso, pero se pueden cobrar los servicios, permite que crezca una economía del conocimiento. Una cosa es el programa, el
encantamiento que permite realizar determinada magia, y otra cosa es el conocimiento avanzado que permite
pronunciar de forma diferente el
encantamiento, cambiarlo, o incluso enseñarlo… y sobre todo, saber con qué otros
encantamientos es compatible el software, cómo hay que ordenarlos, qué hay que evitar…
Sin embargo, Linux como herramienta para usuarios domésticos está muy lejos de Mac OS X, y, desde mi punto de vista, aún lejos de Windows. No es posible tener la misma experiencia de extraer un equipo con Linux preinstalado, conectar una impresora o un lápiz de memoria, y trabajar con ellos sin preocuparnos.
Eso sí, las empresas que pasen a la mayoría de sus empleados a Linux pueden disponer de máquinas más robustas, mucho más resistentes a los ataques de
malware —software dañino, como virus, troyanos, etcétera—, y con una dotación de software totalmente legar por muy poco precio.
Eh, claro que también pueden hacerlo con los Mac, especialmente si no son el tipo de gente que mira debajo de la capota… y la resistencia al
malware, hasta ahora, ha sido superior: 0 virus para Mac OS X es una cifra difícil de contestar 😉
¡En fin, espero vuestros comentarios sobre Linux, y estos 14 añox!
Comentarios
5 respuestas a «14 añox»
Hombre, TODO TODO no ha sido voluntariado, hay muchas empresas que pagan a programadores para que hagan el trabajo… 😛
Buen artículo 😉
apol, tienes razón. No hay que olvidar los esfuerzos de Novell, IBM, y también de compiladores y gestores de servicios como Red Hat o SuSE, pero lo más importante es que todo ese trabajo se aporta para que esté a disposición de cualquiera…
También hay que decir que aunque Apple no tenga visibilidad en el desarrollo de Linux, sí la tiene en el de elementos clave, como Konqueror en KDE, y aún está por ver el impacto de
launchden FreeBSD, y quizá el propio Linux.Bueno, hace cuatro años, y tal vez dos, te hubiera dado la razón con lo de el manejo de linux pero ahora distribuciones como SuSE o Mandriva resultan tan cómodas, detectan casi todas las impresoras (salvo aquellas que el fabricante se niega a especificar), las memorias USB, los iPod, Palms, Poket pc, cámaras de fotos, tabletas digitales, etc… haciendo que el pingüino ya apenas decepcione.
¡Hola, Arturo, encantado de tenerte por aquí!
Estoy de acuerdo en que hay distribuciones muy completas, y que yo, por ejemplo, estoy tan contento con el Red Hat Enterprise 4 con el que trabajo, pero al final lo utilizo como servidor de archivos… que edito con el Mac 😉
Hay cosas muy buenas en muchos gestores de escritorio para Linux, como recuperar Gnome en el mismo estado en el que lo cerraste (mismos programas abiertos, mismos documentos en esos programas, si los programas lo soportan; curiosamente, un navegador Open Source como Firefox no lo soporta, mientras que Opera sí lo soporta).
Pero el problema fundamental, muy difícil de superar excepto por empresas como Novell o IBM, es crear una distribución de Linux que sea consistente en todo momento… y a ser posible, que, como Mac OS X, pueda utilizarse sin tocar el terminal.
También reconozco que no soy el tipo de usuario que puede probar un Linux y decir si realmente es posible utilizarlo sin tocar el terminal… porque lo primero que voy a hacer, para muchas cosas, es abrir un terminal 😉
de verdad me gusta programar pero no es iguual programar una simple plicacion y compilarla que conpilar los codigos de linux, me gustari adentrame mas en esto y en especial aprender a compilar estos codigos desarrollar un sistema operrativo el sueño de cualquier programador por lomenos el mio…. le agradesia que me ayudaran gracias……