Google Summer of Code 2019 Mentors and Ideas

Fedora is still applying to be a GSoC mentoring organization. This page will be updated if we are accepted. We are currently collecting possible project ideas here.

If you are a student looking forward to participating in Google Summer of Code with Fedora, please feel free to browse this idea list. There may be additional ideas added during the application period.

Now please go read the What Can I do Today section of the main page. This has the answers to your questions and tells you how to apply

Do not hesitate to contact the mentors or contributors listed on this page for any questions or clarification. You can find helpful people on the IRC channel, or use the mailing list. 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 program If a specific project mentor is busy, you can contact one of the people below for short-term help on your project or task. add yourselves and your wiki page).

  • Brian (bex) Exelbierd (Fedora Community Action and Impact Coordinator, FCAIC, 🎂, containers, general development, general Linux)

  • Sumantro Mukherjee (General development, general Linux, Fedora community, GSoC alumnus, questions about program, misc. advice)

  • Alberto (Commops/Fedora-Join/Marketing teams)

Idea list

Ideas are subject to change as additional mentors are onboarded.

CentOS CI user front end

Description

The CentOS Project runs a public CI resource that is available to all infra and infra related open source projects to come and consume. The problem is that the signup process is very manual, both for the incoming user and the CICO admins. CentOS CI is powered by OKD (https://okd.io), and we would like to have a web application that handles the login, Admin approval, and OKD project creation (from a template) steps and also displays links to active CICO namespaces.

Read more :

Deliverables

As a GSoC intern, you will be responsible for the following :

  • Engage in community discussion and do community research

  • Build initial mockups and gather community feedback

  • Finalize design and start making them functional

  • Follow UX/UI standards to build the best possible experience users


Improving Fedora Android App

  • Difficulty : Intermediate

  • Technology : Android, HTML, CSS, Cordova, Angular, Javascript, Ionic

  • Mentor : Amitosh Swain Mahapatra [amitosh@fedoraproject.org]

Description

Fedora has an android app which lets a user browse the magazine, Fedora Ask, browse the calendar etc within it.

Goals :

  • Make the app available on other platforms

  • Implement new integrations based on community interest

Deliverables

As a GSoC intern, you will be responsible for the following :

  • iOS port of the app (publishing on app store is not a deliverable)

  • App backend for interfacing with 3rd party APIs to API limits

  • Integrate with FMN

  • Search and integrate with more Fedora services


Fedora Gooey Karma

  • Difficulty : Intermediate

  • Technology : Python, Rest API, Packaging

  • Mentor : Sumantro Mukherjee [Sumantro@redhat.com]

Description

The Fedora QA team is seeking help to fix tooling which enables testers and lot of contributors post karmas against updates. Fedora uses Bodhi to track the positiveness or negativeness of a package with respect to its functionality and overall system performance. The student will be working to refactor and rewrite the tool from scratch if required. Currently, the code is hosted at https://pagure.io/fedora-qa/fedora-gooey-karma

Deliverables

As a GSoC intern, you will be responsible for the following :

  • Look for Community Feedback and work on features

  • Application ported to Bodhi2 API and Python3

  • Revamp the UI built with QT

  • Package and ship


Change management tool

Description

Fedora’s Change process currently involves a lot of manual work to move proposals through the process. Information is copy/pasted into a variety of platforms, which is tedious and error-prone.

What are we looking for:

  • Work with Fedora Program Manager to fit scripts to Change process

  • Work with FESCo, FPL, and community members to determine what reports are useful

Resources :

Deliverables

As a GSoC intern, you would write a Python script or scripts that would:

  • Pull data from the Change source (a Taiga board or Pagure issue, TBD) and send email

  • Submit issues to other appropriate trackers (e.g. FESCo for approval)

  • Update Change source with current state of proposal

  • Produce static HTML reports


Podman Container SECCOMP generation tool

  • Difficulty : Intermediate

  • Technology : Golang, Containers, Podman, Linux

  • Mentor : Dan Walsh, Valentin Rothberg

Contact

  • Dan Walsh [IRC: dwalsh, mail: dwalsh@redhat.com, twitter: rhatdan, github: rhatdan],

  • Valentin Rothberg [IRC: vrothberg, mail: rothberg@redhat.com, twitter: vlntnrthbrg, github: vrothberg]

Description

Most containers currently have a hard-coded default seccomp profile, that is pretty loose and meant to support a wide range of use-cases. The idea of this project is to build a tool that would watch all of the syscalls made within a container, and generate a seccomp profile for this specific container to further harden security. We would want to add a command to the Pod Manager (Podman) tool to basically launch the container and then collect a set of syscalls either through strace, or auditing, or similar tracing technologies.

Deliverables

As a GSoC intern you will be responsible for :

  • Engage in community discussions

  • Research how syscalls for a given workload (i.e., container) can be automatically traced (e.g., via strace)

  • Implement a prototype based on Podman

  • Collaborate with the mentors and the community to integrate the functionality upstream


Release-bot

Description

Release-bot helps upstream maintainers deliver their software to users, via automated releases at GitHub and PyPI. Right now there are many ways how workflow of release-bot can be improved:

  • Make release-bot available as GitHub app

  • Listen to GitHub callbacks instead of polling GitHub API in endless loop

  • Improve end to end integration test suite

  • Make release-bot "smarter" in various ways (e.g communication with maintainer)

  • We are open to your new ideas

How to start

If you are interested to start working on this project, please see our issue tracker. Choose an issue to work on and open PR. Issues that are newcomers friendly are labeled with good first issue label. Good code contributions during application period highly increasing your chance to be selected.


Fedora Happiness Packets

  • Difficulty : Intermediate

  • Technology : Python and Django, HTML/CSS/JS, UI UX skills graphic design

  • Mentor : Jona Azizaj [jonatoni@fedoraproject.org]

  • IRC : jonatoni

Description

Fedora Happiness Packets is a web application to send positive feedback and thank-you notes to Fedora contributors. You can send a note with your name or anonymously. The Fedora community used it during the Fedora Appreciation Week in 2018, where contributors thanked each other and celebrated our accomplishments together. Fedora wants to extend Happiness Packets by giving a Fedora Badge to anyone who sends a Happiness Packet to another contributor. Repo : https://pagure.io/fedora-commops/fedora-happiness-packets/issues

Deliverables

As a GSoC intern, you will be responsible for the following :

  • Create Fedora Badge rule file to automatically award badge

  • Add support for video messages and emojis

  • Improve the current website and make it responsive

  • Improve documentation

  • Etc


Container image updates in bodhi are pushed immediately

  • Difficulty : Intermediate

  • Technology : Python, Linux containers, skopeo, podman, pyramid

  • Mentor : Tomas Tomecek [ttomecek@fedoraproject.org]

Description

We are using bodhi to release container images to registry.fedoraproject.org. Since images are just a delivery method of software, we would love to release to registry right away. With the current solution, it may take day(s) for an image to land in the registry. This project requires changes in bodhi. Upstream repository: https://github.com/fedora-infra/bodhi

How to start

Please follow bodhi’s developer documentation: https://bodhi.fedoraproject.org/docs/developer/index.html ==== Deliverables - Submit code to bodhi upstream which would enable to push images to registry right away. - Coordinate with Fedora engineering the deployment of the feature to production. '''