All GSoC years

GSoC 2025 Projects

Contributors, completed projects, and mentoring details for GSoC 2025.

View on GSoC Archive

Completed Work

GSoC 2025 Projects

11 projects

Utilizing OSS-Fuzz-Gen to improve fuzz testing for OpenPrinting projects

Utilized OSS-Fuzz-Gen to improve fuzz testing for OpenPrinting projects, with pull requests merged into the OpenPrinting fuzzing repository for enhanced security coverage.

Zixuan LiuZixuan Liu
Mentors:Till KamppeterTillShivamDongge+1
View project

Modernize OpenPrinting Website with Next.js

Built the Foomatic Lookup Site with lazy loading, search functionality, and full static deployment on GitHub Pages. Currently mentoring new contributors joining the project for continued development.

Rudra Pratap SinghRudra Pratap Singh
Mentors:Till KamppeterTillZdenekAkarshan+1
View project

KDE Print Manager vs. CUPS 3.x

Ported KDE Print Manager to the CUPS 3.x API, updating the KDE framework and establishing an automated testing setup (autotests) with CI/CD pipeline integration. PR under review by KDE developers.

Tarun SrivastavaTarun Srivastava
Mentors:Till KamppeterTillMike
View project

Port pyCUPS to CUPS 3.x API + apply the new pyCUPS to system-config-printer

Ported pyCUPS to the CUPS 3.x API and implemented it in system-config-printer, creating safe Python bindings with method overloading via functools singledispatch and C structure representations.

Soumyadeep GhoshSoumyadeep Ghosh
Mentors:Till KamppeterTillZdenek
View project

Image output evaluation for testing of print/scan job processing

Built an image output verification framework for OpenPrinting with a dedicated filter chain testing pipeline, optimized OpenCV feature matching, vectorized Local Binary Pattern texture analysis, and a four-tier HOWTO system for progressive capability demonstration.

SanskarSanskar
Mentors:Till KamppeterTillShivamDongge+1
View project

Rust bindings for libcups2/3

Created safe and idiomatic Rust bindings for cpdb-libs (v2.3), implementing printer discovery, job submission, queue management, async callbacks, RAII cleanup via Drop traits, and comprehensive tests across Linux and macOS.

Titiksha BansalTitiksha Bansal
Mentors:Till KamppeterTillGaurav
View project

GTK Print Dialog: Modern dialog with built-in preview in main view

Built libpdfrip, a PDFio-based PDF renderer in straight C under Apache license. Successfully renders shapes, vector graphics, text, and fonts. Image rendering partially completed, with plans for multi-page support and PWG/CUPS/Apple raster output.

Yash Raj SinghYash Raj Singh
Mentors:Till KamppeterTillGaurav
View project

GNOME Control Center: List and handle IPP print services for the New Architecture

Finalized the new printing architecture for GNOME, creating a merge request for GCC 50 that adds support for driverless IPP printers and printer applications with intuitive grouping. Resolved duplicate printer entries by updating discovery from cupsGetDests() to cupsEnumDests().

Kaushik VeeraraghavanKaushik Veeraraghavan
Mentors:Till KamppeterTillShivamMohit
View project

Integrating OSS-Fuzz for Go-based and Python-based OpenPrinting projects

Integrated OSS-Fuzz for Go-based and Python-based OpenPrinting projects, the first time Python projects (pyppd, pycups) were integrated into OSS-Fuzz. Developed 14 comprehensive fuzz harnesses covering authentication, buffer handling, IPP I/O, and UTF-8 validation.

Mohammed ImaduddinMohammed Imaduddin
Mentors:Till KamppeterTillShivamDongge+1
View project

Rust bindings for libcups2/3

Developed cups-rs, a safe Rust wrapper for the CUPS printing system covering most of the C API, with printer discovery, job management, authentication callbacks, SSL/TLS certificate management, and RAII-based resource cleanup. Published as a crate (v0.3.0).

Mintu GogoiMintu Gogoi
Mentors:Till KamppeterTillGaurav
View project

Port CUPS and Printer Applications to Zephyr

Ported the CUPS/PAPPL printing stack to the Zephyr RTOS, getting libcups HTTP, IPP, and array APIs operational on Zephyr with external memory modules. Implemented mDNS service advertising using Zephyr's API.

Hubert GuanHubert Guan
Mentors:Till KamppeterTillIuliana
View project

In Their Words

Contributor Highlights

I would like to thank you all for providing the support and direction needed. OpenPrinting and KDE, mentors of both the organizations are really helpful in solving any kind of issue arising.

Tarun Srivastava

Callahan, without your continuous support, I could've never been able to complete this project. All those brainstorming sessions, all those Eureka moments, all those jokes on hilarious APIs during the weekly calls, I'll surely miss them.

Soumyadeep Ghosh

I have had a great time working with my mentors and Org Admins, as you have always helped me with my questions on different aspects of the project and encouraged me through all the highs and lows of this extended journey.

Hubert Guan

My mentor was very supportive and approachable throughout the program. They provided timely feedback on my code, explained design decisions clearly, and encouraged me to think through problems instead of just giving direct answers.

Titiksha Bansal

I am very glad and thankful to my mentors who kept a lot of patience with me and believed that I can do things. Their constant support and kindness were very special.

Yash Raj Singh

I am very grateful to my mentors for their guidance throughout the project. Till Kamppeter provided deep domain knowledge in printing protocols and OpenPrinting architecture.

Mohammed Imaduddin

My mentors have been incredibly supportive throughout GSoC. They provided clear guidance when needed, encouraged independent problem-solving, and always ensured that discussions stayed constructive and technically insightful.

Rudra Pratap Singh

From the Blog

News & Updates

Blog posts related to GSoC 2025.