Ideas: Google Summer of Code 2014

¿Encuentra una idea que le gustas? ¿Desea proponer la suya propia? Vea Getting Started Guide (Guía de Inicio) con GSoC:

Aún másr, las ideas aceptadas en el último año desde el Fedora Project (Proyecto Fedora) se pueden encontrar en el sitio web GSoC 2013

Se da la Bienvenida a los Estudiantes

Si eres estudiante y deseas participar en el GSoC 2014 con Fedora, no dudes en consultar la lista de ideas, que sigue creciendo. No dudes en contactar con los mentores/colaboradores indicados en esta página para cualquier aclaración. Si eres nuevo en el proyecto Fedora, el siguiente material te ayudará a empezar. Además, regístrate con el Sistema de Cuentas de Fedora (FAS) si deseas continuar con el proyecto Fedora. Puedes usar el canal IRC #fedora-devel para obtener soporte instantáneo.

Mentores de Apoyo

Los siguientes colaboradores también están dispuestos a apoyar el programa GSoC 2014. (No dudes en agregar tu nombre y adjuntar la página de usuario). En ocasiones, es necesario contar con mentores de respaldo si el mentor original se ve ocupado con algo por un corto tiempo. En ese caso, necesitamos ayuda.

Borrador de una idea

Añada su idea como sigue.

Nombre de proyecto

Estado:

Sumario de idea:

Requisitos de conocimiento:

Nivel de habilidad:

Contactos:

Mentor(es):

Notas:

!!! El borrador fue modificado ligeramente, por favor agregue el campo obligatorio como ¡obligatorio!

Listado de idea para GSoC 2014

FedmsgSobumper

Estado: Propuesto (como nivel de madurez en RFC6410)

Resumen de la idea: Reconstruir automáticamente todo el subárbol de dependencia en crudo si ocurre algún problema de compatibilidad con versiones anteriores de ABI.

Requisitos de conocimiento: Python, intérprete

Nivel de destreza: Bajo-Medio

Contactos: jpacner @ @ redhat @ @ com

Mentor(es): jpacner @ @ redhat @ @ com

Notas: El script se conectará a bus Fedmsg y deberá ser lo más pequeño posible (para más detalles, contacte con el mentor). Esto ahorrará mucho tiempo a los colaboradores de Rawhide.

Bugspad

Estado: Propuesto

Resumen de idea: Bugspad es un sistema de seguimiento de errores diseñado pensando en el rendimiento. El objetivo es mantener el mismo nivel de funcionalidades que Bugzilla, pero permitir su alojamiento en una máquina virtual estándar. Además, debería requerir menos configuración y mantenimiento. Para una evaluación de pruebas, queremos tener todos los errores de Fedora y un mejor rendimiento que el Bugzilla actual.

Los detalles del proyecto se pueden encontrar en http://bugspad.readthedocs.org/en/latest/

Mínimo requerido PARA HACER

  • La interfaz está completamente funcional. La idea principal es que sea completamente auto-alojado. Todos los errores deben reportarse en Bugspad.

Requisitos de conocimiento:

` * Buena idea sobre aplicaciones web y diseño frontend. + * La persona debe saber sobre API(s) en general y cómo diseñarlas bien. ` + ` * Python, Javascript, HTML, CSS serán los lenguajes principales con los que trabajar.`

Nivel de habilidad: Medio-alto

Contactos: kushal EN fedoraproject PUNTO org

Mentor(es): Kushal Das

Notas: El backend está escrito en Golang. Antes de empezar a hablar, ten al menos una instancia activa en algún lugar (pista: tu portátil).

Waartaa

Estado: Propuesto

Resumen de la idea: Waartaa es una herramienta de comunicación de código abierto para equipos y grupos. Está basada en IRC. Actualmente, Waartaa es un cliente de IRC como servicio y ofrece registro centralizado, inactividad 24/7, notificaciones e identidad única para cada usuario de IRC. Puedes visitar la página principal del proyecto: https://www.waartaa.com para más detalles. Una instancia de demostración de Waartaa está alojada en https://try.waartaa.com.

Hoja de ruta:

  • Construir un centro central para buscar/leer registros de canales para comunidades y proyectos de código abierto.

  • Construya un backend más rápido y escalable.

  • Libertad de elección: exponer una API para que los usuarios puedan utilizar sus clientes IRC existentes con waartaa.

  • Encuentre una forma segura de autenticarse con los servicios de IRC sin almacenar contraseñas en crudo.

  • Respetar la privacidad del usuario: los mensajes personales del usuario deben almacenarse en formato cifrado en el servidor.

  • Permite a los usuarios descargar registros de chat en varios formatos compatibles con los clientes IRC más populares.

  • app de HTML5 móvil

  • Integración de VCS, Bugzilla y otras herramientas de gestión de tareas.

  • Instalación de videoconferencia y audioconferencia basada en tecnologías HTML5 y JS.

Requisitos de conocimiento: Python, Javascript, HTML, CSS.

Nivel de habilidad: Medio

Contactos:

  • rtnpro en fedoraproject punto org

  • sayanchowdhury en fedoraproject punto org

Notas:

Idea tardía

Estado: Propuesto

Resumen de la idea: Afterthought será la herramienta para ejecutar trabajos (no predefinidos) en sistemas *nix. A un nivel superior, tomará una URI como argumento, obtendrá sus datos, analizará los datos formateados (con conjuntos de instrucciones) y ejecutará los comandos/trabajos. Esto facilita enormemente la automatización de tareas y la implementación de servidores y aplicaciones.

Por operación, se puede considerar simplemente como un script de shell dinámico y carga diferida. Al ejecutar un script, sigue las rutinas que se le asignaron al momento de su creación (que pueden haber quedado obsoletas al momento de la ejecución); mientras que, a posteriori, obtiene las rutinas más recientes, que serían la ruta más reciente a seguir para la operación, sin que el usuario tenga que preocuparse por ello (ni obtener el script "más reciente").

Otras posibilidades incluyen configurar un procedimiento base personalizado según necesidades, perfiles o credenciales particulares. Además, el endpoint no necesita responder de la misma manera en 2020 para una máquina Fedora con Clang que en 2015 para una plataforma CentOS con GCC (si me entienden). Otras posibilidades similares son:

O quizá, en un archivo de Docker

En resumen: menos RTFM, menos mantenimiento (o perseguir fantasmas de rutinas o scripts pasados), más automatización, donde sea que corresponda (pista: se aplique en demasiados lugares).

Requisito de conocimiento: *nix && (Rust || C/C++ || Go) && (Node.js::FlatIron/Express || Python::Flask/Pyramids || Ruby::Rails/Camping)

Nivel de habilidad: Intermedio

Mentor(es): Soumya Deb (Debloper)

Notas:

Shumgrepper

Estado: Propuesto: borrador

Resumen de idea: Summershum es un proyecto que recopila las sumas MD5, SHA1 y SHA512 de cada archivo en cada paquete de Fedora. Esto permitiría detectar cuántas veces se agrupan ciertos archivos o cuántas copias diferentes de la licencia GPL existen. Shumgreppper sería la interfaz web/JSON-API para estos datos. La idea sería bifurcar el código presente en datagrepper y adaptarlo para que funcione con Summershum.

Requisito de conocimiento: python y html/css básico

Nivel de habilidad: intermedio

Contactos: pingou en fedoraproject punto org

Notas:

Estado: Propuesto: borrador

Sumario de idea:

GlitterGallery es GitHub para diseñadores. Es una aplicación web que permite a diseñadores y artistas crear, compartir y colaborar. Está respaldada por Git para el control de versiones y está diseñada para formar parte de una suite de diseño FLOSS que incluye

  • Sparkleshare: un git-backend, un sistema similar a Dropbox que registrará y enviará automáticamente archivos del proyecto directamente a un repositorio git compartido

  • Magic Mockup: un coffeescript/javascript que puede insertar en un SVG de maquetas para habilitar maquetas interactivas con solo pulsar (vea una demo aquí)

  • Inkscape es nuestra herramienta de diseño preferida

El año pasado, un GSoC exitoso convirtió a Glitter Gallery de un prototipo en una aplicación web completa, pero aún quedan muchas funciones por añadir y mejoras por realizar. Algunos aspectos que aún requieren trabajo:

  • Transición al desarrollo basado en pruebas, lo que significa escribir pruebas unitarias y de integración para todos los componentes

  • Mejor integración de la suite de diseño, lo que podría significar un mejor soporte para la edición local con SparkleShare; integración de Inkscape a través de una extensión; y/o soporte para crear y compartir SVG interactivos con Magic Mockup

  • Mejoras de la interfaz de usuario: la interfaz de usuario actual es funcional y tiene un aspecto bastante agradable, pero podría ser más receptiva y refinada

  • Mejores comentarios: el sistema de comentarios actual es básico y hay muchas formas de mejorarlo, incluido el soporte de hilos, el soporte de pingback y la capacidad de hacer referencia a una región específica de un diseño en un comentario

  • Seguimiento de problemas: permite al diseñador realizar un seguimiento de los cambios solicitados como problemas

  • Más funciones sociales, como la posibilidad de seguir un archivo/proyecto/usuario, un feed de actividad, mensajería privada y fácil compartir fuera de la aplicación

  • Sus propias ideas

Requisitos de conocimiento previo: git, Ruby on Rails, desarrollo front-end (HTML/CSS/JS), la experiencia en diseño sería excelente, pero opcional

Nivel de habilidad: Intermedio

Contactos: emichan en fedoraproject punto org

Mentor(s): Emily Dirsh

Notas: El repositorio de GlitterGallery está alojado en GitHub. GlitterGallery se ejecuta localmente, pero debido a una dependencia, aún no es compatible con Ruby 2.0.0, la versión incluida en la última versión de Fedora. Puede instalar una versión anterior de Ruby con rvm. Se recomienda Ruby 1.9.3. GlitterGallery también puede ser desplegado en OpenShift.

Fedora College

Estado: Propuesto - Borrador

Resumen de la idea: Fedora College es un proyecto que busca implementar el uso de aulas virtuales en la formación de nuevos colaboradores de Fedora, utilizando recursos educativos conocidos, apoyándose principalmente en video

Requisitos de conocimiento: Apache, PostgreSQL, Python, Flask, SQLAlchemy

Nivel de habilidad: Medio

Contactos: echevemaster [AT] fedoraproject [DOT] org, yohangraterol, [AT] fedoraproject [DOT] org

Co-Mentor: Luis Bazán

Código: https://github.com/echevemaster/fedora-college, bienvenido a contribuidores

Estudiantes Interesados: Hammad

Panel de control de alojamiento web

Estado: Propuesto - Borrador

Resumen de la idea: desarrollar una alternativa libre a los paneles de control cpanel/plesk, 100% compatible con fedora y redhat enterprise linux. Escrito en python.

el panel de control será capaz de crear dominios y configurar automáticamente apache, postfix, dovecot, mysql, postgresql bind etc…​

Requisitos de conocimiento: apache, postfix, dovecot, mysql, postgresql, proftpd, bind

Nivel de habilidad: Medio

Contactos: itamarjp [AT] fedoraproject [DOT] org, kaustubh [DOT] karkare [AT] gmail [DOT] com

Mentor(es): Luis Bazan

Co-Mentor: Eduardo Echeverria

Infraestructura para el grupo FreeMedia

Estado: Propuesto

Resumen de la idea: Fedora Freemedia es un grupo de voluntarios que envía contenido multimedia de Fedora a usuarios de todo el mundo, previa solicitud. Utilizan Trac para rastrear estas solicitudes. El proceso es manual; la idea es automatizarlo al máximo.

Requisito de conocimiento: PHP, PostgreSQL

Nivel de habilidad: Medio

Contactos: bckurera

Mentor(es):

Notas:

Colaboración de proyectos con otras organizaciones

  • TBA

Muon: gestor de paquetes KDE

Estado: Propuesto

Resumen de la idea: El gestor de paquetes actual de Fedora KDE, Apper, no recibe mantenimiento y está plagado de errores. Por otro lado, Muon se encuentra en desarrollo activo. Originalmente fue desarrollado para Kubuntu y estaba vinculado a Apt, pero en 2013 se le incorporó un backend basado en PackageKit. La idea es que Muon 2.1 esté listo para su uso en producción en Fedora.

Requisitos de conocimiento: Desarrollo en C++, Qt/KDE

Nivel de habilidad: Medio

Mentor(es): ?? (Aleix Pol Gonzalez es un mentor confirmado para una propuesta similar de Debian)

Notas: Debian tiene una propuesta similar. Si bien esta se centraría en el segundo plano de Apt, sus tareas de limpieza de ubuntuismos también beneficiarían a Fedora.

Mejoras de Mock

Estado: Propuesto

Resumen de la idea: Este proyecto busca mejorar utilidad de simulación, utilizada en la creación de paquetes en Fedora y otras distribuciones basadas en RPM. Se centra en mejorar los casos de uso simulados interactivos para optimizar los flujos de trabajo de empaquetado.

Algunas ideas para simular mejoras:

Añadir bitácora en tiempo real a TTY

Mejorar el uso interactivo de las simulaciones registrando más información en la consola en tiempo real. Se deben considerar aspectos como la salida DNF o los registros de compilación.

Implementar caché raíz basada en LVM

Actualmente, el simulador crea un árbol de directorios raíz en el sistema de archivos existente y almacena en caché el entorno chroot como un archivo tar comprimido, lo que afecta negativamente al rendimiento. La idea es usar un volumen lógico LVM para almacenar el sistema de archivos invitado. La caché se crearía mediante una instantánea de LVM, que podría restaurarse posteriormente.

Utilice DNF en lugar de yum y yum-builddep

Mock usa YUM y YUM Utils para instalar los paquetes iniciales y crear dependencias. La idea es reemplazar todo el uso de YUM con DNF.

Como DNF aún está en desarrollo, se espera que tenga algunos errores relacionados con el soporte de installroot, que tal vez deban corregirse y contribuir al proyecto DNF.

Mejorar el bloqueo de chroot

Actualmente, la mayoría de las operaciones simuladas dentro del entorno chroot se realizan tras adquirir un bloqueo exclusivo. Esto imposibilita la ejecución de dos shells independientes dentro del entorno simulado. La idea es implementar un esquema de bloqueo de lectura y escritura (compartido-exclusivo). Algunas operaciones (como crear un entorno chroot o restaurar una instantánea) requieren un bloqueo exclusivo, mientras que otras solo requieren un bloqueo compartido (como ejecutar un intérprete de consola).

Requisitos de conocimiento: Python, Linux, empaquetado RPM

Nivel de habilidad: Medio

Contactos: Mikolaj Izdebski

Mentor(s): Mikolaj Izdebski, Stanislav Ochotnicky (backup)

Notas:

Demonio de solicitud de intérprete Git

Estado: Propuesto

Resumen de la idea: El empaquetado de Fedora depende en gran medida de Git. Sin herramientas Git especializadas, el mantenimiento de decenas o cientos de paquetes de Fedora puede resultar tedioso.

Este proyecto trata de implementar un demonio que escucharía en un conducto con nombre las solicitudes del intérprete del sistema (como bash) y respondería con un símbolo del sistema dependiendo del contexto (como el estado del repositorio git en un directorio determinado) y la configuración del usuario.

El núcleo del demonio no debería depender de Git, sino escribirse utilizando un framework de complementos que permita la implementación de diferentes complementos. Cada complemento podría proporcionar información diferente para exhibirla en el intérprete de solicitud.

Además del núcleo, se debe implementar un complemento de Git. Este complemento no debe invocar al Git ejecutable, sino usar una biblioteca de Git (como libgit2, que tiene vínculos para varios lenguajes).

Requisitos de conocimiento: Git, Linux, cualquier lenguaje de programación el cual tenga vínculos para libgit2

Nivel de habilidad: Medio

Contactos: Mikolaj Izdebski

Mentor(s): Mikolaj Izdebski, Stanislav Ochotnicky (backup)

Notas:

Mejora del Empaquetado Fedora para Eclipse

Estado: Propuesto

Resumen de idea: Este proyecto trata de implementar complementos nuevos de Eclipse y contribuir con ellos al proyecto eclipse-fedorapackager.

Integración Copr

Este complemento debería proporcionar una interfaz para Copr. Debería permitir obtener el vale de la API mediante usuario y contraseña, iniciar compilaciones y consultar el estado de las compilaciones. Idealmente, se debería implementar la API completa de Copr, incluso si no se utiliza en la interfaz gráfica de usuario. Este complemento debería proporcionar instrucciones en la perspectiva de empaquetado de Fedora.

Integración del Bus de Mensajería de Infraestructura de Fedora

Este complemento debería proporcionar una API Java y su implementación para datagrepper. También debería proporcionar un widget SWT que permita acceder a eventos pasados y filtrarlos según criterios específicos. La integración opcional con Mylyn también es bienvenida (por ejemplo, una compilación fallida crea una tarea de Mylyn).

Requisitos de conocimiento: Desarrollo de complementos de Java y Eclipse

Nivel de habilidad: Medio

Contactos: Mikolaj Izdebski, User:Akurtakov[Alexander Kurtakov]

Notas:

Complemento de Eclipse para XMvn

Estado: Propuesto

Resumen de la idea: Este proyecto trata sobre la creación de un complemento de Eclipse para editar la configuración de XMvn in Eclipse.

El complemento:

  • implementaría modelo(s) de Java para configuración de XMvn

  • permitiría leer y escribir modelo(s) como archivos XML

  • implementaría editor de configuración proporcionando vista XML cruda y una o más vistas de nivel alto

  • permitiría convertir la configuración a secuencia de invocaciones macro de RPM

el complemento XMvn integraría con Eclipse Linux Tools y/o Fedora Packager para Eclipse donde sea posible (añadiendo instrucciones en perspectivas, integración con editor de archivo spec, etc.)

Requisitos de conocimiento: Desarrollo de complementos de Java y Eclipse

Nivel de habilidad: Medio

Notas:

Implementa una batería de pruebas unitarias para SSSD

Estado: Propuesto

Resumen de la idea: El propósito de este proyecto es desarrollar un conjunto de pruebas unitarias para el SSSD. Estas pruebas aprovecharían objetos simulados para ejecutar código que, de otro modo, solo sería accesible cuando el SSSD estuviera conectado a la red. La incorporación de estas pruebas al SSSD mejoraría considerablemente su estabilidad a largo plazo y aumentaría la confianza al implementar nuevas versiones del SSSD en Fedora u otras distribuciones.

Requisitos de conocimiento previo: Conocimiento de scripts en Python, conocimientos de servicios del sistema Linux, conocimientos básicos de LDAP son útiles pero no necesarios.

Nivel de habilidad: intermedio a alto

Contactos: Jakub Hrozek

Mentor(es): Jakub Hrozek

Notas:

Lista de ideas abiertas de GSoC 2013

Aplicaciones para escritorio final del usuarios

Estos son proyectos de codificación que benefician a los usuarios finales del escritorio Linux.

Integrar configuraciones de proxy y conexiones de red (lugares)

Estado: Propuesto

Resumen de la idea: El sistema debe utilizar un perfil de red apropiado (p.e., configuración de proxy) para cada conexión de red.

GNOME 2 incluía un concepto de ubicaciones de red en su ventana de configuración de proxy de red. Sin embargo, el usuario debe seleccionar la ubicación adecuada al cambiar de red. Esta idea busca integrar NetworkManager con los entornos de escritorio para que el usuario pueda crear perfiles de red para cada ubicación (conexión) de red, proporcionando la configuración adecuada, como la configuración de proxy, que es la principal propuesta. NetworkManager puede tener un concepto de "Ubicación de red": para redes inalámbricas, el nombre de la red (ESSID) suele ser suficiente. Para conexiones por cable, los servidores DHCP pueden proporcionar, y suelen hacerlo, el nombre de dominio de la red, que puede usarse como nombre de la ubicación. Es conveniente que el usuario pueda asociar cada ubicación de red con un perfil de configuración de red que se usará automáticamente al conectarse a esa red. De esta manera, al conectarse a una red, se activa automáticamente el perfil de configuración de red correspondiente.

Requisitos de conocimiento:

Nivel de habilidad:

ContactOs: Hedayat Vatankhah

Mentor(es):

Notas: Hay una entrada con alguna descripción en NetworkManager por hacer lo cual sería considerado para la implementación

Ensamble una cadena de herramientas para grabar capturas de pantalla fácilmente

Estado: Propuesto - Borrador - Se necesita un mentor

Resumen de la idea: Crear capturas de pantalla en Fedora y posprocesarlas para cargarlas debería ser algo sencillo y a prueba de errores.

El proyecto Videos de Fedora se ha lanzado para reunir una colección de grabaciones de pantalla que ayuden a la gente a aprender a usar Fedora. Sin embargo, solo hay un obstáculo importante: capturar grabaciones de pantalla realmente buenas en Fedora, posprocesarlas para incluir una introducción, un cierre y otros efectos, y finalmente exportarlas a un formato abierto es todo un reto. Hay muchas herramientas diferentes, pero cada una solo te ayuda en parte y tienes que ser el pegamento para que todo funcione. Y luego están los errores.

El logro de este proyecto es crear una cadena de herramientas (una colección recomendada de software disponible en los repositorios de Fedora) y escribir un tutorial completo sobre cómo crear una grabación de pantalla profesional. Esto podría incluir la búsqueda y corrección de errores en las herramientas existentes, el descubrimiento y desarrollo de nuevas herramientas, y el aprendizaje de técnicas en el entorno informático, como la selección y configuración de un micrófono o la redacción de un buen guion hablado. Una posible tarea del proyecto es añadir compatibilidad con la grabación de sonido a la grabadora de escritorio de GNOME 3. Actualmente, la grabadora de escritorio solo graba el vídeo de la pantalla.

El estudiante obtendrá apoyo y asesoramiento del equipo de Fedora Videos, ya que está tratando de aprender cómo crear estas capturas de pantalla.

Pre-requisito de conocimiento: gstreamer, edición de video y sonido, blender

Nivel de habilidad: Medio

Mentor(es): -

Notas:

Mejorar la Experiencia del Usuario de Tabletas de Fedora

Estado: Propuesto - Borrador

Sumario de ideas: Mejorar la Experiencia de la Tableta de Fedora.

Los administradores de ventanas/entornos de escritorio oficialmente soportados por Fedora no coinciden con las expectativas de las personas con dispositivos táctiles de bajo consumo.

Fedora presenta una nueva tecnología para reducir la carga del sistema y - requisitos - la interfaz de usuario no ha recibido demasiado cariño.

Las interfaces actualmente disponibles para los usuarios son:

  • Mayor Consumo de Recursos

  • Muy Sobrecargados o

  • Demasiado Pobre en Funciones

  • No Personalizable con un Esfuerzo Razonable

The E17 Desktop Shell, developed as part of the Enlightenment Project, is a perfect match. It provides a rich interface, whilst consuming very little ressources. The Enlightenment Foundation Libraries, on which E17 is built upon, were chosen as Foundation Block of Tizen, the MeeGo successor backed by Samsung and Intel. If things work out, E17 will be the first "real" Desktop Shell for Wayland.

Though it already provides special behaviour for touchscreen devices through certain modules, there’s still room for improvement.

The overall goal of this project would be to improve the user experience of people who want to use Fedora on low power devices such as tablets.

El estudiante obtendrá mantenimiento y consejo desde los desarrolladores del Proyecto Enlightenment.

Requisito de conocimiento: C, X11, Wayland, Bibliotecas de Fundación Enlightenment

Nivel de destreza: Medio a Alto

Contactos: Michael Bouchaud (yoz [at] efl [dot] so), Leif Middelschulte (leif [dot] middelschulte [at] student [dot] kit [dot] edu)

Mentor(es): Michael Bouchaud (yoz [en] efl [punto] así que)

Notas: Si esta idea logra realizarse, puede ser creado un giro de pastilla apropiado, eso honra el espirito de Fedora.

Aplicaciones para programadoras

Implementar un traductor de vínculos para GlusterFS

Estado: Propuesto - Borrador

Resumen de la idea: Al transportar datos a través de redes, los programadores necesitan enlaces de lenguaje de GlusterFS para crear aplicaciones en su lenguaje preferido. Un traductor de enlaces de lenguaje aumentaría considerablemente el número de programadores que podrían extender GlusterFS con mayor facilidad. También es un proyecto interesante para quienes deseen adquirir experiencia con la arquitectura y el diseño multihilo en el contexto de sistemas y datos distribuidos.

Pre-requisito de conocimiento: C, Python, Python embebido,

Nivel de destreza: Medio a Alto

Contactos: johnmark [EN]redhat [PUNTO] com , abperiasamy [EN] gmail [PUNTO] com

Mentor(es): Anand Avati - Mentor, AB Periasamy - Co-mentor, John Mark Walker - Co-mentor

Notas: -

Implementar un conector o traductor Cassandra/NoSQL para GlusterFS

Estado: Propuesto - Borrador

Resumen de la idea: En general, se necesita la capacidad de almacenar y acceder a datos NoSQL en sistemas de archivos distribuidos de propósito general. Actualmente, existen numerosos métodos de propósito único para almacenar y recuperar datos NoSQL, a los que es difícil acceder desde aplicaciones heredadas. La creación de un traductor NoSQL para GlusterFS ayudaría a mitigar este problema y ofrecería a los desarrolladores más opciones para almacenar y acceder a «big data» de forma accesible mediante diversas herramientas y protocolos estándar.

Requisitos de conocimiento previo: C, aspectos internos de GlusterFS

Nivel de habilidad: Alto

Contactos: johnmark [EN]redhat [PUNTO] com , abperiasamy [EN] gmail [PUNTO] com

Mentor(es): Anand Avati - Mentor, AB Periasamy - Co-mentor, John Mark Walker - Co-mentor

Notas: -

Estado: Propuesto: Idea de los estudiantes - Se necesita un mentor

Resumen de la idea: Hoy en día, muchos desarrolladores trabajan con diferentes sistemas de gestión de bases de datos (SGBD). Propongo desarrollar una interfaz de línea de comandos común para las bases de datos más populares. Por ejemplo: MySQL, Oracle Database y PostgreSQL.

Conocimientos previos necesarios: Java, JDBC, MySQL, Oracle Database, PostgreSQL.

Nivel de habilidad: Medio

Contactos: Alexandr Egorov 0x0j023 [ARROBA] gmail [PUNTO] com

Mentor(es):

Notas:

Proyecto del kernel Linux

Implementar caché de escritura diferida nfs/fscache (Abandonado)

Estado: Abandonada. Esta es una idea de GSoC 2012 y Hongyi Jia la está desarrollando, aunque no obtuvo la plaza en GSoC (http://www.jiayi.net/works/nfsfscache-writeback-cache/). Por lo tanto, no voy a ser mentor de la idea este año. Si alguien está realmente interesado, no dude en contactarme; con gusto responderé sus preguntas:-)

Resumen de la idea: Actualmente, flashcache/bcache solo funciona en sistemas de archivos locales. En sistemas de archivos de red, NFS solo admite caché de escritura directa basada en fscache/cachefiles. Con la adopción generalizada de SSD en el lado del cliente NFS, sería ideal que NFS admitiera caché de escritura diferida para acelerar la escritura intensiva de los clientes. Este proyecto implementaría un mecanismo de escritura diferida para NFS, que requiere realizar los cambios necesarios en los módulos NFS, fscache y cachefiles del kernel, y gestionar la semántica de cierre a apertura de NFS.

Requisitos de conocimiento: C, kernel de Linux, nfs

Nivel de habilidad: Alto

Contactos: bergwolf [ARROBA] gmail [PUNTO] com

Mentor(es): Peng Tao - Mentor

Infraestructura para contribuyentes y usuarios de Fedora

Dorrie: un interfaz-web para construir spins/remixes de Fedora

Estado: Propuesto

Resumen de idea: Contribuye a Dorrie, y hacerlo más usable, añade cobertura de prueba y desplegabilidad. Detalles en Dorrie.

Knowledge prerequisite: Python, Django

Skill level: Intermidiate

Contacts: Shreyank Gupta

Notes: Features that I am looking to target:

* User management/FAS integration + * Un-linerize the workflow. + * Default wallpaper/Hostname/user-password/root-password + * Custom repos/RPMs + * Home directory content + * Search Packages + * Image type: ISO, virt image, raw disk

Code at https://github.com/shreyankg/Dorrie, fork and send pull request, if you are interested to contribute.

Fedpkg: Chain-builds for non-Rawhide branches

Financial IS for Fedora project (cont.)

  • Status: Proposed

  • Summary of idea: There is a need of an information system where it can be used with in the project to track and analyse the financial activities. It may be a customization of a open source solution or a solution from scratch.

  • Skill Level: Medium

  • Mentor : Charindu Thiwanka - Technical

  • Co-Mentor(s): Buddhike Kurera - Functional

  • Notes: knowledge in PHP is required. MVC design pattern

Servicios del sistema Linux

Implementa una batería de pruebas unitarias para SSSD

  • Status: Proposed

  • Summary of idea: The purpose of this project is to develop a suite of unit tests for the SSSD. The unit tests would leverage mock objects to be able to exercise code that is otherwise only ever reachable when the SSSD is connected to the network. Contributing the set of unit tests to the SSSD would greatly improve its stability long-term and would help raise confidence when pushing new SSSD versions into Fedora or other distributions.

  • Knowledge prerequisite: C programming

  • Skill level: intermediate to high

  • Contacts: Jakub Hrozek

  • Mentor(s): Jakub Hrozek

Mejora del empaquetado de Fedora

AUR Clone for Fedora

Estado: Propuesto: Idea de los estudiantes - Se necesita un mentor

Summary of idea: The idea is to make an AUR clone for Fedora where users can submit buildfiles, which need to be hosted. These set of files can compile packages on the user side, and installed locally.

The benefit of this method is:

  1. No need to host the entire packages (saving space on servers hosting the RPMs)

  2. Make changes to the buildfile, and not compile the package

  3. Can pull sources from any version control system/stored tarballs to make a very upto-date package. (See blog entry for an example)

Contacts: Anuj More

Notes: Need mentor. Need advice on feasibility of the software and issues that can arise. Also, read the extensive blog post on my blog.

Analogy: This is a lot like "having your own library" vs "getting a book from a bookstore". If you refer a book often, you’d keep it in your library. This would occupy space and consume resources. Otherwise, you’d just pull out a separate paper with instructions about the bookstore to find the book, and fetch the book from the store. Though the first method is hassle-free, it is not possible to have all the books in the world with you.

Maven FOSS Repository Extension

Estado: Propuesto

Summary of idea: With the inception of Maven we have a means to standardize the building of Java projects. However it has also resulted in the usage of a very wide dependency set by these Java projects. This makes it very hard to integrate those projects on a single platform (be it Fedora or JBoss Application Server (or the combination)).

In essence during packaging all these dependencies must be lined up to form a single consistent component set. Thus each project will only have those components available which are actually available on the target platform. This is very hard to enforce using standard Maven setup.

For Fedora I’m envisioning a Maven extension that makes sure only sanctioned components are used during the build (without putting a burden on the packager). This will allow developers who are not on Fedora to also build with this extension and thus verify (and fix) issues which are the result of "Fedora packaging".

A prototype can be viewed at Maven FOSS Repository Extension.

Knowledge prerequisite: Knowledge of Maven

Nivel de habilidad: Medio

Notes: You can find us at irc.freenode.net #fedora-java: wolfc and mizdebsk

Fedora Spins y remixes

Educational Application for Fedora Robotics Suite

Estado: Propuesto

Summary of Idea: Create an educational app introducing software from Fedora Robotics Suite

El Fedora Robotics SIG crea un Robotics Suite que incluye numerosos paquetes útiles en robótica. Queremos desarrollar una aplicación de demostración que presente a los nuevos usuarios, paso a paso, paquetes básicos como Fawkes y Player/Stage. Presentaría múltiples niveles similares a los de un juego, de complejidad creciente. La tarea general sería indicar al robot que realice una tarea específica en un entorno de simulación.

Requisitos de conocimiento: Para desarrollar esto se requieren sólidos conocimientos de C++. Se valora la experiencia en robótica, aunque no es imprescindible. Debes familiarizarte rápidamente con el nuevo software. Las partes visibles para el usuario requerirán programación IGU con Gtkmm.

Nivel de destreza: Medio a Alto

Contactos: Tim Niemueller

Mentor(s): Tim Niemueller

Aplicación para administradores de los sistemas

Improving the RHQ-PyAgent to interface with OpenLMI

Estado: Propuesto

Summary of idea: Improve the current RHQ-PyAgent written in Python that interfaces RHQ with OpenLMI to pick up metrics that are provided by OpenLMI from Fedora or RHEL systems. The agent is talking to the RHQ server via the REST api and push metrics to RHQ etc. This agent does/will not implement the full functionality of the RHQ java agent. The previous work is already pretty good, but it is cumbersome to add new OpenLMI-enabled servers and the types of the data model. The work of this year should concentrate on automating that process - perhaps after providing a range of IP addresses to query for servers. Similar for resource types, the agent would talk to the server to see what types are available and then check with the OpenLMI provider if this supports the same.

While RHQ is written in Java, this project does not require any Java knowledge.

Knowledge prerequisite: Python, Linux system administration, principles of REST

Nivel de destreza: Medio a Alto

Contacts: Heiko Rupp

Mentor(es): Heiko Rupp

Notes: RHQ wiki is at http://jboss.org/rhq, Previous years work: http://rhqagent.blogspot.com

Aplicaciones para Probadores