lunes, junio 30, 2008

Entrevista a Alexandre Julliard, desarrollador de Wine

Esta es la traducción de la entrevista publicada en el boletín semanal #348 de Wine, "WWN Wine 1.0 Interview Series! Interview: Alexandre Julliard"

Brian Vincent y yo hemos estado conspirando para traer a la comunidad Wine algunas ideas de algunos de los más conocidos y establecidos miembros de la comunidad de desarrollo de Wine. Vamos a tratar de tener al menos una entrevista publicada cada semana hasta la liberación de la versión 1,0. Le preguntamos a nuestros entrevistados la misma serie de 10 preguntas con el objetivo de comprender algunos de sus principales ideas y te exponemos sus respuestas cada semana.

1. Ha sido un largo camino a 1,0. ¿Cree usted que Wine debería haber hecho un lanzamiento estable basado en alguna de las versiones anteriores de a lo largo de los años? En caso afirmativo, ¿en qué punto o puntos cree usted que debería Wine haber tratado de hacer un lanzamiento estable? ¿Por qué? ¿Cree usted que la liberación final de 1,0 se encuentra en un momento apropiado?

Inicialmente Wine solo soportaba Win16, ya que se inició en los días de Windows 3,1, y probablemente podríamos haber hecho una liberación bastante buena con el soporte de Win16 en algún momento de 1998. Pero, por supuesto, en ese momento todo el mundo quería correr aplicaciones de 32 bits, así que, el haberse concentrado los esfuerzos entonces en el soporte de Win16 para lanzar una versión estable haría probablemente que muchos desarrolladores perdiesen el interés. En cambio, se comenzó a rehacer las cosas para soportar Win32, lo que a la larga fue la elección correcta, pero que significó el no haber podido liberar nada decente desde hace mucho tiempo.

2. ¿Qué puntos fuertes cree usted que hay que señalar acerca de 1,0? Quiero decir, ahora que estamos aquí, ¿no deberiamos estar subiéndonos por las paredes y gritando… "¡Podemos hacer [esto]!". ¿Qué es [esto]? Si alguien quería probar que tal está Wine, ¿hay algún programa de Windows que te gustaría recomendar para las pruebas? Hay todavía un montón de aplicaciones de Windows sin una aplicación de Linux comparable, ¿hay alguna en especial que encuentre útil y que le gustaría sugerir que alguien intente?

Photoshop CS2 es la aplicación buque insignia aquí, pero creo que el mensaje es que se pruebe todo lo posible. Por eso ponemos todo el empeño en conseguir que funcionen los instaladores. Actualmente, lo mas probable es que casi cualquier aplicación se instale y por lo menos haga algo interesante.

3a. De cara al futuro, ¿qué cambios técnicos ve que necesite Wine? ¿Hay grandes conjuntos de parches esperando por ahí a ser añadidos y que no se hayan fusionado debido a la congelación de código?

El motor DIB es la principal característica que falta. Espero verlo en 1,2. Otros parches interesantes que están por ahí, son el soporte al iPod (y más en general el soporte de dispositivos USB), y los cursores animados.

A más largo plazo, el soporte de 64 bits requerirá algunas profundas modificaciones técnicas. Afortunadamente, no son tan profundos los cambios como los que fueron necesarios en la transición de 16 a 32 bits, pero sigue siendo mucho trabajo.

3b. Hemos tenido diferentes grupos aportando al desarrollo de Wine, como Google y Codeweavers. ¿En que áreas han planeado concentrarse? Con los años hemos visto algunos grandes cambios que han llevado el desarrollo de Wine en direcciones muy diferentes - por ejemplo, el desarrollo de D3D8 marcó el inicio de una nueva era de soporte para videojuegos en Wine, la versión para OS X realmente ha abierto la puerta a la portabilidad , ¿Hay algo de similares caracteristicas en el horizonte? ¿Piensa usted que alguien conseguirá que ntoskrnl cargue drivers de Windows o haga inyecciones de código en el kernel o algo así?

No creo que los drivers de Windows sean tan interesantes para Wine, salvo en unas pocas áreas especializadas como dispositivos USB o impresoras. El soporte general de drivers tiene que ir en el kernel de Linux para ser útil, y si esto es factible sería un proyecto independiente.

En la parte de Mac OS se necesita claramente un controlador de gráficos Quartz, porque haría la experiencia de usuario mucho más agradable. Hacerlo bien sería una tarea muy importante aunque, no sé cuándo va a ocurrir.

4. ¿Y qué cosas no queremos hacer? ¿Cuáles son las cosas técnicas de las que no debemos preocuparnos? ¿Hay partes de Windows para las cuales no vale la pena añadir soporte? Por ejemplo, el soporte de Win31 está abandonado en este momento, ¿hay siempre un punto en el que no vale la pena el soporte? ¿O Wine llena un papel valioso en el sentido de que permite que aplicaciones antiguas sean utilizables?

Creo que llegará un punto en que el actual soporte de win31 tendrá que descartarse. Podría ser sustituido por una arquitectura más limpia que sea realmente independiente de la de 32 bits en lugar de estar mezclado con ella, a fin de que no se interponga en los cambios que conciernen al desarrollo de 32 bits y que no se rompa continuamente. La dificultad será encontrar a alguien para hacer el trabajo, porque trabajar sobre las nuevas características es mucho más interesante...

5. ¿Es Wine demasiado ambicioso? ¿Estamos tratando de hacer frente a algo demasiado grande? ¿Habrá algún día en que la complejidad del proyecto junto con la tasa de regresión no sea manejable por el tamaño de nuestra comunidad de desarrolladores? En un momento dado alrededor de hace una década parecía que Microsoft liberaba versiones del API cada semana. Las cosas parecen haber disminuido bastante pero ¿cree que esa tendencia continuará? ¿Cree que seremos capaces de seguir el futuro ritmo del API con Vista, Windows 7, etc?

Hasta ahora hemos sido capaces de seguir el ritmo, y no creo que cambie. Por supuesto siempre andaremos un poco por detrás, pero no veo que la diferencia sea cada vez mayor, sinó al contrario. Además, toda esta complejidad es también un verdadero dolor de cabeza para Microsoft que también están viendo cada vez más difícil hacer cambios significativos.

6a. Si pudiese agitar su varita mágica y cambiar una cosa sobre Wine, ¿qué sería?

Más pruebas de regresión...

6b. Si pudiese agitar su varita mágica y cambiar una cosa sobre Linux [u OS X], ¿qué sería?

Me gustaría contar con normas adecuadas de escritorio, aplicado correctamente por los diferentes entornos de escritorio. Estamos avanzando hacia eso lentamenta, pero nos está tomando mucho más tiempo del que debería.

6c. Si pudiese agitar su varita mágica y cambiar una cosa sobre Windows, ¿qué sería?

Yo no sabría por dónde empezar, hay tantas cosas que tendrían que arreglarse...

7. Ahora que Wine es ya 1,0, ¿cree usted que las principales distribuciones empaquetarán Wine? Si no, ¿por qué? ¿Por miedo a ser demandados? Si es así, ¿deberían tener miedo?

No creo que empaqueten Wine, ya que están todos asustados de Microsoft. Todo esto es FUD, no hay ningún motivo racional para tener miedo, pero incluso con esta mínima probabilidad de una demanda, los infinitos recursos que Microsoft podría poner en ella, es suficiente para intimidarlos.

8. Debemos preguntarnos esto porque no hay mejor manera de incitar a la violencia que iniciar un flame sobre la concesión de licencias, pero ¿ve ninguna necesidad de cambiar a LGPL3? La mayoría de los desarrolladores parecen estar bastante satisfechos con la versión 2. Por otra parte, la mayoría de la gente parecía feliz con el X11 de licencia antes de que cambiasemos de opinión tan rápidamente. ¿Hay algo dentro de la licencia LGPL3 que pueda ser un problema para Wine?

No creo que haya ningún problema con Wine, ya sea en LGPL2 o LGPL3, por lo que no hay mucha motivación para cambiar. Me imagino que el cambio ocurrirá eventualmente cuando surja la necesidad de compartir el código con proyectos LGPL3.

9. Con 1,0 lanzado, ¿cree que hay necesidad de algún cambio de procesos? ¿Seguirán entrando aún los parches en el árbol de Wine de la forma en que estaban siendolo? ¿Cree usted que cambiará algo desde la 1,0 en relación con el estilo de desarrollo?

Espero que podamos hacer versiones estables de forma mas frecuente que una vez cada 15 años ...

También esperamos poder poner en marcha el sistema para hacer el seguimiento de las contribuciones en las que hemos estado trabajando con el SFLC (Software Freedom Law Center), pero es mayormente una cuestión de papeleo que no cambiará drásticamente nuestra forma de trabajar.

10. Si pudiéramos contratar por arte de magia a todos los desarrolladores del mundo y tener un Wine 2,0 el año que viene, ¿qué te gustaría que estuviese incluído?

Algunas de las principales características evidentes son el motor DIB, Win64, soporte .NET, soporte de Quartz, etc. Pero lo que realmente precisa tiempo es localizar y arreglar todas las incompatibilidades tan desagradables que rompen las aplicaciones y que haría todo muy feliz junto con el conjunto de características ya existentes. Ahí es donde añadir desarrolladores por arte de magia ayudaría.