Skip to the content.

Google Summer of Code 2025

ViewCount GitHub LinkedIn Twitter MIT License

Complete Microservices Infrastructure @ FOSSology

Hello World!, Welcome to my GSoC 2025 project report.

Table of Contents

About FOSSology

FOSSology is an open-source compliance toolset that provides license and copyright discovery. It offers a framework for software analysis and includes tools that enable users to discover licenses and copyrights, parse package files, and categorize files and packages. FOSSology operates as a client-server application with a web-based front end, simplifying tasks such as uploading files or package archives and scheduling analysis jobs. The server efficiently scans through thousands of files, logging copyright statements, license statements, and other metadata. With its combination of a command-line toolkit and a web-based compliance workflow, FOSSology helps organizations manage software license and copyright compliance. It offers flexibility and convenience, making it a powerful tool for software analysis and compliance management.

Project Overview

The goal of my Google Summer of Code 2025 project was to advance the Microservices Infrastructure of FOSSology by rebasing and enhancing Omar AbdelSamea’s prior of 2021, addressing issues in the Kubernetes-based deployment, transitioning the build system from Make to CMake and resolving critical blockers such as scheduler and database connectivity issues. The project aimed to deliver a functional, maintainable and scalable microservices setup for FOSSology, ensuring that all components (web, scheduler, database and agents) work seamlessly in a containerized environment.

Throughout the 13-week period, I collaborated closely with mentors Avinal Kumar, Shaheem Azmal M MD and Gaurav Mishra, as well as the broader FOSSology community, to troubleshoot issues, refine configurations and document progress. While significant progress was made, certain challenges, particularly around the scheduler agent, remain unresolved and will require further effort beyond GSoC.

Project Goals

Work Accomplished

Setup and Initial Configuration

Docker and Kubernetes Enhancements

Transition to CMake

Scheduler Agent Development

Scheduler Partial Running Image 1

Scheduler Partial Running Image 2

Scheduler Partial Running Image 2

Kustomization Setup

Database and Web Pod Fixes

Scheduler Partial Running Image 2

Scheduler Partial Running Image 2

Challenges and Blockers

Scheduler Instability

Database Migration Issues

Dependency and Configuration Conflicts

Unfulfilled Objectives

Future Work

Although the GSoC 2025 period has concluded, I am committed to continuing my contributions to FOSSology. The following tasks are planned:

Commits and Contributions

Key commits made during GSoC 2025:

All changes are pushed to my forked repository: SalmanDeveloperz/fossology.

Documentation

Throughout the 13 weeks of the GSoC period, I consistently created weekly documentation to track and record my progress. Week-wise documentation can be found in the following links:

Weekly Progress

Acknowledgements

I am deeply grateful to my mentors, Avinal Kumar, Shaheem Azmal M MD and Gaurav Mishra, for their guidance, patience, and technical insights throughout the GSoC period. Their feedback during weekly calls and community meetings was invaluable in navigating complex challenges. I also thank the FOSSology community for their support and suggestions, and Google Summer of Code for providing this incredible opportunity.

alt text

This GSoC journey has been a tremendous learning experience, enhancing my skills in Docker, Kubernetes, CMake and open-source collaboration. While the project is not fully complete, I am excited to continue contributing to FOSSology and driving the Microservices Infrastructure to a stable.


Let's connect!