Home Index Search Links About Us
[LinuxFocus Image]
[Navegation Bar]
  Noticias   Archivos   Compañ�as   Consejos 

Entrevista con Miguel de Icaza

por Omar Andres Armas Aleman


Entrevista con Miguel de Icaza, realizada el 21 de Enero de 1998.

LF: �Como empezaste con Linux?

Miguel: Eso realmente no importa. Baj� Linux de la red como todo el mundo y como todo el mundo lo instale y ya.

LF: �Hace cu�nto?

Miguel: No me acuerdo. Fue 93, tal vez... 94. El primer kernel que yo compil� fue el 0.985. �Como estuvo? Ya ha de tener como tres o cuatro anos. 93.

LF: �Cu�l es tu trabajo oficial?

Miguel: Mi chamba es en el Instituto de Ciencias Nucleares(de la UNAM). Soy opereta, administrador de la red y en mi copioso tiempo libre, que es todo el d�a, escribo software o tiro grilla o leo news o leo correo. Oye cabr�n, yo estoy convencido, voy a morir leyendo correo.

LF: �Cu�l fue tu primer programa que hiciste para Linux, el Midnight Commander?

Miguel: Fueron unos parches para el Wine, para que funcionara como librer�a, pero como no ten�a PC, pues compilaba en la Sun el Wine, que era para PC. Entonces ah� empez� el proyecto para hacer Wine una librer�a, que no termin�. Lo terminaron como un a�o despu�s. No, como dos a�os despu�s alguien m�s empez� a hacerlo.

LF: Estudiaste en la facultad de ciencias de la UNAM?

Miguel: Si. F�sica y despu�s matem�ticas.

LF: �Terminaste alguna?

Miguel: No. Hmmm... digamos que est� en hold.

LF: �Cu�ntos a�os tienes?

Miguel: 27, no 25. Nac� en 72. Mira ya me acorde, el Midnight Commander lo hice cuando ten�a 20 a�os. Eso que fue, �94 o 93? Creo que si. Me acuerdo que el Midnight Commander lo hice para Linux. Lo desarrollaba en la Sun por que era m�s r�pido que la pinche PC, pero era para Linux. !Puta! cuando habr� sido, �eh? no me acuerdo. Debe de estar en el MC.

LF: �Sigues trabajando en �l?

Miguel: Si.

LF: Lo van a usar en Gnome �no?

Miguel: Pues le sigo dando mantenimiento, por que alguien tiene que darle mantenimiento. O sea, yo sigo siendo el encargado de darle mantenimiento, pero no estoy desarrollando mucho para �l ahorita. La mayor parte son parches que manda la gente. No se, cada dos o tres d�as sale una versi�n nueva. Bueno no cada dos o tres d�as, igual y es una vez a la semana. Pero fuera de eso... digo ahorita le he estado metiendo mano m�s por la cuesti�n esta de Gnome, que va a ser el file manager de Gnome.

LF: �Cu�ndo empezaste con Linux/Sparc?

Miguel: No me acuerdo. Que crees que no me acuerdo. Yo creo que a mediados del 95.(checar fecha)

LF: �Qu� fue lo que hiciste?

Miguel: Pues contacte a David Miller, que es quien hab�a empezado el port. Entonces los dos empezamos el port originalmente y luego se uni� Eddie2, no Peter ... , luego Eddie2, luego Paul no me acuerdo que cuernos. Inicialmente creo que las primeras cosas que hice fue el driver de Ethernet, luego hice varias cosas, no se.. un driver para X Window, que esos me los eche todos como en dos semanas, los que hab�a. No se, trabajo en el port X,... Lo que m�s me quit� tiempo fue la librer�a de C. A la fecha me sigue persiguiendo la librer�a de C. Primero pasamos libc4

LF: �Sigues trabajando en Sparc?

Miguel: Ayer arregl� un bug. Primero portamos libc4 a la Sparc, una vez que jal� portamos libc5, luego en libc6. Y los tres son distintos. Son casi 3 ports. No hay cosa m�s frustrante que portar esa chingadera. Y peor aun portarlo tres veces.

LF: �Como empez� Linux/SGI?

Miguel: Ah. Cuando estaba haciendo lo de la Sparc la gente de Silicon Mexico me hab�an comentado que hab�a la posibilidad de hacerlo. Entonces empec� a hacer el tramite pero tardo y tardo y tardo, y David Miller se fue para all� a hacer Linux Silicon, regres� y pas� todav�a un a�o m�s antes de que me dieran una Silicon a m�.

Pr�cticamente me gusta el software libre al igual que a toda la gente sana.

Pero realmente la cabeza del proyecto es David Miller, de Linux Sparc. Eddie2 fue el mantainer del port durante mucho tiempo. Richard Henderson ha trabajado much�simo en la librer�a de C tambi�n. Jacob J.. que es hoy por hoy el mero petatero.

LF:�Qu� trabajo haces en el kernel?

Trabaj� en Sparc, trabaj� en el RAID con Ingo Molnar y Gadi Oxman, donde Gadi es el guru, o sea, Gadi es el que se tiene que llevar todos los cr�ditos. Ingo hizo el checksum m�s veloz del mundo, el que tuvo la idea original de como hacer el RAID correctamente. Y Gadi es realmente la verga, el que hizo que esa cosa pudiera competir al RAID comercial. Mi nombre se estampo ah�, pero realmente quienes escribieron la mayor parte del c�digo es ese par de cabrones.

LF: �En Gimp qu� haces?

Miguel: Nada.

LF: Tu nombre aparece en la pagina de The Gimp

Miguel: Ha de estar relacionado a Gnome. Un par de microparches. En realidad lo que sucede es un buen d�a apareci� KDE, que era un proyecto para hacer Linux amigable, y al principio era medio chafon, pero empez� a agarrar fuerza y empez� a ponerse muy bonita la cosa esa, bonita y estable �no? Entonces apareci� que KDE era una cosa fabulosa y le mande mail a todos mis amigos de las distribuciones para que incluyeran KDE. Y entonces me hicieron ver cual era el problema de KDE, no me hab�a fijado bien. KDE depende de una librer�a que no es libre, una librer�a que es gratuita para uso no comercial. Pero no es libre. Y no es libre por una raz�n muy importante, el software libre te da derecho a ver el c�digo fuente, a modificar el c�digo fuente, a aprender del c�digo fuente, a usar el c�digo. Pero lo m�s importante es que puedes modificarlo, lo puedes mejorar y corregirle bugs. Qt viene con una licencia que espec�ficamente prohibe las modificaciones y los cambios. Es una compa��a que vende el producto. Entonces desgraciadamente KDE es muy bonito, pero en el momento que empiezas a concederle, por ejemplo, pon un sistema libre: Linux. Dices le voy a instalar KDE y ya tiene un componente que no es libre. �En qu� momento dejas de a�adir componentes que no son libres? Ese sistema ya no es libre, tiene un trozo comercial. Entonces das un paso para atr�s. Hemos avanzado much�simo desde el 85 cuando Stallman arranco el proyecto y de repente llegan un momento en que no, paso para atr�s no, vamos a retroceder un poquito aqu�. �Vamos a empezar a aceptar licencias raras?

LF: �Por eso fue que empez� Gnome?

Miguel: Hubo mucha discusi�n. En realidad en Gnome hubo una bola de cosas. Primero me enter� de como funcionaba en realidad Active X, que no es mala idea. Y entonces originalmente con Federico tratamos de generar una bola de componentes a la Active X para Linux. Empezamos mal, lo pensamos mal y nunca hicimos nada. Todo estaba mal pensado de entrada. La idea era que varias aplicaciones tk, gtk pudieran platicar como un sistema de componentes. Nunca lo implementamos y se me olvid� la idea. Entonces quer�a unificar varios api's en UNIX. Pero son ideas que salen y dices "hay que hacer esto", pero nunca se hace. Entonces hab�amos escogido el nombre de Gnome por que sonaba bonito para nuestro proyecto. Cuando vimos KDE y la bronca que ten�a KDE dijimos "no, hay que hacer uno". Al principio estaba inusable, ten�a muchos bugs, no ten�amos para cuando, requer�a mucha memoria, ten�a cerca de cero inercia. Esto es por ah� de Junio o Julio. Un buen d�a escribimos una propuesta, de hecho escrib� la propuesta y la mande a una bola de gentes: Stallman, la gente de Red Hat, toda la bola de gtk y gente que hab�a trabajado en el Gimp. Por que lo interesante es que dise�o su propio toolkit. Entonces quer�amos involucrar esa gente, utilizar toda la inercia que llevaba ese proyecto, que es peque�a comparada con KDE. Originalmente se iba a llamar "GNU Desktop Enviroment, GDE". En el IRC se discuti� y dijimos "Gnome es un nombre viejo que tenemos por ah�, vamos a usar este nombre viejo, que era para otro proyecto, pero aqu� se aplica. A ver, que quiere decir la G, que la N".

LF: �En qu� se diferencia Gnome de otros manejadores de ventanas, por ejemplo Enlight?

Miguel: Enlightenment es un manejador de ventanas, es decir, lo que pone tu background, decora tus ventanas y define el comportamiento de las ventanas, eso es todo. Pero no dice qu� es una aplicaci�n. Las aplicaciones son de chile y de manteca. Tantito de esto, tantito de aquello; un poquito de todo, cuchareado. Entonces la idea con Gnome y con KDE, es que no son manejadores de ventana, son interfaces para aplicaciones. De hecho KDE depende de su manejador de ventanas. Ahorita creo que ya no. La cuesti�n es que Gnome corre con cualquier manejador de ventanas. Si tu quieres usar Enlightenment �salo; si quieres usar fv, usa fv; si quieres utilizar el manejador de ventanas que Gnome dise�e, usalo; si quieres usar KDE, usalo. Cabe mencionar que el cuate que dise�� Enlightenment(Rasterman), es parte del equipo de Gnome. De hecho est� contratado para trabajar en Gnome. Le paga Red Hat. Red Hat oficialmente va a soportar a Gnome.

Hay un mont�n de cosas que existen que no se est�n usando en Linux ahorita. Entonces Gnome tiene varios objetivos, uno de ellos es proveer de un desktop amigable. Y creo que ese es uno de los grandes m�ritos de KDE. KDE tiene el gran merito de demostrar que un equipo peque�o de gentes en un a�o pod�a crear un desktop incre�ble, que compet�a con Windows 95. Cuando yo vi Windows 95 por primera vez pens� "ya perdimos, ya perdimos gacho. Se nos fue el pat�n, descuidamos la interfaz y nos dieron una golpiza". Yo cre�a que nunca nos �bamos a acercar a eso. Y KDE demostr� lo que demostr�, que si era posible hacerlo, y que lo pod�a hacer un equipo de cinco programadores. Entonces, Gnome mezcla eso, es decir, hacer un ambiente amigable y consistente. Todas las aplicaciones usan el mismo toolkit, todas utilizan las mismas librer�as, todas se deben de ver igual, todas deben de ser idealmente f�ciles de usar, todas deben de ser atractivas. Que es lo mismo que hace KDE, pero adem�s de eso queremos utilizar CORBA. La idea de CORBA es que as� como los pipelines son fabulosos por que puedes mezclar programas con otros programas, la idea con CORBA es que t� puedes tener programas que implementan una cierta especificaci�n, una interface. Es decir, por ejemplo ahorita lo que se est� discutiendo es por ejemplo, tu lista de direcciones telef�nicas y de correo, pues est� en una basesita de datos. Ahora �qu' programa vas a usar? Tienes un programa de correos, pues quieres decirle dices dame la lista de gente para ver a quien le mando correo �No? Usualmente tienes un programa de correo, direcciones, editor de html, etc. Los programas crecen a lo bestia. La idea es hacerlo todo con componentes peque�os. Tienes un programas de correos y que le pregunte a un programa de direcciones. No es un programa de l�nea de comandos, es un programa gr�fico completamente. Este programa provee una interfaz de n�mero de gentes, este es el formato de los registros, etc. La idea es que aqu� puedes cambiar incluso los componentes. Si quiero un componente para manejar mi basesita de datos personal, lo puedes cambiar por una versi�n de GNOME, una versi�n que se ligue con la base de datos de la empresa, con Oracle o con lo que sea. Lo importante es que hay una interface, un API definido. Ese es uno de los papeles que va a hacer CORBA en GNOME. El filemanager lo mismo, los editores lo mismo. Puedes intercambiar los editores siempre y cuando implementes t� interface. La idea es que las aplicaciones se van a poder platicar todas con todas a trav�s de esto. El debuger va a poder platicar con cualquier editor y ya no va a ser un parche horrible. Hay gente que tiene su base de datos y de tel�fonos en emacs. Le vas a poder decir "oye, dame los datos de este carnal", hay gente que quiere la versi�n gr�fica con iconitos. Pero todo va a interoperar, ese es uno de los objetivos que se hab�a pensado en los proyectos anteriores.

Federico: Otro paso despu�s de eso es, aplicando los componentes, tener un sistema de documentos para que tengas un procesador de palabras, le puedas embarrar algo que creaste en una hoja de calculo, o si le embarras una imagen que creaste en el Gimp o en lo que sea, que la puedas editar all� mismo. Como OLE en Windows.

LF: �Cu�l es el papel de Red Hat?

Miguel: El c�digo que escriba Red Hat va a tener copyright de Red Hat, el que yo escriba va a tener copyright mio. Pero como todo es GPL no importa.

Eso es lo interesante del software libre. Aqu� el objetivo es que sea libre y Red Hat est� jugando con nosotros bajo esas reglas, liberar todo bajo el GPL. Entonces, no se que tanta ingerencia tengan, o sea, si ellos est�n proveyendo c�digo y dicen "oigan, me interesar�a que el c�digo hiciera esto", y lo implementan, adelante. Todos los desarrolladores tienen voz y voto. Ahora con todo esto del software libre, si a alguien no le gusta, tiene la libertad de tomarlo y crear su propia versi�n a partir de lo que tenemos.

LF: �Qui�n est� en el proyecto?

Miguel: Tenemos gente como Bruce Perris de Debian, que est� en nuestra lista de desarrolladores est� haciendo la interfaz de COA para Gnome. Michael Johnson de Red Hat est� trabajando en el configurador de linuxconf, Rasterman est� trabajando en las cuestiones de imagen, temas para GNOME. Nuestro guru de temas va a ser Rasterman. Le va a poner temas a las aplicaciones para que parezca...

Federico: �Has visto una cosa en las mac que se llama kaleidoscope?

Miguel: Rasterman trabaja para Gnome y adem�s el desarrolla Enlightenment, entonces �l lo que quiere es que Gnome interopere con lo que el est� haciendo. Obvio que E va a tener muchas cosas para verse mejor o para operar bien con Gnome. Por default. Tambi�n va a colaborar con otras cosas, pero es un hecho que hay un �nfasis muy especial en Gnome.

Hay otro manejador de ventanas que se llama XEWM, uno de los hackers de GNOME est� trabajando en eso y tambi�n, ese es otro manejador de ventanas que le va a sacar mucho provecho a GNOME. Ahora, hay otra diferencia entre GNOME y KDE, y es que en GNOME no creemos que C++ sea el mejor lenguaje del mundo, y Qt de alguna manera te obliga a usar Qt. Existen bindings para otros lenguajes, pero hasta donde hemos visto, tienes que programar en C++ si quieres usar Qt. Entonces, primero nosotros creemos que C++ es un lenguaje de mal gusto que lo �nico que tiene es mucha publicidad, pero fuera de eso es uno de los peores errores que se han cometido en la historia de los lenguajes de programaci�n. Nosotros usamos m�s C, Objective C y Scheme. Entre los desarrolladores hay a quien le gusta C++ y tenemos c�digo en C++. Pero ahorita la distribuci�n de GNOME tiene c�digo en Scheme, en C, C++ y en Objective C. Si alguien quiere trabajar en Ada, adelante. Nosotros permitimos varios lenguajes por que a la gente le gusta programar en distintas cosas. A m� eso me molestaba de KDE, que ten�as que programar en esa basura de lenguaje. La otra cosa es que nosotros creemos que usar scripts para programar es muy importante, es decir, tener en los programas una funcionalidad que te permita manipularlos. Entonces, estamos usando Scheme, posiblemente usemos Perl o Phyton para otras cosas, pero hoy por hoy estamos usando Scheme en algunas aplicaciones que nos permiten trabajar m�s r�pido y hacer cosas m�s r�pido. Esa es b�sicamente la idea. Est� llegando al grado en que se puede usar la cosa. Gnome es un proyecto GNU apoyado por Debian y por Red Hat.

LF: �Para cu�ndo podr�a liberarse una versi�n estable?

Miguel: Bueno, va a depender mucho de cuanta gente contribuya.

LF: �Qu�en m�s est� en el proyecto?

Miguel: Puta! Son un chingo: George Lebl, Radek Doulik, Alan Cox[1], Tom Tromey, Elliot Lee, Raja Harinath,Eckehard Berns, Changwoo Ryu, Michael K Johnson, Federico Mena, Nathan, Bryant, Horacio Peqa, etc.

Debian est� provey�ndonos de disco duro y esta proveyendo el deposito CVS, que es lo que se utiliza para coordinar a todos los desarrolladores en el mundo, todos los desarrolladores tienen acceso a esa m�quina. Tienen una muy buena conexi�n. Si alguien prueba que puede escribir buen c�digo y es bueno, le damos cuenta en esa maquina. Entonces puede actualizar su c�digo. Normalmente se discuten las cosas y si el c�digo esta bien, va para adentro.

Alan Cox, el que hizo el TPC/IP para Linux. Adem�s port� Doom, el que acaban de liberar de dominio publico a Gnome. Le costo un huevo, pero lo hizo. Tambi�n tendremos GnomeVision.


Entrevista original en Castellano

 

© 1998 Omar Andres Armas Aleman
P�ginas web mantenidas por Miguel A Sepulveda.