Fedora is applying to be a GSoC mentoring organization.

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).

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

  • Justin Flory (Fedora CI,GCI,GSoC,general linux,Fedora community, misc.)

Idea list

Ideas are subject to change as additional mentors are onboarded.

Genric Intro

NetworkManager is the standard Linux network configuration tool suite. It supports a large range of networking setups, from desktop to servers and mobile and integrates well with popular desktop environments and server configuration management tools.

Nmstate is a library with an accompanying command line tool that manages host networking settings in a declarative manner. The networking state is described by a pre-defined schema. Reporting of current state and changes to it (desired state) both conform to the schema.

Linux System Roles is a project related to Ansible, a tool for automating configuration management, application deployment and software provisioning. The goal of linux system roles is to provide a consistent user interface, abstracting from any particular implementation of the linux subsystems, but trying to get the most out of the particular libraries on each one of them. The Network Linux System Role currently provides a unique configuration interface for network-scripts and NetworkManager.

The topic for this internship is enhancing this ecosystem with AI capabilities to improve the user experience for these projects. Possible areas are:

Use natural language to create network configuration

  • Difficulty : Easy

  • Type : 1person full time 350hrs (12 weeks)

  • Technology : ML, AI, git, python, shell, linux, networking, md(for docs)

  • Mentor : Fernando F. Mancera (Current NetworkManager Developer and Maintainer), Wen Liang , Iñigo Huguet

  • Email : ffmancera@riseup.net, wenliang@redhat.com, ihuguet@redhat.com(as backup)

Description

While it is rather easy for users to describe in natural language what they would like to configure, it can be hard to find the right options or using the right syntax in configuration files. AI provides a way to use natural language. As part of the internship, the projects should be enhanced to provide user support TUI based on prompts such as “Configure network devices eth0 and eth1 in a linux bridge”.

Deliverables

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

  • Get in touch with the Upstream (Fedora and NM)

  • Basic ML/AL and LLM knowledge is preffered. Learn more

  • Building a custom LLM which will be trained with dataset of NM and NMstate

  • Build TUI for prompt and output

  • Write documentation

  • Python tests and CI automation


Make AI understand NetworkManager logs

  • Difficulty : Easy

  • Type : 1 person full time 350hrs (12 weeks)

  • Technology : ML, AI, git, python, shell, linux, networking, md(for docs)

  • Mentor : Fernando F. Mancera (Current NetworkManager Developer and Maintainer), Wen Liang , Iñigo Huguet

  • Email : ffmancera@riseup.net, wenliang@redhat.com, ihuguet@redhat.com(as backup)

Description

AI summarizer or abstract generation is widely deployed and utilized in various applications, which saves people’s time from reading lengthy or even garbled text.

Analyzing the NetworkManager log is hard for new developers or users, sometimes it is time-consuming to summarize the networking behavior from the NetworkManager log. With the assistance of an AI summarizer, we should expect the model to parse and understand the NM log, and give a summary of the networking behavior with a confidence score and the verbose level of the summary can also be easily controlled. With the assistance of this TUI tool, the developers and users can analyze the NetworkManager log more easily.

Deliverables

  • Get in touch with the Upstream (Fedora and NM)

  • Basic ML/AL and LLM knowledge is preffered. Learn more

  • Building a custom LLM which will be trained with dataset of NM and NMstate

  • Build TUI for score system and output

  • Write documentation

  • Python tests and CI automation