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.
|