Notas publicadas en la categoría GNOME

A continuación algo que venía pensando hace un tiempo y que había comentado con algunos amigos. Tenía el borrador, pero creo que hoy corresponde publicarlo. Guarda relación con comprar un proyecto de código abierto o cómo ayudar a destruirlo.

Dado el tipo de licencia de un proyecto de código abierto, éste no puede ser comprado. Sin embargo, ello no impide que una empresa o un grupo de ellas, pueda contaminar o destruir un ecosistema (frágil), con o sin intención de hacerlo.

En términos prácticos, no puedes comprar el código de un proyecto FLOSS, pero sí puedes contratar a los programadores clave. Una vez que los has contratado, puedes desviarlos a otros proyectos o tareas rutinarias.

En el corto plazo suena a una estupidez. ¿Qué programador se iría a trabajar a una empresa que no quiere al proyecto? Además, al cabo de un tiempo, estos programadores se pueden reubicar en otras empresas.

Las empresas que nacen a la luz de un proyecto FLOSS, le dan nuevos aires y un mayor impulso al proyecto. Así ocurrió hace un tiempo con MySQL AB o Helixcode, con los proyectos MySQL y GNOME, respectivamente. Estas empresas se formaron por desarrolladores del proyecto, y dado su conocimiento del proyecto, contrataron a un conjunto de programadores clave.

Estas empresas nacieron para hacer negocios con el proyecto que los apasionaba. Tomaron programadores que contribuían en su tiempo libre y los contrataron para trabajar tiempo completo en dichos proyectos. Esto también impulsó la creación de otras empresas.

Que algunas empresas quedaran en el camino, no importaba. Porque el código que habían contribuido quedaba. Y, en el caso de Eazel, muchos de sus desarrolladores se reubicaron en otras empresas relacionadas con el proyecto que apoyaba Eazel (GNOME en este ejemplo).

Hasta aquí todo es miel sobre hojuelas. Las empresas pequeñas tienen que armar su modelo de negocios, proyectar rentabilidad en algún futuro próximo, etc. Muchas de las empresas pequeñas prestan servicios a empresas más grandes, que no saben como interactuar con proyectos FLOSS. Así, por ejemplo, Helixcode (posteriormente Ximian), prestó servicios a HP y también a Novell.

En algún momento, una empresa grande puede evaluar si absorver una empresa más pequeña. Así ocurrió con Sun al comprar MySQL AB (por un monto ridículamente alto), Novell al comprar Ximian o Intel al comprar OpenedHand Ltd. Pueden constituirse en una nueva división de la empresa, si son afortunados.

En el corto plazo es atractivo: es el respaldo de una empresa grande a un proyecto FLOSS. Y mientras dura la luna de miel, todos contentos. Pero la mística de una empresa pequeña, centrada en un proyecto FLOSS, en donde todos sus miembros saben de qué se trata, no se puede traspasar fácilmente a una empresa mayor.

Ante los vaivenes de la economía dicha mística sucumbe. Sobretodo cuando comienza la reducción de personal y/o la re-orientación de los negocios. Así, una empresa pequeña que pudo tener 20 ó 30 programadores dedicados al proyecto que los vio nacer, terminan con 3 ó 4 realmente trabajando en el proyecto, pero a veces, de manera parcial.

Antes estas circunstancias, es fácil buscar otros horizontes. Algunos, quizás, buscando relacionarse con el mismo proyecto. Pero la mística, en general, ya no es la misma. Y el proyecto perdió a un número importante de buenos programadores.

A esto yo lo llamo contaminar un proyecto, porque un grupo de programadores clave baja su productividad en el proyecto o termina abandonando el proyecto.

Por otro lado, se puede crear un ecosistema frágil, como el que creó Nokia cuando adoptó GTK+ en su tableta Internet 770. Nokia es un cliente muy importante, y se formaron empresas alrededor que comenzaron a prestar servicios a Nokia, todos relacionados con GTK+ y tecnologías afines a GNOME. La luna de miel se extiende. Se crean nuevas empresas por desarrolladores del proyecto que, obviamente, contratan a programadores clave del mismo proyecto.

Todo estuvo muy bien, pero lo cierto es que es lo mismo que colocar todos los huevos en la misma canasta. En el momento que Nokia decide cambiar de rumbo, las empresas cuyo principal cliente son ellos, quedan en la disyuntiva: cambiar de rumbo son su cliente o diversificarse. Aquellas que no lograron diversificarse antes, estarán obligadas a cantar la canción que el DJ decida colocar.

Alguna de dichas empresas, pudo encontrar un nuevo gran cliente que finalmente lo termina absorbiendo. Es el caso de OpenedHand, que fue comprada por Intel y luego pasaron a ser conocidos por el desarrollo de Moblin.

Y se repite la misma historia. En el momento que Intel decide cambiar de rumbo, desde GTK+ a Qt, ¿cuál es la ruta lógica que seguirán los programadores de OpenedHand? En el corto plazo, algunos continuarán trabajando en lo que venían haciendo, pero en el mediano o plazo, es insensato pensar que continuarán pagando a desarrolladores para trabajar en GTK+.

Al igual como anunció Nokia el 2009, el mensaje será: no se elimina el soporte de GTK+, sólo se transfiere a la comunidad.

El que una empresa decida cambiar de un GTK+ a Qt, es un dato anecdótico. Puede doler un poco en el orgullo de un proyecto e incentivarlos a replantearse. Pero en dicho cambio o adopción en sí, no hay daño.

El problema radica en envenenar al proyecto vía tomar desarrolladores clave y que ya no puedan dedicarse a trabajar en él.

Si una empresa grande quisiera hacerlo a propósito, podría. No tiene que atacar al código, ni sus licencias. Tiene que envenenar a su comunidad, y particularmente, a sus líderes. Un proyecto como el núcleo de Linux, no tiene por donde ser atacado, pero proyectos que no son tan grandes como Linux, son vulnerables.

Si el proyecto es pequeño, entonces lo que más uno podría desear, es que le ocurra a su proyecto. Aunque esto se puede esperar más de una empresa que recién parte.

Finalmente, conocimiento esta amenaza (con o sin intención), un proyecto puede prepararse para que no le ocurra.

Aclaración: lo que he escrito aquí es a título personal y de ninguna manera corresponde a la posición del proyecto GNOME, ni de la Fundación GNOME. Y lo aclaro, por si no parece políticamente correcto.

Hay mucha gente que ve el nombre de una Fundación como GNOME, Apache o Mozilla y lo primero que piensa es en el tamaño y/o poder que tiene. Y cuando se habla del Consejo de directores de la Fundación, se piensa en el centro de poder, oh magnificencia y un conjunto de adjetivos que tienden a sobrevalorar su rol.

Aunque luego de reflexionar un poco, uno se pregunta : ¿qué hacen los miembros del consejo de directores?. Y creo que mucha gente no lo tiene claro. Antes de responder dicha pregunta, intentaré situar el contexto de la Fundación GNOME y en futuras notas pretendo abordar las actividades del consejo de directores. Lo hago en la lengua de Cervantes porque creo que cuando fui elegido como director el mayor apoyo lo recibí de la comunidad hispana, pero si alguien cree que debiera hacerlo en la lengua de Shakespeare también, que lo manifieste :-)

Gnome brand

La Fundación GNOME es el nexo entre el proyecto y el resto del mundo (empresas, gobiernos, otras organizaciones, etc.). Sirve como punto de contacto, así como un organismo que permite recibir contribuciones monetarias y otras asistencias, que permiten mejorar el proyecto.

La Fundación GNOME pareciera ser una institución grande, pero en realidad no lo es. Dentro de la comunidad de (¿desarrolladores?) Free/Libre/Open Source Software (FLOSS) el proyecto GNOME es altamente visible, un proyecto grande y, por consiguiente, en el colectivo surge la idea que la Fundación GNOME también es grande.

Hago la pregunta -retórica- si es visible sólo a nivel de desarrolladores, porque en muchas de las instalaciones de GNOME, no se indica que las aplicaciones pertenecen al proyecto GNOME. Así ocurre cuando se instala alguna distribución popular como Ubuntu o en sistemas como Moblin. Por lo que hay un posicionamiento de la «marca» que no está ocurriendo. Aunque lo mismo ocurre con Android y Linux, sólo que Linux está mucho mejor posicionado que GNOME porque sus usos son bastante amplios.

Para ilustrar el tamaño de la Fundación GNOME, podemos tomar como referencia el presupuesto para el año fiscal 2010 (esto es, desde octubre de 2009 hasta septiembre de 2010). El monto a manejar se sitúa alrededor de los USD$465.000 (poco menos de medio millón de dólares).

A partir del año 2010, las empresas grandes que apoyan GNOME lo hacen pagando un arancel de USD$20.000; mientras que las pequeñas lo hacen pagando USD$10.000. Cada patrocinador define dos directores, uno técnico y otro de negocios. También hay organizaciones sin fines de lucro que apoyan a GNOME (otros proyectos o fundaciones), tales como, Debian, Mozilla, Free Software Foundation, entre otros; quienes también pueden elegir un director. Ellos forman parte del consejo consultor.

Consideremos ahora a LiMo Foundation (LiMo significa Linux Mobile), en donde tienen 3 categorías de patrocinadores, aquellos con derecho a elegir un director, lo hacen pagando un arancel de USD$465.000 al año, es decir, ¡el presupuesto anual de la Fundación GNOME!. Y de esos figuran 8 a la fecha que escribo esta nota.

Es muy probable que LiMo Foundation no les sea familiar, y tal vez no la hayan visto ni en pelea de perros. Pero ahí está, respaldada por marcas bastante reconocidas.

Puede ser que los resultados de LiMo Foundation no sean (muy) visibles. Pero podemos considerar entonces a la Fundación Mozilla, mejor conocida por su producto estrella: Firefox. Según el reporte del año fiscal 2008, la Fundación Mozilla recibió alrededor de USD$1.000.000 (un millón de dólares) por concepto de donaciones y suscripciones; vale decir, más del doble que nuestro presupuesto anual. Sin embargo, las donaciones y suscripciones ocupan una fracción pequeña de los ingresos de la Fundación Mozilla. El año 2008 ellos generaron ingresos por alrededor de US$78.600.000 (78,6 millones de dólares).

En cuanto a la fuerza laboral, la Fundación Mozilla financió alrededor de 200 para trabajar a tiempo completo o parcial, mientras que la Fundación GNOME emplea a una persona a tiempo completo (Director Ejecutivo) y una persona a medio tiempo para las labores administrativas.

Por cierto, la mayor fuente de ingresos de Fundación Mozilla provino de organizaciones como Google, Yahoo, Amazon, eBay y otros. El recuadro de búsqueda de Firexfox es la estrella: cada vez que un usuario busca algo allí, Mozilla Foundation recibe unos centavos. El modelo de ingresos de la Fundación GNOME aún se sustena en los patrocinadores como fuente principal.

Bien, eso para situar, a grosso modo, el contexto de la Fundación GNOME. En la siguiente nota comentaré sobre el consejo de directores y otras yerbas.

Después de esquivarlo por mucho tiempo, ayer en un rato que no encontraba nada más que hacer, abrí una cuenta en Twitter. Aún no me convence el servicio, y siempre que alguien lo menciona, lo primero que se me viene a la mente es la tira cómica sobre Twitter de Bilo y Nano.

Ahora estoy buscando un cliente de Twitter/Identi.ca para GNOME.

He probado gwibber 2.0.0, pero adolece de unos problemas: almacena las contraseñas en texto plano (en gconf) y no usa HTTPS para la comunicación con el servidor. Tiene la ventaja de integrar identi.ca y twitter. El hecho que hayan descartado el uso de GNOME keyring aumentan mis dudas sobre su diseño.

El programa que sí utiliza GNOME Keyring y HTTPS es Twitux, pero además de tener un icono bastante feo no realiza un apropiado escalado de las imágenes, resultando inusable si el ávatar de un usuario es una imagen tremenda, no provee enlaces en los textos, entre otras cosas.

Antes de intentar parchar alguno de esos programas, puede ser que exista uno que no guarde las contraseñas en texto plano, use HTTPS y que no sea invasivo. Idealmente, que pueda integrar identi.ca y twitter.

¿Alguna recomendación?

El día de Gnome que se realizó en Concepción se caracterizó por un ambiente distendido, el cual espero podamos repetir durante el año 2009. Hasta ahora todo ha estado tranquilo, pero no hay que bajar la guardia y seguir pregonando nuestro trabajo con Gnome e invitar a que más personas se involucren activamente en el proyecto.

Gnome
Ricardo, Fabián y Juan Carlos descansando en Gnome

En el día de Gnome hubo charlas de distintos niveles y distintos proyectos. Y de la retroalimentación que obtuvimos, se fueron todos contentos, tanto por el formato como por la puntualidad de cada una de las actividades programadas. Vale la pena enlazar el comentario de Fernando Ruiz, quien destaca «[...] buena coordinación y buena vibra que se sentía en el ambiente».

Entre los expositores, contamos con la presencia de Diego Escalante (Perú), Sandino Flores (México), además de poder conocer varios expositores de Curicó y Talca (Fabio Durán, Juan Pizarro, Fernando Silva, Nicolás Narria, Eduardo Retamales, Alejandro Valdés, Felipe Venegas), de Santiago (Pedro Villavicencio) y Calama (Daniel Galleguillos).

Gnome Love
Asistentes y expositores apoyando Gnome

La gigantografía (6x3 metros) fue bien recibida y fue motivo para tomarse fotografías junto a nuestro logo. Algo que debemos trabajar más para crear identidad. Esta vez no hubo camisetas, pero si gorros (edición limitada de 100 :-), las que se pueden ver con el resto de las fotografías del Día de Gnome 2008. Además, un video realizado por Aldrin Martoq y que resume muy bien el evento.

Día de Gnome 2008 Día de Gnome 2008
Fotografías grupales de la mañana y tarde.

El evento más próximo, hasta el momentó, será el Festival Latinoamericano de Instalación de Software Libre (FLISoL) que se realizará el 25 de abril en distintas ciudades del país y en donde históricamente hemos estado presentes en algunas ciudades.

Joo Anfossi
Joo Anfossi en Gnome (CC by:Fernando Ruiz)

Como dato histórico, el Día de Gnome 2008 se realizó el sábado 25 de octubre del 2008 en la Facultad de Ingeniería de la Universidad de Concepción. Fue parte del «Tour latinoamericano de Gnome» y parte del Encuentro Linux. Para quien no asistió y/o ni se enteró del evento, es transparente cuando se haya realizado respecto de la fecha en la que estoy comentándolo :-)

Hace unos días atrás, Claudio escribió acerca del tiempo que Eog toma en guardar el nombre de archivo de una imagen utilizada recientemente en el archivo ~/.recently-used.xbel. La razón: el archivo ~/.recently-used.xbel era demasiado grande. Si recuerdo bien, FileChooser solía tener el mismo problema.

Pasar de 5.8 MiB a 1.8 MiB, vía la eliminación de todos aquellos archivos que ya no existen en el sistema, pareceria una buena ganancia. Pero quise ir un poco más allá y me pregunté ¿Cuántos archivos recientes realmente necesita manejar una aplicación? (bueno, no fuí mucho más allá :-) No creo que más de 10, pero que alguien me corrija si me equivoco.

Así que escribí mi propia versión del programa de Claudio considerando este antecedente. Y mi archivo ~/.recently-used.xbel pasó de 1.2 MiB a 54 KiB. Antes de ir al script, muestro los números que obtuve en un computador con menos de dos meses de uso no intensivo:

gpoo@pendragon:~$ python clean-recently-used.py -v
Summary:
     1 Reproductor de películas Totem
     1 Glade
     4 GNU Image Manipulation Program
     4 Navegador web
     9 Visor de documentos Evince
     9 File Roller
    14 Web Browser
    15 Gnumeric Spreadsheet
    26 gedit
    34 Administrador de archivos
    36 Evince Document Viewer
    52 Totem Movie Player
   292 File Manager
  1151 Eye of GNOME Image Viewer

Si cargo Eog, éste sólo me muestra los últimos 5 archivos abiertos. ¿Por qué necesita almacenar 1146 archivos adicionales?

No importa. El script que escribí es simple. Borra los archivos que no existen (usando la misma estrategia que el programa de Claudio), pero también borra los archivos que no han sido utilizados tan recientemente. Y obtuve los siguientes números:

gpoo@pendragon:~$ python clean-recently-used.py -v
Summary:
     1 Glade
     3 GNU Image Manipulation Program
     4 Navegador web
     8 File Roller
     9 Visor de documentos Evince
    10 Totem Movie Player
    10 Eye of GNOME Image Viewer
    10 Web Browser
    10 Gnumeric Spreadsheet
    12 Evince Document Viewer
    13 Administrador de archivos
    14 gedit
    41 File Manager

Es posible colocar el script para ser ejecutado al inicio de la sesión o programarlo como una tarea en cron.

También se puede jugar con el script utilizando la opción -v, la cual sólo entregará un resumen del uso del gestor de archivos recientes.

Por cierto, es lento al borrar archivos (medido en segundos), pero es mucho mejor cuando ésto está bajo control.