Los porqués de KDE 4 y reflexión

Magnífica "entrevista" en la que un desarrollador de KDE rebate y explica todas las duras críticas recibidas por KDE 4. Obligada lectura, especialmente para esos críticos que quieran conocer los motivos de las decisiones tomadas.

Sabéis que siempre he sido usuario de GNOME y aunque he intentado varias veces darle una oportunidad a KDE, nunca lo he visto claro y he vuelto. Los asiduos al blog también sabéis que estoy probando KDE 4 y que estoy bastante contento con sus progresos. Veo factible un cambio en un futuro cercano, sin dejar de lado la G.

Desde la publicación de KDE 4.0 algunos usuarios han criticado duramente a esta versión, personalmente siempre he opinado que injustamente, y tras leer a Sebastian Kügler (desarrolladore de KDE) mi opinión al respecto se ha fortificado.

La "entrevista" en realidad es una respuesta a cada una de esas críticas, con argumentos consistentes y bien explicados. El artículo original está en inglés y aunque es bastante largo, he decidido traducirlo a nuestro idioma para ayudar a dar a conocer estos motivos entre los hispanoparlantes que no se lleven bien con el inglés.

Tras la traducción he añadido un punto con una reflexión totalmente personal y, obviamente, subjetiva.

Empieza la lectura.

KDE4 está sin acabar

Realmente, KDE 4.0 es solo el principio. KDE 4.0 es el pistoletazo de salida de un escritorio y aplicaciones usables de forma pública. KDE 4.0 también marca la estabilidad de las bibliotecas y sus interfaces de programación de tal forma que los desarrolladores de aplicaciones puedan empezar a usarlas activamente para sus aplicaciones. Las nuevas características y frameworks necesitan algún tiempo para ser implementados de una forma que sea visible para el usuario. KDE 4.0 marca el principio de la disponibilidad de las aplicaciones basadas en la tecnología KDE4.

Dar por hecho que KDE 4.0 ofrece al usuario todas las posibilidades de sus bibliotecas y frameworks es irrealista. El mérito del trabajo infraestructural que ha llevado a la 4.0 se verá en las próximas publicaciones, con KDE 4.1 mostrando las primeras señales de un aumento de ritmo de desarrollo gracias a los nuevos cimientos.

KDE 4.0 es la línea de salida, no la línea de meta.

Publicar KDE 4.0 fue un error

Muchos de los anuncios oficiales de publicación escritos en kde.org contenían el siguiente texto: "El objetivo del proyecto KDE para publicar la versión 4.0 es la de asentar los cimientos para innovaciones futuras del escritorio libre. Las numerosas de las nuevas tecnologías introducidas incorporadas en las bibliotecas de KDE harán más sencillo para los desarrolladores añadir funcionalidades más ricas en sus aplicaciones, combinando y conectando diferentes componentes de la forma que ellos quieran".

Esto ha sido consistente en todos los comunicados. Nosotros sólo hemos fallado con KDE 4.0 si medimos el trabajo basado en los criterios de otro, no si lo hacemos con nuestras metas firmemente establecidas. Estamos encantados que mucha gente estuviera impaciente a la publicación de la 4.0, pero en algunos casos las expectativas han aumentadoa pesar de nuestro esfuerzo. Entendemos la excitación durante estos dos años, de hecho hemos tenido discusiones en intentar medir y acelerar nuestro trabajo para que las expectativas de la gente no fueran defraudadas cuando la 4.0 fue publicada.

Por otro lado, hay que recordar que también estábamos trabajando en paralelo con las ramas 3.5, que aún está disponible. KDE 3.5.10, una nueva versión que corrige bugs y actualiza traducciones va a llegar en agosto. Alentamos a los usuarios que no estaban listo para adoptar de forma temprana la nueva tecnología que siguieran disfrutando de la rama 3.5.

Entonces, ¿por qué publicamos KDE 4.0 en enero?

Vamos a verlo desde una perspectiva más amplia por un momento. Vamos a verlo en el "gran esquema de lo que está por llegar". La gran pregunta que habría que hacerse es: ¿Podríamos haber publicado lo que será KDE 4.1 como KDE 4.0? Si eso hubiera sido posible, hubiera sido seguramente la mejor opción. Pero no fue posible, por muchos motivos.

Publicar pronto, publicar a menudo. Uno de los pilares del desarrollo del software libre es la de publicar tu software tan pronto como sea útil a otros, de tal forma que la gente pueda usarlo.

Nadie ha prometido nunca que KDE 4.0 sería equivalente funcionalmente a KDE 3.5. Con KDE 4.0 hemos entregado un conjunto de bibliotecas estable y un escritorio básico funcional. 4.0 en términos técnicos significa: A partir de este momento nuestras bibliotecas mantendrán compatibilidad hasta la 5.0. No publicar la 4.0 en este momento significa retrasar a cientos de desarrolladores de aplicaicones de portar y publiar sus aplicaicones. No publicarlo hubiera herido esas aplicaciones -que no reciben la atención que merecen. Estamos hablando sobre aplicaciones básicas como Dolphin, pero también partes completas de KDE como aplicaciones educacionales, gráficas y los juegos. No publicarlos hubiera significado también menos contribuyentes y dar a los usuarios lo que se merecían-, algo más que no queríamos.

Sin embargo parece que el público percibe la calidad de KDE4 casi exclusivamente en Plasma, el nuevo pero más visible componente de KDE 4. Para este tipo de nueva tecnología, simplemente lleva algo más de tiempo y más comentarios de los usuarios hasta que la experiencia del usuario que queremos entregar se alcance.

Un segundo problema es el empaquetado. KDE 4.0 es relativamente difícil de empaquetar, no es que sea relamente difícil de empaquetar, el empacamiento es más fácil y más rápido que en KDE 3.x, pero es nuevo y todo lo nuevo requiere un periodo de adaptación. CMake, SVN, muchas nuevas dependencias, muchas nuevas piezas arquitecturales, cambios en la estructura interna de paquetes importantes de KDE como KDElibs y KDEbase... llevará un tiempo a los empaquetadores para acostumbrarse. Nosotros probablemente no podemos esperar que las distros dejen de usar KDE 3.5.x durante al menos unos meses. De momento la 4.1 se va a publicar ya y tendrán algo de experiencia y esperamos poder hacerlo con cierta rapidez. (Si quieres la prueba, echa un vistazo a algunas distribuciones diferentes con KDE 4.0... difieren ampliamente en términos de estabilidad, características, configuración por defecto y más).

Un tercer motivo es encontrar problemas raros y ocultos. Muchos de los problemas en KDE 4.0 pueden y serán resueltos por los programadores de KDE. Pero muchos otros no. Hemos expuesto problemas en drivers, problemas arquitecturales en las X, gestores de ventanas, Qt y más. Sin una publicación temprana para empezar a obtener comentarios de los usuarios, estos errores simplemente hubieran aparecido en la primera publicación retrasada y hubiera tenido a esos duros usuarios que están "mordiendo" ahora.

Y, finalmente, KDE es una bestia muy compleja, técnica y socialmente. Consiste en cientos de aplicaciones, un framework de desarrollo amplio y un escritorio encima de todos esos, literalmente, cientos de diversos cimientos de base.Es obvio que es imposible que todo acabe a la vez. Hemos sido capaces de publiar una perima versión básica del escritorio  junto con el desarrollo del framework y una buena cantidad de aplicaciones. Hemos fallado en comunicar lo suficientemente bien esta situación compleja. Pero hay que entender que somos desarrolladores de software, creamos software...

KDE necesita un fork

Crear un fork de un software es siempre una alternativa de último recurso. Incluso aunque sea una opción abierta para cualquier desarrollador de software, conlleva un alto precio y responsabilidad, lo que explica por qué afortunadamente rara vez sucede. Es una última opción que se usa cuando la dirección y gestión de un software no va a coincidir más con la visión que un desarrollador o grupo de desarrolladores tienen.

No creemos que estamos cerca de ese punto. Un fork es necesario solo cuando otras alternativas han fallado. Sin embargo la gente está pidiendo un fork de KDE sin incluso probar esas alternativas. Creemos que eso es ser irresponsable.

La comunidad de KDE es extremadamente abierta a nuevas ideas, nuevos contribuyentes, y nuevas direcciones. Cualquier contribuyente actual lo cree. Esas personas que sienten que sus necesidades no están siendo atendidas o que sienten que la dirección de KDE se está desviando son bienvenidas para unirse a la lista de correo y dar sus opiniones.

Hacer un fork conlleva un alto precio y el mantenimiento del código de dicho fork. KDE es un conjunto complejo de aplicaciones y bibliotecas interconectadas, sumando unas 3 millones de líneas de código (según el scan Coverity). Es una conclusión descerebrada que cuanta menos gente haya trabajando en ello, menor será la carga. Así que es definitivamente mejor trabajar con los desarrolladores actuales que crear un nuevo grupo.

Los forks en KDE se han propuesto en el pasado y han fallado. Cada vez que esos forks son propuestos, la comunidad de KDE se reune con escepticismo aunque se dio la bienvenida a los que lo apoyaban, invitándolos a unirse a la comunidad. Incluso cuando el código fue publiado, la comunidad respondió ofreciendo trabajar juntos e incorporar las mejoras. En todos esos casos hasta el momento, la invitación no fue aceptada, los "forkers" no se unieron a la comunidad KDE y simplemente abandonaron sus ideas.

Crear un fork de KDE 3 y portarlo de nuevo a las Qt4 es un trabajo monstruoso. Al equipo de KDE le llevó casi tres años hacerlo. No creemos que cualquier grupo de desarrolladores esté dispuesto a sumir semejante tarea de nuevo. Sin embargo, el código está abierto. Si alguien quiere intentarlo, incluso les entregaremos derechos de nuestros servidores.

KDE necesita quitar Plasma

La mayoría de las quejas sobre KDE 4 han sido principalmente sobre Plasma. El resto del escritorio, el resto de las aplicaciones, y de las bibliotecas y frameworks son generalmente bien recibidas a los usuarios finales, y ciertamente desean adoptar estas nuevas tecnologías pronto. Una vez aclarado que el crear un fork está fuera de las cuestiones técnicas (ver punto anterior), algunos piden quitar Plasma y resucitar kicker y kdesktop. La gente que pide un fork está invitada en continuar trabajando en kicker. Como en ocasiones previas, la comunidad KDE da la bienvenida a esos desarrolladores y les proporcionarán cuentas de nuestro servidor Subversion si quieren desenterrar ese trabajo. El código de esas aplicaciones ya ha sido parcialmente portada a las nuevas bibliotecas de KDE 4 hace algún tiempo en el proceso de desarrollo a KDE 4.0.

Sin embargo, el equipo de KDE no tiene planes de resucitar kicker o kdesktop.

A Plasma le falta funcionalidad

Plasma es un nuevo desarrollo, desde cero. Esto era necesario a causa de muchos problemas de escalabilidad con el viejo código de KDE3 contenido en kdesktop, kicker y minicli (el diálogo de ejecutar comando cuando pulsas Alt+F2). Además, los requerimientos para un sistema de escritorio han cambiado en términos de expectativas del usuario. Esos componentes pueden ahora usar nuevas capacidades gráficas como compositing y animaciones, algo que fue muy duro de hacer o claramente imposible con la tecnología de KDE3.

Plasma en KDE 4.0 consistió en un escritorio básico y tradicional con un panel y un menú lanzador de aplicaciones. No se pretendía reemplazar totalmente la funcionalidad de KDE3 que ha ido madurando durante varios años. Plasma, sin embargo, hace relativamente fácil reemplazar componentes, de tal forma que puede ser ampliado con applets y código y legar a ser de hecho muy poderoso.

La falta de funcionalidad percibida se debe principalmente a la configuración por defecto y los applets disponibles en la 4.0. Según vaya madurando la tecnología y KDE 4.1/4.2 se publiquen, creemos que esta denuncia quedará obsoleta.

No puedo poner archivos en mi escritorio

El plasmoide "folderview" (habilitado por defecto) muestra archivos en tu escritorio y te permite interactuar con ellos como si estuvieras usando un gestor de ficheros. Aunque proporciona la funcionalidad de "ver iconos en el escritorio" es de hecho mucho más poderoso. Te permite mostrar carpetas arbitrarias en tu escritorio, incluso recursos de red, e interactuar con los archivos como si fueran almacenados localmente. El usuario puede incluso mostrar otras carpetas que la del escritorio, filtrar por tipo de fichero, y así sucesivamente.

Folderview entra en KDE 4.1, reemplazando los iconos del escritorio en KDE 4.0. En KDE 4.2 está planeado poner folderview como fondo de escritorio.

folder view

Todo el interfaz de escritorio de KDE4 es radicalmente nuevo

Si bien la tecnología subyacente proporciona muchas formas de interactuar con los ordenadores y tendrá incluso más formas de trabajar con diferentes conjuntos de usuarios en distintos dispositivos, la interfaz del escritorio en KDE 4.0 y KDE 4.1 es más que compatible con los escritorios que hemos visto durante los últimos 20 años, con un panel para cambiar entre aplicaciones, un menú lanzador, y muchas pequeñas piezas de funcionalidad como el reloj. Los usuarios no están forzados a aprender nuevos paradigmas a no ser que quieran tomar ventaja de las nuevas características como el dashboard y los applets.

La interfaz del escritorio no ha sido radicalmente rediseñada en los últimos 20 años. El equipo de KDE está trabajando en poner los cimientos para unas nuevas e innovadoras formas de trabajar con el escritorio al mismo tiempo que proporciona las formas tradicionales de interactuar con él de tal forma que los usuarios actuales no estén alineados.

folder view

Estoy obligado a usar el menú kickoff

KDE 4.0.4 y KDE 4.1 proporcionan la posibilidad de cambiar fácilmente el lanzador de apliaciones kickoff al menú clásico de KDE3. Para volver al menú clásico el usuario tiene que hacer botón derecho sobre el botón del menú-K y elegir "Cambiar al estilo de menú clásico".

folder view

El equipo de KDE no escucha a sus usuarios

KDE, como proyecto de software libre, está más que abierto a sus usuarios y a cualquier otro equipo de software comparable. Todas nuestras listas de correo están abiertas a sugerencias, el desarrollo puede ser seguido de cerca a través de SVN, y los desarrolladores son normalmente fácilmente accesibles para otras partews interesadas, ya sea a través de sus listas de correo, IRC o directamente vía correo electrónico.

Los desarrolladores dependen de información precisa, sin embargo, afirmaciones tan vagas como "no me gusta el nuevo foobar" son difíciles de abordar. Los informes precisos detallados y con el comportamiento esperado junto con casos de uso (y a veces un poco de paciencia) incrementan las posibilidades de que esas cuestiones se traten. Insultar, lloriquear o fomentar un FUD no es bueno para la motivación de un desarrollador ni para abordar esas cuestiones; en lugar de ello provoca que el desarrollador se desmotive  en la resolución de un problema determinado. Los usuarios que deseen cierta funcionalidad en KDE 4 deberían ser colaborativos, útiles y abiertos a nuevas soluciones.

Un comportamiento común, aceptable y efectivo en la comunicación con los desarrolladores es esperar, especialmente considerando que los desarrolladores no tienen una obligación de ayudar y normalmente lo hacen voluntariamente.

En algunos casos, es necesario equilibrar el escuchar a los usuarios o no hacerlo. Después de todo, probablemente estamos haciendo que algunos abandonen esa zona cómoda. Siempre hay resistencia al cambio, aunque el cambio sea necesario para sobrevivir. Un cierto espacio para la innovación era necesaria, y de hecho se encuentra en el corazón del software libre. KDE 3.5 no hubiera sido el producto estable que es ahora si no hubieramos ignorado algunas voces de vez en cuando, y KDE 4 nunca se hubiera convertido en una realidad.

KDE 4 vs 4.0 es confuso

Con "KDE 4" nos referimos al ciclo de vida completo de las tecnologías como Phonon, Plasma, Solid, etc. "KDE 4" es todo ese ciclo de vida. KDE 4.0 es la primera publicación de este ciclo, exponiendo nuevas tecnologías al público. Tras las publicaciones (como KDE 4.1 y 4.2) se construyen los "Pilares de KDE4". Las tecnologías que están ahí, pero no son visibles. Los usuarios, especialmente los usuarios de software libre quienes están normalmente más familiarizados con las distintas opciones de software y la disponibilidad, han tenido un pequeño problema de comprensión con OS X y las versiones siguientes, Windows XP y sus service packs, Linux 2.6 y sus point releases, y así sucesivamente. KDE 4 is el nuevo importante paradigma en el proyecto KDE, y KDE 4.0 es simplemente la primera publicación.

KDE debería haber portado simplemente KDE 3.5 a las Qt 4 en lugar de añadir todas esas cosas experimentales

Esto no es una idea estúpida y fue duramente considerada. El problema de hacerlo es doble: social y técnico.

Socialmente hablando, se asume que la reorientación del esfuerzo de desarrollo es efectiva. Hasta cierto punto lo es, pero para algunos desarrolladores no desarrollar características a menudo significa no desarrollar para nada. No todo el mundo es bueno en cosas de bajo nivel. Esto nos ha sucedido con otros proyectos en el pasado y presente. El desarrollo de KDE 4 ha sido más lento de lo que hubiera sido si hubieramos estado dispuestos a forzar a los desarrolladores en cualquier cosa que los administradores hubieran pensado que era bueno... pero pero no es así como funciona el software libre.

Técnicamente hablando, dos argumentos. El primero, una publicación a tiempo que sólo hubiera portado tendría que revisarse después de nuevo, no podíamos prometer compitabilidad de binarios, y la primera publiación hubiera sido inútil para los desarrolladores de aplicaciones de terceros. Hubiera estado realmente bien para los usuarios, pero también hubiera sido un total desperdicio de tiempo desde el putno de vista de los desarrolladores -el progreso de KDE como un entorno de desarrollo hubiera sido mínimo en el mejor de los casos. Y ese entorno de desarrollo es el mayor foco de atención de KDE 4.0-. Queremos llevar el escritorio libre más allá (visión a largo plazo).

Un segundo problema sería el hecho de que los desarrolladores tendrían que portar una cantidad ingente de viejo código que no hubiera sido necesario en la nueva plataforma. Ejemplos claros son KDesktop y Kicker. Muchos usuarios han pedido a los desarrolladores de KDE portar Kicker y KDesktop a las Qt 4, pero no lo hicieron porque hubiera sido un enorme trabajo y a largo plazo, no se podría mantener. En otras palabras, hubiera retrasado la publicación de Plasma al menos otro año, sin beneficios en absoluto a largo plazo. Lo mismo sucede con las aptitudes para audio y video,  o las relacionadas con chant y aplicaciones de mensajería instantánea, etc. En otras palabras. MUCHO.

La innovación en tecnología nunca va a continuar sin cambios. Los cambios nunca van bien con los negativos. Por mucho que intentemos respetar ambas partes, el escritorio difícilmente hubiera visto una verdadera innovación e los últimos 15-20 años. Los desarrolladores de KDE necesitamos algo más de espacio para nuevas ideas y así llevar al escritorio libre a una nueva generación de ordenadores y usuarios.

Mi reflexión

Personalmente no puedo estar más de acuerdo con Sebastian. Uno de los motivos que impiden que los usuarios de Windows pasen a GNU/Linux pese que muchos de ellos saben que sería mejor es precisamente el abandonar esa comodidad.

Siempre he dicho que el ser humano es cómodo y un animal de costumbres por naturaleza, y quizá en otros temas yo soy el primero, aunque no para estos asuntos.

Considero una tontería el hacerse un "fanático de x", ser usuario de GNOME no impide que lo seas de KDE si le das una oportunidad real a disfrutar del mismo y viceversa. Esto mismo sucede dentro de KDE, ser usuario de KDE3 no implica que puedas disfrutar de KDE4.

Está claro que hay cambios en esta nueva versión, y que nos cuesta "readaptarnos" cuando ya estamos adaptados. Cuando somos pequeños y pasamos del colegio al instituto y del instituto a la universidad, y de aquí al trabajo siempre hay cierto "miedo", todo es distinto y el futuro es un tanto incierto.

No es lo mismo con esto, pero es algo parecido. Estamos tan habituados al escritorio actual (sea cual sea) que nos cuesta darle una oportunidad real a algo nuevo, pese a que ese algo nuevo ofrece muchísimas nuevas características que nos pueden (no afirmo, según cada cual) hacer la vida más fácil.

KDE 4 no está completo tal y como dice Sebastian. El escritorio hoy por hoy con la 4.1 a la vuelta de la esquina es muy estable y ya dispone de ciertas aplicaciones totalmente necesarias. No todas están portadas, de hecho son minoría, pero se pueden usar las de KDE3 en KDE4 sin mucho problema.

Personalmente creo que Plasma es algo que actualmente es muy criticado, pero es algo muy muy potente y si se le dedica cierto tiempo en comprenderlo y en pensar lo que puede ofrecer, es apabullante.

Siempre hemos tenido un escritorio lleno de iconos, muchos lo usan de "carpeta de descarga" o donde tenemos las cosas temporalmente (lo de temporalmente es relativo...).

Plasma ofrece el que organices todos esos iconos en secciones dentro del mismo. Imaginad que tengo una carpeta (llámese "temporal") donde tengo todas mis descargas, mis trabajos, etc. Ahora coloco varios "folderview", todos apuntando a la carpeta "temporal" pero uno sólo muestra la música, otro los vídeos, otro mis trabajos, etc. El escritorio Plasma te permite tener el viejo escritorio pero mucho mejor organizado si así lo deseas.

Plasma es un simple ejemplo. KWin está avanzando y en KDE 4.1 ya ofrece efectos y "plugins" hoy en día indispensables y que vemos en otros sistemas o en Compiz Fusion, y sigue en desarrollo, sigue añadiendo nuevos plugins y efectos.

Visualmente me parece mucho más atractivo que su antecesor, e incluso que el actual GNOME, por qué no decirlo, pero aquí entramos en gustos, y no hay lugar a debatir sobre el tema.

En definitiva, hay que darles tiempo como piden. Creo que las próximas versiones de distintas distros que ya han optado por KDE4 serán un muy buen punto de partida para quien quiera darle una oportunidad real.

Muchas veces los usuarios somos unos egoístas, que no paramos de pedir, criticar y patalear cuando algo no nos gusta, pero ¿nos paramos a pensar en soluciones reales? La mayoría de veces no, porque "no tenemos ni idea de cómo se hace", sin embargo esa misma reflexión, la de ser consciente de nuestras limitaciones de programación y desarrollo, no nos impiden el lanzar duras críticas a un grupo de personas que han invertido mucho tiempo y esfuerzo en ofrecernos todo esto.

Desde aquí sólo quería agradecer al equipo de KDE por su excelente trabajo, en boca de un gnomero, y extender este agradecimiento a todos los desarrolladores de software libre. GRACIAS.

Más artículos entre tuxes y pepinos

Fuente: http://tuxpepino.wordpress.com/?p=897

leer más