Jump to content

GSoC/2025/Ideas

From KDE Community Wiki
Revision as of 11:48, 4 February 2025 by Aakarshmj (talk | contribs) (added a mentor)
Konqi is giving a lesson!

See also: GSoC Instructions, Last year ideas

Guidelines

Information for Students

These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you are urged to contact the developers and find out more about the particular suggestion you're looking at.

Becoming accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Simply copying and pasting an idea here will not work. Neither generating a proposal with ChatGPT or equivalent! On the other hand, creating a completely new idea without first consulting potential mentors rarely works.

When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!

If there is no specific contact given you can ask questions on the general KDE development list [email protected]. See the KDE mailing lists page for information on available mailing lists and how to subscribe.

Note

These are all proposals! We are open to new ideas you might have!! Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE.


Adding a Proposal

When adding an idea to this section, please include the following data:

  • if the application is not widely known, a description of what it does and where its code lives
  • a brief explanation (2-5 sentences)
  • the expected size of the project (small-90 hours, medium-175 hours or large-350 hours)
  • the expected results
  • pre-requisites for working on your project (skills required/preferred)
  • if applicable, links to more information or discussions
  • mailing list or IRC channel for your application/library/module
  • your name and email address for contact (if you're willing to be a mentor)
  • if possible, an easy, medium or hard rating of the project

If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.

Note

Follow this template!


Project: Something that you're totally excited about

Brief explanation: Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.

Expected results: Something you and KDE loves

Knowledge Prerequisite: Probably C++ and Qt but depends on your project

Duration: Mention one of ~90, ~175 or ~350 hours of effort necessary to finish the project. Use only one of these three project classes and don't come up with other numbers here.

Difficulty: Easy, medium or difficult project

Mentor: Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc:kde.org on matrix.


Ideas

Note

Only projects as part of KDE can be mentored.


Merkuro

Project: Port account management to QML

Brief explanation: Currently Merkuro makes use of QtWidgets dialog for managing the type of resources (accounts), the goal is to port all (or at least a some) of the dialogs to QML

Expected results: Making Merkuro a step closer to be fully usable on mobile

Knowledge Prerequisite: QML and C++

Duration: ~350 hours, but we can discuss to reduce the scopes

Difficulty: Difficult

Mentors: Carl Schwan and Aakarsh MJ. Please contact us on #merkuro:kde.org (Matrix) and not via DM

KArchive

Project: Rewrite Zip backend to use libzip

Brief explanation: Currently karchive uses home grown code to handle zip files. The code is not very good since it gets confused when it finds token markers in what it is actual compressed data. See https://bugs.kde.org/show_bug.cgi?id=450597

Expected results: KArchive uses libzip for handling zip files (and there's no regressions)

Knowledge Prerequisite: C++

Duration: ~350 hours

Difficulty: Difficult

Mentor: Albert Astals Cid <[email protected]>


Internationalization

Project: Move translation files to git

Brief explanation: Translation files currently live in SVN, they are one of the last things in SVN, and the sysadmin team would welcome if we stop using it so they can shut down the server (also some folks have trouble using SVN since it's now starting to become old). The plan is to move files to GIT but we need to make sure the history is preserved and the associated scripts are adapted. See more at https://invent.kde.org/teams/localization/issues/-/issues/1

Expected results: Most/All of what is described above is done.

Knowledge Prerequisite: git/bash/python

Duration: ~350 hours

Difficulty: Medium

Mentor: Albert Astals Cid/Luigi Toscano, talk to us at https://matrix.to/#/#kde-i18n:kde.org


KDE Linux

Kirigami ISO Image Writer

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/132

Expected results: ISO Image Writer GUI rewrite using Kirigami.

Knowledge Prerequisite: QML and C++

Duration: ~350 hours

Difficulty: Difficult

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Backup Prototype

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/131

Expected results: A prototype for a local backup solution that is robust

Knowledge Prerequisite: QML and C++

Duration: ~350 hours

Difficulty: Difficult

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

CVE/Security Tracker

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/134

Expected results: A system that can track security advisories. Ideally a web based solution.

Knowledge Prerequisite: Any programming language

Duration: ~350 hours

Difficulty: Difficult

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Recovery Infrastructure

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/135

Expected results: A prototype of a system/application to help users and OEMs recover a broken system, or at least its data.

Knowledge Prerequisite: QML and C++, possibly others

Duration: ~350 hours

Difficulty: Difficult

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Replication Infrastructure

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/136

Expected results: A prototype of a system/application to help users replicate (or move) from one system to another.

Knowledge Prerequisite: QML and C++

Duration: ~350 hours

Difficulty: Difficult

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Karton

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/133

Expected results: A polished Kirigami-based virtual machine application that can replace virt-manager and virtualbox for most users.

Knowledge Prerequisite: QML and C++

Duration: ~350 hours

Difficulty: Difficult

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Automatic Testing

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/79

Expected results: Fully automated tests to detect regressions in KDE Linux

Knowledge Prerequisite: Bash, Python, Perl

Duration: ~350 hours

Difficulty: Medium

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Website

Brief explanation: https://invent.kde.org/kde-linux/kde-linux/-/issues/92

Expected results: A swanky website for KDE Linux using Hugo

Knowledge Prerequisite: Web development, ideally using Hugo

Duration: ~90 hours

Difficulty: Easy

Mentor: Harald Sitter et al. https://matrix.to/#/#kde-linux:kde.org

Misc

Project: Add more fuzzed libraries to oss-fuzz

Brief explanation: oss-fuzz is a SAS for fuzzying code. We have a few libraries there (karchive, kimagefomats, kcodecs), but we should add more since we have quite some code that processes file formats.

Expected results: As many projects/libraries as possible have been added to oss-fuzz

Knowledge Prerequisite: docker/compiling

Duration: ~350 hours

Difficulty: Medium

Mentor: Albert Astals Cid <[email protected]>