From Fedora Project Wiki

(Move the note about mentors above the list of ideas from the previous year and put some emphasis to it.)
Line 155: Line 155:
This idea list comes from the [http://www.projectatomic.io/community/gsoc Project Atomic] website. The most up-to-date version is there.
This idea list comes from the [http://www.projectatomic.io/community/gsoc Project Atomic] website. The most up-to-date version is there.


* [https://github.com/projectatomic/rpm-ostree/issues/190 Bootstrap with gpgcheck in kickstart]:   Add a way for importing a GPG key from the kickstart `ostreesetup`  command before the download starts. [https://docs.fedoraproject.org/en-US/Fedora/23/html/Installation_Guide/appe-kickstart-syntax-reference.html "ostreesetup" is described here]
=== Add a way for importing a GPG key from the kickstart `ostreesetup`  command before the download starts. ===
 
* [https://github.com/projectatomic/rpm-ostree/issues/190 Bootstrap with gpgcheck in kickstart]:   [https://docs.fedoraproject.org/en-US/Fedora/23/html/Installation_Guide/appe-kickstart-syntax-reference.html "ostreesetup" is described here]


* [https://github.com/projectatomic/rpm-ostree/issues/210 Improve ability to monitor running/canceled transactions]:  The rpm-ostree client termination doesn't block the command execution  on the rpm-ostreed.  This will cause new  rpm-ostree clients to fail  immediately because there is a transaction in progress.  Change  rpm-ostree to be notified of the status of the current transaction and  possibly attach to it.
* [https://github.com/projectatomic/rpm-ostree/issues/210 Improve ability to monitor running/canceled transactions]:  The rpm-ostree client termination doesn't block the command execution  on the rpm-ostreed.  This will cause new  rpm-ostree clients to fail  immediately because there is a transaction in progress.  Change  rpm-ostree to be notified of the status of the current transaction and  possibly attach to it.
Line 170: Line 172:


* [https://github.com/projectatomic/rpm-ostree/issues/118 Support kpatch]:  Support live update for the kernel without rebooting or restarting any  processes.
* [https://github.com/projectatomic/rpm-ostree/issues/118 Support kpatch]:  Support live update for the kernel without rebooting or restarting any  processes.


== Open Ideas From GSoC 2015 ==
== Open Ideas From GSoC 2015 ==

Revision as of 17:44, 19 February 2016

Open For Ideas! - This page contains some ideas from last year. This does not mean that they are valid for this year too. We are in the process of cleaning up the page.

Find an idea you like? Want to propose your own? See the GSoC Getting Started Guide.


Students Welcome

If you are a student looking forward to participate the GSoC 2016 with Fedora, please feel free to browse the idea list which is still growing. Do not hesitate to contact the mentors or contributors as indicated in this page for any related clarification. You also should find some like-minded people on the #fedora-summer-coding IRC channel.

If you are new to the Fedora Project, the following material will help you to get started. Additionally, please register in the Fedora Account System (FAS) if you are willing to continue with the Fedora Project. For getting quick help, #fedora-devel can be used for getting help with programming problems.

  1. The Four Foundations of Fedora
  2. Official GSoC Resources
  3. Fedora Documentation
  4. IRC
  5. Development


Supporting Mentors

The following contributors are available to provide general help and support for the GSoC 2016 program (existing contributors, feel free to add yourselves and your wiki page). If a specific project mentor is busy, you can contact one of the people below for short-term help on your project or task.

  1. Remy DeCausemaker
  2. Kushal Das
  3. Haïkel Guémar
  4. Josh Berkus
  5. Luke Macken

Fedora Atomic Mentors

The following mentors are specifically available for projects related to Fedora Atomic:

  1. Giuseppe Scriviano
  2. Colin Walters
  3. Matthew Barnes


Idea list for GSoC 2016

Implement Tinykdump

Status: Proposed - draft

Summary of idea: Tinykdump is a minimal daemon to capture kernel-based crash dumping (kdump) memory image to usb storage. Compared to the traditional kdump solution, it is,

* more reliable and scalable
* has smaller memory foot-print
* more friendly to kernel developers 

More information here: https://fedorahosted.org/tinykdump/

Knowledge prerequisite: Python, kernel programming (desired)

Skill level: intermediate (programming)

Contacts: CAI Qian

Mentor(s): CAI Qian

Notes: Rough roadmap:

  • Implement tinykdump daemon to be included in Fedora.
  • Submit kernel patches for reserving kdump memory at run-time for community review and inclusion.
  • Currently, pstore only log kernel messages for panic and Oops. Patches are needed to support logging of kdump kernel and initramfs console output.

Idea list for Fedora Community Operations and Infrastructure

Project IRC Channel Web Page Mentor(s) Notes
Community Operations (CommOps) #fedora-commops CommOps Wiki Remy DeCausemaker (decause) The rise of DevOps has been swift. Sysadmins are increasingly instrumenting and integrating automated systems to stand up and maintain their infrastructure. This same approach can be taken to support community infrastructure in a distributed and automated fashion, that doesn't force people to choose between using their precious volunteer time to "build things" or "build communities that build things." The community operations team works across numerous technologies, and interest areas in Fedora, including Messaging, Storytelling, Fedora Badges, Fedora Hubs, Wiki, Culture, Metrics, Voting, and other miscellaneous topics. It is important to note that CommOps team members are generalists, and the strengths and interests of individual applicants will determine the precise nature of your work. Enthusiasm for FOSS culture and community organization, and effective communication skills are most important. Your internship with this project could involve any or all of the following:
  • Web testing and bug reporting / triaging
  • Content development and syndication
  • Writing for the web and print
  • Collaboration with Fedora Council and Leadership on Project Objectives and Initiatives
  • Volunteer Coordination and Organizing
  • Campaign development and implementation
  • Advocacy and Messaging

Required:

  • Effective Communication Skills; written and verbal, synchronous and asynchronous.
  • Passion for Free/Open Source Software and Free Culture
  • Self-directed and Curious nature
  • Experience writing for the web (Content only is ok, HTML/CSS even better)
  • Experience publishing and/or syndicating content via Social Media
  • Experience working in teams, or community organizing
  • Basic Web development/design skills

Bonus Skills:

  • Basic multimedia development skills
  • Sysadmin/Devops skills
  • programming/scripting skills
Fedora Infrastructure Web Application Development: Fedora Hubs #fedora-hubs

Fedora has been in the process of creating a new web presence for all of the Fedora users, subprojects, and communities. We also plan to integrate some of the features of this system with the prototype of the Fedora Developer Portal, which is targeted at helping general developers use Fedora. While the Hubs project itself is aimed at Fedora contributor circles, the reusable features will allow the Portal to use this work to speak to general developers who may not have an interest in working in the Fedora community, but want to connect with community members for advice, best practices, or to generate interest in their upstream project.

Several of the principal app developers in the Fedora Engineering team will be working together with you on this project during the Outreachy term. You'll participate directly with team members daily on core features of Hubs as well as integration with the Portal. This is a great opportunity both for regular mentorship and for being deeply involved in an exciting and fast-moving project with the Fedora team.

Working on this project could involve any of the following:

  • Adding new features to the web frontend
  • Adding new capabilities to the backend
  • Writing and deploying new widgets
  • Triaging and processing new widget ideas submitted by the community at large.
  • Implementing existing (and thoroughly detailed) mockups from previous UI/UX interns and team members.

Skills:

  • HTML/Javascript/CSS
  • Basic Python a plus
  • Bonus: Experience with Bootstrap, jinja templates, Fedmsg, datanommer/grepper, or other fedora infrastructure projects a HUGE plus.

When applying to this project, it may be useful to review the designers' blogs about the projects' design here:

Fedora Developer Portal

Fedora Hubs

A video overview of the Hubs project is available here: http://blog.linuxgrrl.com/2015/07/01/fedora-hubs-update/


Idea list for Fedora Atomic GSoC 2016

This idea list comes from the Project Atomic website. The most up-to-date version is there.

Add a way for importing a GPG key from the kickstart ostreesetup command before the download starts.

  • Improve ability to monitor running/canceled transactions: The rpm-ostree client termination doesn't block the command execution on the rpm-ostreed. This will cause new rpm-ostree clients to fail immediately because there is a transaction in progress. Change rpm-ostree to be notified of the status of the current transaction and possibly attach to it.
  • Automatic updates: Implement a service that automatically upgrades the system when a new image is available. If the system is not restarting correctly, then rolblack to the previous working version. More details here:
  • Support metalink for OSTree: Add support for metalink files and support downloads from a list of mirrors and fetch objects from multiple sources.
  • Drop privileges for HTTP fetches: The HTTP fetcher code is running in the same process of OSTree. Move the HTTP fetcher code to another process with less privileges than the main process.
  • Support kpatch: Support live update for the kernel without rebooting or restarting any processes.

Open Ideas From GSoC 2015

In addition to the above list of ideas, you may want to check out ideas from previous years and contact the mentors for those projects to see if they're still interested in mentoring someone this year.

Note: Do not submit a proposal for an idea from a previous year without contacting the mentor to ensure they will be available to mentor you. Without a mentor, proposals will be rejected.


Previous years: