Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
<p>The Besu team has been pushing heavily on extensibility via plugins, as a way to support Layer 2 or private networks, without needing to fork the core Besu codebase, with Linea being a notable success example.</p><p><br></p><p>The Plugin API, now offer a variety of services, form consuming blockchain data for custom needs, modifying the behavior of an Ethereum network to adapt to specific workflows, to streamlining the deprecation of legacy features by re-implementing them as plugins. They are also highly useful for testing and debugging purposes.</p><p><br></p><p>However, Besu Plugin API is fragile and grew in a non-organic way over the years. Because its evolution was mainly driven by specific needs rather than clear design principles, so it grew without a real direction, resulting in poorly organized code. Currently, every time a new functionality needs to be exposed via the Plugin API, it is not clear how to expose the interfaces or where to place them. Consequently, quick trade-offs are sometimes taken to avoid undertaking a large refactoring effort.</p><p><br></p><p>Furthermore, the plugin lifecycle—especially during the startup phase—is not well defined. This ambiguity can result in critical problems, such as plugins attempting to access a service before it is fully initialized. Finally, there is currently no real process around deprecation, versioning and backward compatibility, which makes it difficult to detect and manage braking changes in a coherent way.</p><p><br></p><h3>Learning Objectives</h3><ul><li>Gain a deep understanding of the Besu architecture, specifically its plugin ecosystem, module organization, and node lifecycle.</li><li>Learn advanced Java software design, focusing on code refactoring, API versioning and deprecation strategies, API documentation best practices, and establishing clean design principles.</li><li>Develop practical experience in open-source software development, including untangling technical debt and proposing structural architectural improvements.</li><li>Collaborate closely with plugin users and core maintainers to better understand their needs and pain points.</li></ul><h3>Expected Outcome and Deliverables</h3><ul><li>Code Reorganization & Design Principles: Refactor the existing plugin codebase to improve organization and document clear guidelines/patterns on how and where to expose new interfaces in the future.</li><li>Lifecycle Refinement: Analyze and implement a robust, well-defined startup lifecycle for plugins to eliminate race conditions, ensuring services cannot be accessed before they are fully initialized.</li><li>API Versioning System: Design and integrate versioning support into the Plugin API so that maintainers and developers can systematically detect and manage breaking changes</li><li>Documentation: Renew the API documentation and Plugin writing guides.</li></ul><p><br></p><p>Lean more at <a href="https://github.com/LF-Decentralized-Trust-Mentorships/mentorship-program/issues/82" rel="noopener noreferrer" target="_blank">https://github.com/LF-Decentralized-Trust-Mentorships/mentorship-program/issues/82</a></p>
<p>This project aims to improve the Beaglebone Black BSP support on RTEMS. Project intends to add the following supports to the Beaglebone Black BSP: I2C support, USB device support, Wireless network card support,wireless protocol 802.11 support. The wireless network support make the RTEMS can apply on many scene application such as the four rotor unmanned aerial vehicle. makes RTEMS more attractive for the user community.</p>
Volcano dashboard is a volcano resource front-end display tool. Currently, it only supports viewing resources, and the resources displayed are limited. It needs to support viewing more resources, and supports operations such as creation and deletion. Expected Outcome: 1. Supports viewing resources other than volcano related resources. 2. Supports add, delete, modify and query resources such as queues and volcano jobs.
<p>The project is aimed to design and implement the JSON API to programmatically query the BookBrainz database. Since the existing backend of BookBrainz website is written using node.js and its framework express.js, therefore we will also use the node.js and express.js to implement this project. This API will use the current BookBrainz ORM bookbrainz-data-js to access the database.</p>
<h4>Introduction</h4> <p>This project is about porting the <a href="https://drupal.org/project/icon" target="_blank">Icon API</a> module from Drupal 7 to Drupal 8.</p> <h4>About Icon API</h4> <p>The “Icon API” module provides the integration of icons throughout the Drupal and it makes the website look beautiful. The icons can be integrated into the Blocks, Menus Items, Fields, and content by using the Filters.</p> <h4>Internal Structure of the module</h4> <ul> <li><strong>Icon API</strong>: This is the main module which provides templates and defines the plugin system for the Icon Bundles.</li> <li><strong> Fontawesome Bundle:</strong> This is a sub-module which is responsible for providing the Icon data to the sub-modules. This Icon bundle uses the <a href="https://fontawesome.com/" target="_blank">Fontawesome</a> Icons. </li> <li><strong>Icon Block: </strong> This is a sub-module which integrates the Icons into the Block's title and the content.</li> <li><strong>Icon Menu: </strong> This is a sub-module which integrates the icons into the menu links.</li> <li><strong>Icon Filter:</strong> This is a sub-module which integrates the icons into the content.</li> <li><strong>Icon Field: </strong> This is a sub-module which integrates the icons into the fields.</li> </ul> <h4>Deliverables</h4> <p>Fully functional and stable <a href="https://drupal.org/project/icon_api" target="_blank">Icon API</a> module for Drupal 8.</p>
NetAnim is a tool used to visualize a node's movement and messages between node's. The current NetAnim module implementation has one severe limitation-It requires events from the node's and the net-devices, and to do so it hooks on several callbacks. The goal of this project is to refactor NetAnim so that each module willing to use NetAnim will have a NetDeviceAnim class responsible for communication with the NetAnim module, enabled only if NetAnim is active. This will break the dependencies and will allow more flexibility for out-of-tree modules and modules migrating to the AppStore.
<p>This project is aimed at providing linear time implementation for modular decomposition of graphs and digraphs. Modular decomposition is decomposition of graph into modules. A module is a subset of vertices and it is a generalization of connected component in graph. Let us take for example a module X. For any vertex v ∉ X it is either connected or not connected to every vertex of X. Another property of module is that a module can be subset of another module. There are various algorithms which have been published for modular decomposition of graphs. The focus in this project is on linear time complexity algorithms which can be practically implemented. The project further aims to use the modules developed for modular decomposition to implement other functionality like skew partitions. Skew partition is partition of graph into two sets of vertices such that induced graph formed by one set is disconnected and induced graph formed by other set is complement of the first. Modular decomposition is a very important concept in Graph Theory and it has a number of use cases. For instance it has been an important tool for solving optimization and combinatorics problems.</p>
The objective of this project is to enhance the PEcAn Project by optimizing its modules for standalone use. Despite PEcAn's robust framework and its interconnected modules, there's a growing need to make these modules independently operable. This shift is essential to simplify module usage, testing, and development, making the system more accessible and efficient for users and contributors. The focus is on optimizing our modules for standalone use, enhancing their individual operability within PEcAn's interconnected framework with our top priority being to 're-loosen these couplings by revisiting the design and interface of PEcAn packages .'
This project aims to extend OpenCV’s DNN module with efficient runtime support for Large Language Models (LLMs), focusing on enabling Visual Language Models.
gccrs still lacks support for Rust’s Drop trait, which is a core part of Rust’s resource management model. Without it, values that require cleanup cannot be handled correctly at scope exit, which makes gccrs incomplete with respect to important Rust semantics. This project proposes an incremental implementation of Drop support in gccrs, starting from a narrow and testable subset rather than attempting full drop elaboration at once. The first stage focuses on scope-exit destructor insertion for simple non-generic local variables using existing backend cleanup machinery. From there, the implementation will be extended to support multiple locals, correct reverse drop order (LIFO), and, if feasible, initial nested-scope cleanup. More advanced cases such as moved values, temporaries, partially initialized values, and generic Drop will be treated as later-stage or stretch work. The main deliverables are: an initial implementation of scope-exit Drop support for a restricted subset of local variables, support for correct LIFO drop ordering, regression tests covering the supported behavior, and documentation describing the implementation approach, supported subset, and current limitations.
<p>The goal of this project is to ensure that one can comfortably run the reference application without requiring the legacyUI module for metadata management in OpenMRS. Some initial work was done to move metadata management to the adminUI module for the reference application and there is still some more functionality that needs to be moved over.</p> <p>It's required to move Encounters, Observations, Scheduler, Programs, Triggered State Conversions, System Information, and Modules Management in the AdminUI module. I believe this project would be a perfect opportunity for me to get familiarized with the Open MRS Platform, focusing on the Operation Theater Module.</p>
<p>GRASS GIS doesn’t have any module to work with Sensor Observation Service (SOS). SOS is an Open Geospatial Consortium (OGC) standard and it is useful to implement modules to work with this standard into GRASS. Intended modules would enable the user to create a vector with or without the observation values, create a raster for each queried day and create a space time vector or raster dataset. One module would also allow the user to convert a space time vector dataset into a raster dataset. The user should be also allowed to get the capabilities to get info about sensors from these modules and filter the results.</p>
NetBSD with the thin in-kernel ABI layer COMPAT_LINUX enables support for running Linux binaries by means of emulation on NetBSD systems. As newer features are added to the Linux kernel, newer system calls are also added when they are deemed essential. This project attempts to identify some of the such critical newer system calls that currently have no emulation support by means of the Linux Test Project and add support for them in the emulation layer by following a mix of some of the strategies like limited support, native support, empty subs, etc. This extends the NetBSD kernel emulation completeness, trying to tackle the Linux2NetBSD binary execution problem, one system call at a time.
My goal is to enhance the Keploy Typescript SDK's versatility and accommodate a wider range of developers and use cases. I aim to make it more flexible, allowing for easier future integration of additional technologies/databases by creating reusable code blocks. Major deliverables: 1. Add support for Httpclients in TypeScript 2. Add support for popular SQL databases using Sequelize 3. Add support for MongoDB database 4. Add support for cloud storage services 5. Add support for Redis and Elasticsearch 6. Sample Project: Include a sample application that will contain all the above integrations in the Sample-Typescript repo for seamless testing of each implementation.
<p>This project aims to add support for aggregation analytics functions (a.k.a window functions) to the SQLBeam module of the Apache Beam project. The implementation of these function will ease the creation of pipelines that need aggregation procedures described in SQL.</p>
The FreeBSD bootloader prompt currently doesn't support editing keys, history, or any kind of command/file/directory completion (and any attempt to use the keys for those actions will print garbage to the console). Beyond waiting a few seconds and letting it autoboot, quality of life in the bootloader is very low, so I'd like to set out to improve it by implementing various features a user would expect at any command prompt. Main goals: Support for binding/rebinding editing keys, support for editing keys/shortcuts, support for command history, support for command/file/directory completion, and to also fix any small/medium sized quality of life problems I bump into (for example, vague errors like "unknown command")
During my GSoC project I will work on the following: 1. Expansion of the RADAR-Feature Pipeline to make it more flexible, support a larger variety of data inputs and improve processing throughput. 2. Add visualization modules to help the user with data analysis and visualization in the pipeline itself.
This project aims to fix camera and gimbals related issues in ArduPilot, upgrading currently supported messages and adding support for new mavlink messages. Some new and exciting features are also introduced, those are: 1. Pointing gimbal at circle-centre, 2. Gimbal Following another vehicle, 3. Time based triggering of image capture, 4. Start/Stop Video recording when arm/disarm, 5. Camera logging with mount specific messages, 6. GIMBAL_MANAGER_SET_ATTITUDE support, 7. Transferring support of mount poi (point of interest) from lua to c++, 8. Support for specifying which gimbal each camera is associated with, 9. Fixing other bugs in gimbals and cameras (specifically SiYi Zr10)
<p>OSM2World is a converter that renders 3D models of the world, based on exported OpenStreetMap data. As the project is still under construction and some OSM tags styles are not yet supported, it is in the scope of this project to expand its codebase and include various aspects of traffic sign modules to its rendering capabilities.</p>
<p>The aim of this project is to implement the support for morphographemics and weights in the lttoolbox transducer. The proposal focuses on extending lttoolbox to perform the complex morphological transformations and weight based analyses currently done in HFST and writing a module that translates the current HFST format to the new lttoolbox format.</p>
This proposal aims to complete major porting work of the NuttX RTOS to the Raspberry Pi 4B in order to vastly improve its stability and support. The goal is to attract new users with a flagship hobbyist device, showcase NuttX's ability to scale to large, 64-bit SoCs and also break NuttX into new markets with a more powerful platform (high RAM size, 64-bit architecture & 4-core SoC for applications like robotics). The milestones/deliverables for this project are: - Stabilization of existing support (I2C, EMMC, HDMI quirks) - SMP support - Full UART interface support (PL011) - Networking support (Ethernet OR WiFi) - Audio output - User demos (DOOM, LVGL dashboard, telnet)
<p>TensorFlow is one of the most popular machine learning frameworks and is widely used in fields beyond machine learning and data science. The architecture of TensorFlow has been elegantly designed such that it is possible to be extended in big data, medical imaging, and physical sciences. Supporting different format of data is the necessary step for communities beyond machine learning to adopt TensorFlow, as data is always as the entry point or edge node of the TensorFlow’s graph. Importing data with different formats natively in TensorFlow allows users to build their systems or applications without the need of additional conversion infrastructure.</p> <p>TensorFlow I/O focuses on providing various data format supports for TensorFlow, and many data formats are already supported, like Apache Kafka stream-processing, Amazon Kinesis data streams and also LMDB format and MNIST format, etc. However, the generic JSON format hasn’t been supported yet. It is quite necessary to support JSON format since JSON files are widely used in machine learning and data science.</p> <p>I will be working on providing JSON support in the TensorFlow I/O so that it will be possible to read JSON files into Tensorflow.</p>
<p>This proposal focuses on improving the areas of CGRAN and Pybombs collectively, to enhance the user experience and provide simple UI interfaces to install GNU Radio and other OOT Modules in a hassle free way. The proposal also plans on extending Pybombs support to GNU Radio's embedded working group.</p>