Para los nuevos, brevemente, MoonLightDE es un entorno de escritorio desarrollado en el Centro CESOL de manera comunitaria con el fin de ser utilizado en Nova Ligero 2015. Este apuesta por una arquitectura modular e integrada de manera que se reduzca el consumo de recursos y el costo de mantenimiento. Es desarrollado utilizando C++, Qt5 y reutilizando las elementos de LxQt y KDE Framework 5.

Después de un tiempo de silencio, trabajo duro y de la perdida parcial del código (cortesía de mi difunto HDD) le traemos una actualización del estado del proyecto. Afortunadamente nuestra comunidad a crecido “significante” en miembros activos gracias a la incorporación de un conjunto (4) de estudiantes de la Facultad 1. Al inicio esto nos retrasó un poco puesto que fue necesario darles algo de capacitación pero esperamos que pronto se recupere la “inversión”. Regresando al tema, los cambios más significativos desde la liberación de MoonLightDE 0.5 son:

Núcleo:

  • Nuevo mecanismo de comunicación entre componentes basado en Intentos (inspirado en Android).
  • Interfaz de línea de comando para permitir la comunicación con este tipo de aplicaciones (moonlightde-cli).
  • Se refinó el mecanismo de configuración del núcleo, ahora tiene interfaz gráfica de usuario.

Panel:

  • Integración del panel lateral a los servicios del panel, cortesía de @JorgeFS
  • Implementación de un Dash nuevo y flamante, cortesía de @akiel.

Gestor de Ficheros [Nuevo]:

  • Servicio de Navegación,  gestión de “lugares” y sistemas de ficheros (locales y remotos) de manera mucho más sencilla.
  • Servicio de Presentación, provee igual flexibilidad para las “vistas” de manera que sea sencillo extender.

Como podrán apreciar la mayoría de los cambios realizados, con excepción del Dash, no son apreciables desde el punto de vista del usuario final. Además queremos que la próxima liberación ya tenga su estilo propio, que vendrá de las manos de @ale. Según la planificación inicial MoonLightDE 1.0 debe estar listo para el mes de febrero, pero debido a que se está reimplementando el Gestor de Ficheros desde cero y que han surgido varias ideas novedosas vamos a necesitar todo el apoyo posible de la comunidad, en aras de crear un E.E. ligero, funcional y bello del que estemos orgullosos todos.

Hackaton Semanal

La mayoría de los miembros de nuestra comunidad son estudiantes o tienes otras ocupaciones por ello tienen poco tiempo disponible programar. En aras de hacer un uso eficiente de este tiempo decidimos hacer semanalmente un encuentro (hackatón) donde cada persona le dedica 2 o 3 horas al proyecto y al final del día MoonLightDE tiene nuevas funcionalidades o menos errores.

Siguiendo esta idea se trata de implementar un modelo de desarrollo mixto, un poco de catedral y un poco de bazar, donde todos puedan aportar. Los miembros de Nova (léase catedral) con más tiempo disponible asumen a las tareas de ingeniería, control de cambios, integración y desarrollo de la linea base, por su parte los estudiantes (léase comunidad o bazar) se encargan del desarrollo de funcionalidades puntuales. Considero importante señalar que no se excluye a la comunidad  de las decisiones técnicas importantes, para ello se utiliza la lista de correo y solo se les demanda que fundamenten apropiadamente sus planteamientos, puesto que los cambios en la arquitectura y en las tecnologías base suelen ser muy costosos.

Como muchos podrán pensar este modelo sigue siendo cerrado puesto que se limita a la comunidad UCI. bueno, aquí vienen las buenas noticias. A partir de esta semana todos los interesados sin distinción de sexo, nacionalidad, raza, religión o conocimientos técnicos podrán participar gratuitamente en el proyecto. Para ello deben mandar su solicitud a la lista de correo. En caso de no tener acceso a internet deje su dirección correo en los comentarios y lo incluiremos manualmente así mismo le enviaremos el código fuente del proyecto.

El flujo de trabajo (sujeto a discusión y cambios) de cara a la comunidad será el siguiente:

  • Lunes: Publicación de la lista de tareas.
  • Martes y Miércoles: Debate, refinado y asignación de las tareas.
  • Jueves: Ejecución.
  • Viernes: Integración.

Sobre las tareas: Cada tarea debe ser posible de completar en 3 o 4 horas, tiempo que suele durar el hackaton, en caso de que toma más tiempo debe ser fragmentada.

Sobre las contribuciones: las contribuciones deben ser publicadas en repositorios Git (con visibilidad nacional al menos) y se debe notificar al equipo de desarrollo de su existencias mediante la lista de correo. Esta será revisada, en caso de contener errores se le notificará al colaborador luego de corregida será integrada a la rama de desarrollo. En caso de no tener acceso a internet o a un repositorio git publico puede enviar sus contribuciones como parches vía correo electrónico (solicitar ayuda en la lista de ser necesario).

Sobre las discusiones técnicas: El medio principal para esto es la lista de correo en caso de ser necesario, se planificarán como tareas semanales.

Sobre el idioma a utilizar en la lista de correo: se recomienda utilizar el idioma inglés con el objetivo de permitir la participación de extranjeros. En caso de no dominar esta lengua puede escribir en español o solicitar la traducción de algún tema.

Sobre los roles: Una comunidad de software libre necesita tanto desarrolladores como coordinadores, documentadores, gestores de la configuración, probadores, tutores, etc. Es necesario que los interesados expresen su disposición de ocupar alguno de estos. Puede que usted no tenga tiempo para involucrase en el desarrollo pero tenga conocimientos de C++, Qt, Git u otra tecnología que se utilice, en ese caso usted puede tutorar a aquellos que tengan un poco más de tiempo pero menos experiencia.

Luego de dicho esto no me queda más que invitarlos a participar este jueves en el hackatón semanal de MoonLightDE.