You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »


The JBoss Community is planning to participate in Google Summer of Code in 2025.

All contributors & developers are welcome to participate in the https://summerofcode.withgoogle.com/ program with the JBoss Community. 

If you are a contributor looking forward to participating in the GSoC 2025 with the JBoss Community:

  • Feel free to browse the growing idea list below.
  • Please don't hesitate to contact the mentor(s) indicated in the proposal for any related clarification and to discuss proposals.
  • You can have a look at ideas list of previous years for inspiration.
  • Please see our contributor guide.
  • You may find a sample GSoC proposal document here which was for this idea.

Contributors: Please read the list above and also read our contributor guide.

A note to mentors

MENTORS: Red Hat employees can change this page directly to add ideas. Please be extra careful to not get other mentor's edits discarded.
Red Hatters should have linked their jboss.org account with Red Hat and can be checked on https://sso.jboss.org/login

Non-Red Hatters can add a comment to the page and admins will make sure the idea is added to the page.


Table of Contents

Administrators and Mentors

We will list the potential mentors in this place. For now, if you have any questions, please contact the GSoC administrators:

George Zaronikas (gzaronikas) and Sokratis Zappis (szappis AT redhat DOT com)

Communication channels

Gitter    : JBossOutreach/GSoC - Gitter 


Please take note - These channels are about generic doubts. For project-specific doubts you will need to contact project mentors and channels specified in the project description.


Idea template (for mentors)

Project title

Summary of idea:

-Idea

-Feature A

-Feature B

Knowledge prerequisite: Languages/Technologies goes here

Github repo:

Project size: medium (~175 hours) or large (~350 hours)

Skill level: Beginner/Intermediate/Advanced

Contact(s) / potential mentor(s): Mentor(s) name and contact details

Associated JBoss community project(s):

Idea Proposals


Kiali

Summary of idea: Improving Kiali UI and Developing the Backstage Plugin Integration

  • The Kiali project is an open-source service mesh observability tool that integrates with Istio to provide advanced visualizations and monitoring. The goal of this project is twofold:

    1. Enhance Kiali's User Interface (UI): Streamline and modernize the user experience, making it more intuitive and accessible for users.
      1. Design and implement an updated, more user-friendly UI.
      2. Focus on enhancing navigation, responsiveness, and accessibility.
    2. Develop a Backstage Plugin for Kiali: Integrate Kiali into Backstage, an open platform for building developer portals. This plugin will provide seamless access to Kiali’s features within the Backstage ecosystem, allowing developers to view and manage their service mesh directly from Backstage.
      1. Develop a Backstage plugin that integrates Kiali’s core functionalities.
      2. Provide options for users to access mesh-related metrics, traces, and visualizations directly from the Backstage interface.
      3. Include authentication mechanisms for secure access to Kiali’s data.
    3. Documentation and Tutorials
      1. Comprehensive documentation for both the UI changes and Backstage plugin.
      2. User guide and developer documentation to help others set up, contribute to, and extend the integration.
  • Image registry is QUAY.
  • Pipeline and builds are done by GitHub CI.

Outcome: The proposal will improve the usability and accessibility of Kiali while providing a new integration with the Backstage platform, enabling a broader range of users to interact with the Kiali tool.

Possible features for this project:

  • Adapt Kiali Wizards to new React purpose
  • Work in the backstage plugin area to add new components.
  • Developer community website to show stats
  • Write documentation

Knowledge prerequisite: React

Github repo: https://github.com/kiali/kiali

Project size: Large (~350 hours)

Skill level: Intermediate

Contact / potential mentors: Alberto Gutierrez (aljesusg@redhat.com | aljesusg@gmail.com)

Associated community projects: 


From Reactive to Proactive: AI-Enhanced Performance Insights in Kruize

Summary of Idea:

In dynamic containerized environments, predicting and preventing performance bottlenecks is crucial for maintaining efficiency and cost-effectiveness. Kruize provides container right-sizing recommendations based on performance metrics such as CPU and memory usage, collected from Prometheus. Currently, recommendations are generated using a percentile-based approach.

To enhance this, we propose integrating a time series and regression-based models into Kruize. These models will analyze historical performance data to generate more proactive, data-driven recommendations. The integration of these models will improve predictive accuracy, enable real-time and batch data processing, and ultimately help users optimize their infrastructure more effectively.

Possible features for this project:

  • Collect historical usage data from Prometheus, perform feature engineering (e.g., smoothing, normalization, trend extraction) to enhance model accuracy.
  • Store processed data efficiently for real-time and batch analysis.
  • Implement and train a time series model (e.g., ARIMA, Prophet, or LSTM).
  • Develop and evaluate a regression-based model (e.g., Random Forest, XGBoost).
  • Compare their performance in terms of prediction accuracy, latency, and robustness.
  • Integrate both models into Kruize to generate performance recommendations. 

Knowledge Prerequisite:

  • Languages: Python, Java, Shell Scripting 
  • Technologies: Scikit-Learn, Pandas, NumPy, Matplotlib
  • Machine Learning Concepts: Time Series Analysis, Regression Models, Forecasting
  • Experience with containerized environments, shell scripting and performance tuning is a plus.

GitHub Repository: https://github.com/kruize/autotune.git 

Project Size: Medium (~175 Hours)

Skill Level: Intermediate

Contact(s) / Potential Mentor(s): 

Associated Community Project(s):



EAT  - Testing Infinite Software Project Versions

Summary of idea:

The innovative part of EAT is creating the test once and testing with any version of the tested software. It may be firstly applied for the JBoss Servers, but, in general, a similar structure, can be used for creating tests about any software with multiple versions or for multiple software programs that have a part of the testsuite in common. EAT is a project under the ΙΔΕΑ statement.


Possible features for this project :

  • extend the existing EAT testsuite with latest JBOSS Community server snapshot
  • create an android mobile application tested with EAT
  • create an example combining EAT with MiliLib (https://github.com/Lkop/MiniLib) regarding the deployment part, in order to use the minimal deployment code
  • create an example of testing multiple mobile devices in parallel
  • the contributors are welcome to make their proposals


Project size: large (~350 hours)

Skill Level: Intermediate

Github repohttps://github.com/EAT-JBCOMMUNITY/EAT

Contact / potential mentor: Panagiotis Sotiropoulos (psotirop@redhat.com)

Associated JBoss community project: EAT (https://github.com/EAT-JBCOMMUNITY/EAT)



Transactuations in ArjunaCore

Summary of idea:

ArjunaCore, the transactional engine at the heart of Narayana, was originally developed as a university project to provide researchers with an elastic testbed for experimenting with multiple transaction protocols and abstractions. Today, Narayana leverages ArjunaCore’s flexibility to support a wide range of transaction types, from standard Jakarta Transactions (AKA JTA) to Long Running Actions (LRA), covering multiple use cases and scenarios.

The requirements of new technologies, such as microservices, IoT, and cloud computing have introduced interesting challenges that push the boundaries of transaction management. As a consequence, ArjunaCore/Narayana needs to be developed to support new transaction models. In this regard, an innovative concept is "Transactuations", which introduces a runtime system called Relacs to execute transactions that exclude the Durability property of ACID.

This project explores how ArjunaCore’s flexibility can be utilised to implement and expand the Transactuations abstraction, with a focus on applications in cloud environments.

Possible features for this project:

  • Develop the Transactuation model in ArjunaCore
  • Test performance of the new transaction model vs existing ArjunaCore's transactions

Knowledge prerequisites: Distributed Transactions

Github repo: https://github.com/jbosstm/narayana

Project Size: Medium (~175 Hours)

Skill level: Intermediate

Contact / potential mentor: Manuel Finelli (jfinelli@redhat.com)

Associated JBoss community project: Narayana (https://www.narayana.io/)



  • No labels