From Fedora Project Wiki
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 student application process.


Students Welcome

If you are a student looking forward to participate the GSoC 2017 with Fedora, please feel free to browse this idea list which is still growing. Do not hesitate to contact the mentors or contributors listed on this page for any questions or clarification. You can find 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. You should also follow the student application process #fedora-devel can be used for getting help with programming problems.

Supporting Mentors

The following contributors are available to provide general help and support for the GSoC 2017 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.

  • Brian (bex) Exelbierd (Fedora Community Action and Impact Coordinator, FCAIC, 🎂, containers, general development, general Linux)
  • Radka (rhea) Janek (C#, webserver or dotnet related stuff on linux, general support)
  • Justin W. Flory (General development, general Linux, Fedora community, GSoC alumnus, questions about program, misc. advice)
  • Corey Sheldon (Python, 2Factor/Multi-Factor Auth, QA Testing, general mentoring,2nd year as a mentor, security)

Draft of an idea

Please add your idea using the following template. The template contains examples and questions that should be answered.

Support for end-of-life notification

Project IRC Channel Web Page Mentor(s) Notes
Fedora Atomic #atomic ProjectAtomic.io Abdel G. Martínez L. (potty) Description

Required:

  • C programming experience
  • Fedora or other GNU/Linux Experience

Bonus Skills:

  • Advanced C programming experience
  • experience with RPM packaging

Libraries and Software:

  • rpm-ostree
  • atomic CLI

Difficulty Level:

  • Novice

Expected outcomes

  • rpm-ostree and atomic command output explaining when a version of an upgraded tree branch is end of life (EoL)
  • feature merged into future releases, and packaged for distribution
  • Learn how to work with upstreams and Linux distributions
  • Understand how EOL policies and lifecycles work
389 Directory Server #389 [1] William Brown (firstyear) Description

389 Directory Server is an enterprise class LDAP server, used in businesses globally to authenticate and identify people. We have a large code base that has gone through nearly 20 years of evolution.

Part of this evolution has been the recent addition of a python administration framework designed to replace our legacy perl tools. The framework already has the base classes designed and written, but we need help to knit together the high level administrative functionality.

Throughout this process you will need to:

  • Learn to deploy a 389 Directory Server.
  • Learn some of the functions of 389 DS (account policy, plugin management).
  • Read and interpret some of our existing perl and shell scripts.
  • Extend the python tools dsconf to support enabling / disabling / configuration of modules in Directory Server to replace our legacy tools.
  • Review other team members' python code.
  • Participate in our community.

From this you will learn:

  • How to integrate and use existing python frameworks and servers.
  • Techniques to unit test command line and python tools.
  • How to work with a geographically distributed team.
  • Engineering principles expected of a project with high quality demands.
  • Use of git and ticket trackers for a project.
  • How to contribute to mailing lists and the review process.

Required Skills:

  • Intermediate python (classes, inheritance, library usage, callbacks)
  • Basic Linux Administration (yum, sudo, syslog/journald, willingness to investigate)
  • Ability to interpret perl (but no need to write it!)

Overall Skill Level:

  • Intermediate.

What are we looking for:

  • To teach you good community engagement, and engineering skills. The coding project is a means to help us teach you to interact effectively with a team, and to learn engineering principles.

Is this project right for you?

  • Come and talk to wibrown on #389 in irc on freenode, or email our mailing list 389-devel@lists.fedoraproject.org

Project Name

Status Proposed - draft (use this)
Skill level Are the required skills below something a beginner would no or could reasonably learn quickly? Is there an area where knowledge is already expected making this an advanced project? Also consider how much knowledge about Fedora is required.
Skills required Programming languages or other skills that the student should already posess. Keep in mind that students come to both practice thieir existing skills and grow. Scope your tasks for someone to be able to apply and learn during the project, therefore you shouldn't list everything required to complete the task.
Mentor(s) DotNet SIG - Radka (rhea) Janek, ... //If your SIG is taking the responsibility, specify as in this example (and always link to people or groups)
Contacts (IRC & email) #example-irc-channel[?] & example-list //Mentors email or mailing list of your SIG.
Idea description ...
Notes & references ...

Idea list for GSoC 2017

Open Ideas From GSoC 2016

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: