Los proyectos del GSoC 2011

Para quien no sepa, Google financia a estudiantes de todo el mundo para que participen y mejoren proyectos de código abierto desde 2005. Hace unos días se publicó la lista de instituciones aceptadas en el Google Summer of Code 2011.

Mientras revisaba los proyectos que me interesan, se me ocurrió hacer un breve resumen de las ideas que pueden llegar a ver la luz gracias a este programa. Esta lista no intenta ser exhaustiva y sólo recopila algunas ideas de algunos proyectos; no es seguro que algún estudiante se postule para implementarla ni – de hacerlo – que sea aceptado. Pero está bueno ojear lo que puede llegar a deparar el futuro de estos proyectos.

GNU/Linux

Debian, una de las distribuciones de GNU/Linux (y ahora también GNU/kFreeBSD) con más distribuciones derivadas – como Ubuntu. Tiene muchas cosas interesantes para hacer, entre ellas:

  • Crear un sistema para repositorios personales similares a los PPA de Launchpad
  • Un nuevo control de diferentes versiones del mismo archivo provistos por diferentes paquetes
  • Mejor integración del servidor BOINC para facilitar la creación de proyectos que dependen de la donación de ciclos ociosos de procesador
  • Mejorar los Debian Pure Blends, las mini-distros especializadas de Debian

GNOME tiene muchos proyectos internos. Las ideas para el Summer of Code son tan variadas como los proyectos mismos: mejor edición y publicación de imágenes en Shotwell, aplicaciones web con Epiphany, agregar multi-player a un juego utilizando el framework Telepathy, integrar Anjuta con BugZilla, revisores de ortografía ne GTK+/GLib, filtros en el servidor (sieve) en Evolution, integrar video en Rhythmbox, entre muchísimos otros.

Haiku es un sistema operativo en desarrollo con proyectos que realmente pueden marcar una diferencia. Estos incluyen: hacer andar VirtualBox, mejorar el soporte de sistemas de archivos, implementar soporte para Bluetooth, mejoras a la interfaz e inclusive aceleración 3D por hardware.

Illumos, el proyecto para reemplazar OpenSolaris después de sus problemas hace unos meses también quiere estar a la par de otras distribuciones. Por eso podés ayudarlo: mejorando su versión de Wine, mejorar los sistemas de audio y virtualización o haciendo que Chrome, LibreOffice o KDE 4.6 anden sobre Illumos.

OpenSUSE, en cambio, tiene muchísimos proyectos para mejorar su sistema de creación de paquetes de software. Por lo que leí, parecería que apuntan a beneficiar a los desarrolladores en general integrando mejor su infraestructura de compilación, los reportes, los paquetes compilados y su sistema de testing. Aunque también tienen un par de proyectos para mejorar la experiencia del usuario: SaX 3 para configurar el servidor X, instalación desde Windows con Wubi, reportar bugs y muchas otras.

Programación

Django es uno de los frameworks web en python. Aparentemente están interesados en mejorar las grandes críticas al sistema:

  • Compilación de los templates para aumentar su velocidad
  • Un mejor módulo de usuarios y autenticación
  • Mejores mensajes de error y mejor documentación
  • Actualización de esquemas de bases de datos

Drupal es utilizado en todo el mundo cada vez más. La mayoría de los proyectos son sobre integración con otros sistemas (como OpenERP y Google Apps) y migración de funcionalidad existente a su última versión: Drupal 7; aunque también hay un par de ideas nuevas.

Elgg es un motor de redes sociales, básicamente te permite crear tu propia red social. Los proyectos incluyen uno para mejorar la accesibilidad del sistema (WAI y Sección 508), mejor sistema para contenidos en diferentes lenguajes y funcionalidades AJAX en su interfaz.

GCC tiene proyectos tan variados como interesantes. Van desde optimizaciones en velocidad o tamaño y mejorar las herramientas de diagnóstico hasta implementar nuevos estándares sobre los existentes como C++0x , OpenMP 3.0 o funcionalidades de Fortran.

GIT también fue aceptado. Los proyectos son por lo general implementar nuevas funcionalidades que mejoran las existentes o simplemente integrar o limpiar el código de la funcionalidad existente haciendo al sistema más eficiente, robusto y adaptable.

Haskell es un lenguaje muy interesante. Tiene proyectos variados que van desde implementar una base sobre CUDA de NVidia para Haskell Paralelos sobre Datos hasta desarrollar una interfaz para CouchDB o Amazon S3.

Python (en realidad la Python Software Foundation) tienen como principal objetivo impulsar Python 3. Y esto no es sólo en python mismo sino que también incluye otros proyectos como MailMan y Mercurial. Entre todas las cosas que se pueden hacer figuran:

  • Proveer profiling de diferentes implementaciones de python
  • Mejorar el mecanismo de importación de módulos
  • Proveer una interfaz Django para Mailman
  • Mejorar la performance y la documentación de Mercurial
  • Mejorar los sub-repositorios de mercurial, especialmente los relacionados a otros sistemas de control de versiones

Multimedia, Ofimática e Internet

FFMpeg y LibAV tienen varios proyectos sobre integración o mejora de nuevos codificadores/decodificadores de audio y video e integración con otros proyectos existentes.

GIMP también tiene sus propias ideas sobre cómo mejorarse: mejor interfaz para tamaños (que soporte operaciones matemáticas básicas y mezclar unidades), portar los plugins más importantes a la nueva infraestructura interna, permitir plugins en JavaScript y muchos otros. También hay varias ideas de proyectos en Inkscape.

GNUCash quiere mejorar también mejorando su sistema de pruebas interno, integración de negocios, migrar el sistema de reportes a python e inclusive continuar el trabajo de una interfaz completamente nueva.

Mozilla la fundación conocida por Firefox principalmente tiene muchos más proyectos en los que trabajar además del navegador. Estos van desde un parser en python para el formato de MediaWiki a una forma de ver una página web que muestre el anidado y z-index de los elementos en 3D.

Otros

Clear Climate Code es un proyecto promover la ciencia del clima. Las ideas incluyen:

  • Mejor y más fácil distribución e instalación
  • Integración con Excel para quienes quieran usar una hoja de cálculo
  • Implementación en otros lenguajes diferentes a python y/o integración con NumPy

Creative Commons es conocido por sus licencias, pero también tiene proyectos de software. Por ejemplo, un plugin oficial para WordPress o el programa CC Publisher para embeber información de la licencia en los archivos de audio y video que uno cree.

HedgeWars tiene ideas interesantes sobre cosas para hacer mejor el juego: poder guardar videos de partidas, sincronizar configuraciones, no ser expulsado de un juego cuando se pierde la conexión, una versión para iOs y otra para Android e inclusive inventar un nuevo modo de juego y armas.

phpMyAdmin también participa y quiere hacer cambios a su interfaz agregando más AJAX y limpiando código histórico así como mejorar su estructura interna con más testing, utilizando orientación a objetos de PHP y soportando Drizzle, un fork de MySQL.

Y hay más…

Y si todo eso te parece poco acá hay un par más:

  • LibreOffice tiene muchas cosas en las que trabajar sobre el nuevo fork de OpenOffice.
  • Moodle, la popular aplicación de educación en-linea también participa con un par de ideas interesantes.
  • OpenMRS es una plataforma para registros médicos. No estoy muy familiarizado con la aplicación, pero creo que es un tema importante y por de más interesante para aprender algo nuevo.
  • OpenStreetMap quiere mejorar todo, desde nuevas aplicaciones para usar sus mapas hasta mejoras en sistemas de ruteo y detección de nombres de calles en fotos con información geo-localizada.
  • Status.net, el sistema de micro-blogging abierto (y sobre el que funciona identi.ca) quiere tener su API en tiempo real, brindar analytics, integrar mejor las fotos y soportar diferentes sistemas de bases de datos internamente.
  • MediaWiki tiene proyectos para mejorar el código principal, sus extensiones o directamente hacer cosas nuevas.