¿Encuentre una idea que le guste? ¿Quiere proporcionar la suya? Consulte el proceso de aplicación de estudiante.

Se da la Bienvenida a los Estudiantes

Si eres un estudiante que desea participar en GSOC 2017 con Fedora, no dudes en explorar esta lista de ideas la cual sigue creciendo.

Ahora, por favor, vaya a leer la sección ¿Qué puedo hacer hoy? de la página principal.

No dude en contactar con los mentores o colaboradores listados en esta página para cualquier pregunta o aclaración. Puede encontrar personas útiles en el canal IRC o usar la lista de correo. Puede ser usada para obtener ayuda con problemas de programación.

Si eres nuevo/a para el Proyecto Fedora, el siguiente material le ayudará para comenzar. Además seguiría el proceso de aplicación de estudiante

Mentores de Apoyo

Los colaboradores siguientes están disponibles para proporcionar ayuda general y mantenimiento para el programa GSoC 2017 (colaboradores existentes, siéntase libre de añadirse vosotros y vuestra página wiki) Si está ocupado un mentor de proyecto concreto, puede contactar con una de las personas de abajo para ayuda de plazo breve en vuestro proyecto o tarea.

  • Brian (bex) Exelbierd (Acción de la Comunidad Fedora y Coordinación de Impacto, ACFCI/FCAIC, 🎂, contenedores, desarrollo general, Linux general)

  • Justin W. Flory (Desarrollo general, Linux general, Comunidad Fedora, GSoC alumnus, cuestiones sobre programa, consejo misc.)

  • Radka (rhea) Janek (C#, material webserver o dotnet en Linux, ayuda y apoyo generales con el programa)

  • Corey Sheldon (Pitón, 2Factor/Multi-Factor Auth, QA Testaje, general mentoring, seguridad, 2.º mentor de año)

  • Sachin S. Kamath (Linux general, Comunidad Fedora, Métricas, Alumnos GSoC, Ayuda con programa)

  • Bhagyashree(Bee) (Comunidad de Fedora, Métricas, Python, mentor anterior de GSoC, Soporte relacionado con GSoC)

  • Lali Devamanthri (Desarrollo general, Middleware/Integración, Linux general, comunidad Fedora, exalumno de GSoC, exmentor de GSoC)

  • Devyani Kota (Comunidad de Fedora, exalumno de GSoC, Linux general, Python, preguntas relacionadas con GSoC)

Borrador de una idea

Añade tu idea usando la siguiente plantilla. La plantilla contiene comentarios en cursiva, ejemplos y preguntas que deben responderse. Copia la plantilla (tu idea) en el listado de ideas; no la modifiques aquí.

Nombre de Proyecto

Estado Propuesto - borrador Utilice este estado.

Nivel de habilidad

Principiante / Intermedio / Competente ¿Son las habilidades requeridas a continuación algo que un principiante no podría o podría aprender razonablemente rápidamente? ¿Hay algún área donde se esperen conocimientos previos, lo que convierte a este proyecto en un proyecto avanzado? Considere también cuánto conocimiento de Fedora se requiere.

Habilidades requeridas

_Lenguajes de programación u otras habilidades que el estudiante ya debería poseer. Tenga en cuenta que los estudiantes vienen tanto para practicar sus habilidades existentes como para desarrollarlas. Define el alcance de tus tareas para que alguien pueda aplicarlas y aprender durante el proyecto; por lo tanto, no debes enumerar todo lo necesario para completar la tarea.

Mentor(es)

Si tu SIG asume la responsabilidad, especifícalo como en este ejemplo (y siempre enlaza a personas o grupos) DotNet SIG - Radka (rhea) Janek, …​

Contactos (IRC y correo electrónico)

#example-irc-channel y exaple-list@lists.fedoraproject.org - Correo electrónico o lista de correo de los mentores de su SIG.

Descripción de la idea

Algo, algo.

Notas y referencias

Algo o nada.

Listado de ideas para GSoC 2017

389 Directory Server: desarrollo de herramientas administrativas

Estado Propuesta - borrador

Nivel de habilidad

Intermedio

Habilidades requeridas

Python: Se requiere comprender clases, herencia y módulos

Mentor(es)

William Brown (primer año UTC+10, por favor, ¡tenga paciencia!)

Contactos (IRC y correo electrónico)

#839 y 389-devel@lists.fedoraproject.org

Descripción de la idea

389 Directory Server es un servidor LDAP de clase empresarial, utilizado en empresas de todo el mundo para autenticar e identificar personas. Contamos con una amplia base de código que ha evolucionado durante casi 20 años.

Parte de esta evolución ha sido la reciente incorporación de un marco de administración de Python, diseñado para reemplazar nuestras herramientas Perl heredadas. El marco ya cuenta con las clases base diseñadas y escritas, pero necesitamos ayuda para integrar la funcionalidad administrativa de alto nivel.

Durante este proceso, necesitará:

  • Aprenda a implementar un 389 Directory Server.

  • Conozca algunas de las funciones de 389 DS (normativa de cuenta, gestión de complementos).

  • Lea e interprete algunos de nuestros guiones de Perl e intérpretes existentes.

  • Amplíe las herramientas dsconf de Python para admitir la habilitación, deshabilitación y configuración de módulos en Directory Server para reemplazar nuestras herramientas heredadas.

  • Revisar el código Python de otros miembros del equipo.

  • Participa en nuestra comunidad.

Aprenderás:

  • Cómo integrar y utilizar servidores y frameworks de Python existentes.

  • Técnicas para realizar pruebas unitarias de línea de comandos y herramientas de Python.

  • Cómo trabajar con un equipo distribuido geográficamente.

  • Principios de ingeniería esperados de un proyecto con altas exigencias de calidad.

  • Uso de git y rastreadores de tickets para un proyecto.

  • Cómo contribuir a las listas de correo y el proceso de revisión.

¿Qué buscamos?:

  • Para enseñarte a participar activamente en la comunidad y a desarrollar habilidades de ingeniería. El proyecto de programación nos permite enseñarte a interactuar eficazmente con un equipo, y a aprender principios de ingeniería.

¿Es este proyecto adecuado para ti?

Notas y referencias

port389.org

Aplicación web ASP.NET Core para el subreddit /r/Fedora

Estado Propuesta - borrador

Nivel de habilidad

Principiante

Habilidades requeridas

C# básico

Mentor(es)

DotNet SIG - Radka (rhea) Janek

Contactos (IRC y correo electrónico)

Descripción de la idea

Objetivos:

  • Aplicación web ASP.NET Core para nuestro /r/Fedora subreddit que permite al usuario elegir un estilo según su pertenencia al grupo FAS, escrita en C# e desplegada en un servidor de producción de Fedora como servicio systemd.

Aprenderás:

  • ¿Qué es .NET Core y cómo usarlo en Linux?

  • Cómo escribir código C# en Linux y qué IDE están disponibles para usted.

  • Crearás e implementarás una aplicación ASP.NET Core en nuestro servidor de producción Fedora como servicio systemd, con Apache seguro como interfaz principal.

Notas y referencias

.NET en Fedora, ipsilon ; Debido al gran interés, te recomendamos que te postules para otro proyecto.

Biblioteca contenedora de .NET Core para systemd

Estado Propuesta - borrador

Nivel de habilidad

Intermedio

Habilidades requeridas

C# y Linux básico

Mentor(es)

DotNet SIG - Radka (rhea) Janek

Contactos (IRC y correo electrónico)

Descripción de la idea

Logros:

  • Biblioteca .NET Standard que envuelve systemd, escrita en C# y publicada en NuGet.

  • Al utilizar systemd, podemos controlar varios aspectos del sistema subyacente directamente desde C# (por ejemplo, detener o iniciar servicios, programar reinicios).

Aprenderás:

  • ¿Qué es .NET Core y cómo usarlo en Linux?

  • Cómo escribir código C# en Linux y qué IDE están disponibles para usted.

  • Cómo crear y mantener paquetes NuGet.

  • Cómo usar systemd y dbus para controlar su sistema Linux.

Notas y referencias

.NET en Fedora ; Debido al gran interés, te recomendamos que te postules para otro proyecto.

Base de datos de análisis estático continuo

Estado Propuesto - borrador

Nivel de habilidad

Intermedio

Habilidades requeridas

  • Python

  • Sistemas distribuidos

Mentor(es)

Athos Ribiero (athoscr)

Contactos (IRC y correo electrónico)

IRC: athos Correo-e: athoscribeiro@gmail.com

Descripción de la idea

Este proyecto propone el diseño e implementación de un sistema para ejecutar continuamente múltiples analizadores estáticos de seguridad en el código fuente y mostrar las alarmas relacionadas con una versión específica del software analizado. Las alarmas se clasificarán según su importancia, priorizando las fallas críticas y los posibles falsos positivos. Desarrollaremos una herramienta para realizar análisis estáticos continuos con diferentes analizadores estáticos y propondremos un método de clasificación de alertas utilizando sus resultados. También propondremos un enfoque de visualización para la información generada con nuestra herramienta.

Notas y referencias

SIG de análisis estático

Migración de Plinth a Fedora Server

Estado Propuesto - borrador

Nivel de habilidad

Principiante

Habilidades requeridas

  • Python y Django

  • Git

  • conocimiento dnf

  • El hardware basado en ARM es una ventaja

  • Se valorará el conocimiento de empaquetado RPM.

Mentor

Tong Hui (primer año, UTC+8, ¡por favor, sea paciente!)

Contactos (IRC y correo electrónico)

Descripción de la idea

Plinth es desarrollado por link:https://wiki.debian.org/FreedomBox/[Freedombox], un
proyecto basado en Debian. Freedombox busca construir un servidor web autoalojado,
100% libre, para implementar aplicaciones sociales en equipos pequeños. Proporciona
herramientas de comunicación en línea que respetan la privacidad del usuario y la propiedad
de los datos, reemplazando los servicios de terceros que están bajo vigilancia.

Plinth es la interfaz de Freedombox, escrita en Python.

Esta idea se centra principalmente en migrar Plinth de una versión DEB a una versión RPM y ponerlo a disposición de Fedora Server, que se ejecutará en máquinas ARM. Sería recomendable que los estudiantes estuvieran familiarizados con hardware ARM y conocieras cómo ejecutar Fedora Server en él, o usar algo como Qemu si no conocen el hardware.

El objetivo principal de esta idea es que Plinth funcione correctamente en Fedora Server o en la versión minimalista, ya que Plinth escribe comandos APT directamente en el código, por lo que es recomendable que sea más adaptable a RPM. El objetivo secundario es crear un paquete RPM para Plinth desde el código fuente y configurar un repositorio para que todos los usuarios de Fedora puedan usarlo.

Aprenderás:

  • cómo escribir proyectos modernos de Python basados en pruebas

  • Cómo ejecutar Fedora Server en una máquina ARM.

  • Cómo migrar un paquete DEB a un paquete RPM desde el código fuente.

Notas y referencias

Architecturas/ARM

Desarrollo de Patrones Frontend de Patternfly

Estado Propuesto - borrador

Nivel de habilidad

Intermedio

Habilidades requeridas

Javascript

Mentor(es)

Brian Leathem

Contactos (IRC y correo electrónico)

Descripción de la idea

Explorar las especificaciones emergentes de componentes web implementando patrones de patternfly.org como componentes web. Comenzar con implementaciones de componentes web más pequeñas y sencillas para aprender las API, luego continuar con un componente compuesto más complejo para usarlas al máximo y crear componentes web robustos y con abundantes funcionalidades. Involucrar a la comunidad de desarrolladores de PatternFly para aprender y contribuir al esfuerzo colectivo de componentes web. //// no sé si el enlace está funcionando ////

Notas y referencias

link:https://patternfly-webcomponents.github.io/

Fedora Media Writer - Características Nuevas

Estado Propuesta - borrador

Nivel de habilidad

Intermedio

Habilidades requeridas

C++/Qt y/o QML

Mentor

Martin Bříza

Contactos (IRC y correo electrónico)

mbriza en Freenode (p.e., en el #fedora-devel o en el #fedora-apps) o <mbriza@redhat.com>

Descripción de la idea

Fedora Media Writer es una herramienta que facilita la creación de imágenes de Fedora en dispositivos portátiles (como memorias USB). Desde Fedora 25, se ofrece como opción de descarga predeterminada para los usuarios que acceden a Obtener Fedora desde una computadora Mac o Windows.

Desde la reescritura de liveusb-creator, faltan algunas funciones y, debido a la gran demanda, no sería mala idea volver a agregarlas. No es necesario implementarlas todas. Con una sola bastaría. Sin embargo, por favor, contácteme primero para que podamos organizar los detalles de su posible aplicación.

Hay una breve lista de cosas que se podrían hacer (no obstante, no dude en contactarme para cualquier otra cosa o consultar la página de GitHub para obtener más información):

  • Almacenamiento persistente. Para explicar cómo funciona, comenzaré con el funcionamiento actual de los medios en vivo: tras iniciar el sistema en vivo, puedes hacer lo que quieras: instalar programas, guardar archivos en tu carpeta de inicio o incluso modificar el sistema de archivos raíz, siempre que tu memoria libre lo permita. Sin embargo, tras reiniciar, pierdes todos esos cambios, ya que las particiones del disco no se modifican. El almacenamiento persistente permite conservar esos cambios tras reiniciar, lo que te permite instalar nuevas aplicaciones en tu entorno en vivo o trabajar con archivos almacenados en la unidad flash.

  • Ser capaz de escribir las imágenes sin destruir los datos que ya estaban presentes en la unidad flash anteriormente.

  • Tener una imagen ARM de Fedora redimensionada para que se ajuste al tamaño de su tarjeta SD inmediatamente después de haberla escrito.

  • Escalada de privilegios adecuada a través de launchd para el proceso auxiliar en macOS.

El conocimiento de las bibliotecas y técnicas relevantes para este proyecto en Linux, Mac o Windows (o en todos) es una gran ventaja.

Aprenderás más sobre el desarrollo multiplataforma y participarás en el proyecto que es lo primero que ven los nuevos usuarios al probar Fedora.

Notas y referencias

link:https://github.com/MartinBriza/MediaWriter

Estilo Adwaita y HighContrast para QtQuickControls

Estado Propuesta - borrador

Nivel de habilidad

Principiante

Habilidades requeridas

QML y un poco de C++

Mentor

Usuario: Mbriza[Martin Bříza]

Contactos (IRC y correo electrónico)

mbriza en Freenode (p.e., en el #fedora-devel o en el #fedora-apps) o <mbriza@redhat.com>

Descripción de la idea un

Fedora Workstation incluye temas Qt personalizados que combinan con los temas Adwaita y Highcontrast de su entorno de escritorio GNOME predeterminado. Esto permite que las aplicaciones Qt se integren perfectamente en la experiencia general de Fedora Workstation.

Sin embargo, para ser totalmente compatible con la mayoría de las aplicaciones Qt, también necesitamos implementar temas QtQuickControls (QML).

El trabajo en este sentido constaría de tres partes principales:

* Cómo averiguar dónde y cómo instalar el tema (CMake) * Implementando la apariencia de todos los widgets necesarios (QML) * Este tema se selecciona por defecto cuando la aplicación se ejecuta en GNOME (probablemente C++, en el proyecto QGnomePlatform)

Este proyecto es ideal para quienes deseen aprender sobre QML.

Notas y referencias

link:https://github.com/MartinBriza/adwaita-qt

link:https://github.com/MartinBriza/highcontrast-qt

link:https://github.com/MartinBriza/QGnomePlatform

Fedora CommOps: Generación centralizada de métricas

Estado Propuesto - borrador

Nivel de habilidad

Intermedio

Habilidades requeridas

Requerido:

  • Python

  • Comprensión básica de las API

  • Flask

Habilidades adicionales:

  • Algoritmos de análisis de datos

  • Conocimiento de las aplicaciones de Fedora

Mentores

Sachin S. Kamath (skamath) Bhagyashree(Bee) (bee2502)

Contactos (IRC y correo electrónico)

Descripción de la idea

Actualmente, la recopilación de métricas en CommOps no es muy eficiente y
requiere mucho trabajo manual. Las métricas de diversos eventos/grupos/usuarios
de FAS se recopilan mediante scripts que consultan Datagrepper y devuelven
resultados. Este proceso consume mucho tiempo y escribir scripts cada vez resulta
muy tedioso. Además, consultar constantemente Datagrepper para obtener datos
es redundante y consume mucho tiempo.

Hackear statscache para crear un sistema central de generación de métricas para Fedora con funciones útiles para extraer estadísticas. Consulta el Pagure ticket para obtener más detalles.

Notas y referencias

Pagure ticket

Ideas abiertas de GSoC 2016

Además de la lista de ideas anterior, es posible que desees consultar ideas de años anteriores y comunicarte con los mentores de esos proyectos para ver si todavía están interesados en asesorar a alguien este año.

Nota: No envíes una propuesta para una idea de un año anterior sin contactar al mentor para asegurarte de que esté disponible para guiarte. Sin mentor, las propuestas serán rechazadas.