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>I will be creating two activities for Sugarizer (in Vue.js) requested by teachers from Sugarizer deployment in Saint-Ouen:</p> <h3>Curriculum</h3> <p>The Curriculum activity will be a way for a student to self-check his/her skills from a set of knowledge categories and provide multimedia element to demonstrate these skills. It will display a hierarchical set of skills grouped by categories and let the user explore the tree. On each skill the user can validate (i.e. acquire skill) and provide multimedia elements (pictures or sounds coming from Journal) to demonstrate the skill.</p> <h3>Vote </h3> <p>The Vote activity will provide an easy-to-build poll system. The user can create a poll (yes/no, choose value in a list, enter a value) then share it on the network so any user can vote in real time. After the end of voting period, a screen will sum up results of the vote showing various statistics.</p>
Rate limiting is a technique used by computer systems to control the rate of traffic sent or received by a particular entity (such as an application or a user). The goal of rate limiting is to prevent a single entity from overwhelming the system with too many requests at once causing resource exhaustion, security vulnerabilities, API abuse, and unpredictable behavior. The objective is to develop a plugin for Coraza WAF which prevents ‘rate-based attacks’ and provides more security and stability to the applications behind the wall. In brief, this is to be accomplished by creating a new directive `SecRateLimitOptions` for specifying the rate limit options(no. of requests allowed per minute, the algorithm used, when to clear rate limit, default action if rate limit exceeds) and a new non-disruptive action `rate limit` which enforces rate-limit on the matching chains of SecRule. A more detailed explanation can be found in the proposal PDF. The set of deliverables, in the end, would be the plugin itself, support for distributed systems, and well-written documentation with examples, benchmarks, and recommended settings.
This proposal outlines modernization of Pygoat, focusing on scalability and a future-proof curriculum. The top priority is a complete structural and gamified overhaul, featuring a dynamic scoring system and a lab list updated for OWASP Top 10:2026. This is supported by a new Core API Gateway and a Dynamic Admin Control Center, which together allow for seamless, real-time monitoring of dockerized labs and centralized management of user data and security categories. A key innovation is the Plugin-Based Custom Lab Loader, allowing the community to integrate their own labs via a standardized labs.json format. To ensure long-term accessibility, the project includes a Tailwind CSS UI migration, automated CI/CD pipelines for multi-platform Docker builds, and a comprehensive MkDocs documentation hub. By bridging the gap between exploiting a vulnerability and implementing secure coding practices, these features provide a structured, professional, and engaging learning path for the new security developers.
OWTF's proxy silently drops every HTTPS transaction, blocks the entire event loop during live interception, and is written in deprecated Tornado coroutine syntax that prevents proper asyncio integration. I plan to fix this by rewriting the proxy core to use async/await throughout, replacing the threading-based CONNECT tunnel with a proper asyncio-native forwarding pipeline, and routing decrypted HTTPS traffic through the same CacheHandler and TransactionLogger chain that HTTP already uses. The result will be a proxy that records all traffic (HTTP and HTTPS), supports request and response modification hooks for both protocols, and does not freeze under concurrent load. Deliverables: async/await rewrite of proxy.py and main.py, working HTTPS transaction recording with PostgreSQL entries, fixed interceptor hook pipeline applying to both protocols, binary response handling using a bytes buffer instead of string accumulation, in-memory LRU cert caching, upstream cert CN/SAN mirroring, and functional tests covering each of these.
<p>Storing, sharing and accessing the vast volumes of data being generated in modern research and healthcare settings is extremely daunting. With the Data Repository Service (DRS) schema, the GA4GH has developed an API specification that provides access to data stored in the cloud, via a uniform experience. The DRS schema is part of the GA4GH Cloud Work Stream, which allows users to execute FAIR workflows on FAIR data in the cloud. However, it currently does not allow data to be dynamically added, which is a limitation to some use cases for federated computing.</p> <p>The goal of this project is to develop an open-source, generic (i.e., not tied to any specific data provider), distributable and highly reusable DRS microservice implementation with various, diverse and unique use cases in the operationalization of the GA4GH Cloud Work Stream, such as enabling user upload in client applications or on-site caching, temporary/intermediate storage functionality for execution endpoints and as a lightweight and maintainable demo service for GA4GH Cloud interoperability testing.</p>
<p>The project would provide a series of modular python programs that could be used to support different Public Lab imaging and spectrum measurement toolkits. The programs enable near real time OpenCV computer vision (CV) measurements of images or spectra. The CV measurements can be used to improve instrument performance (feedback that controls lighting amplitude or camera array exposure times) or assist calibration by subtracting reference images/spectra.<br> General objectives include: • increasing the scope and usability of Public lab Spectral Workbench and spectrometer kits • collecting software techniques from Raspberry PI, computer vision and Adafruit blogs into a single source that can be applied to science projects • provide code that would automate data collection and present data in a visually appealing manner • optimize the use of Raspberry PI visible and NOIR camera in Public lab spectrometer kits • provide a foundation for new spectroscopic applications using python/opencv image processing libraries.</p>
The project idea aims to reduce power consumption on Flotta-device agents on small factor edge devices at several levels. OS toolings would be implemented to get data about the energy consumption at the CPU level of the device agent using a Custom Kepler monitoring system and a power meter. After the confirmation of the data, these parameters would be passed to the control plane via metrics using Prometheus as Internal Prometheus TSDB is already used by the flotta-device agent, Required research on variation in energy consumption and performance with the number of workloads and resources allocated to them would be done and the obtained findings is to be summarised in a blogpost. The research part would be helpful for the development of better ideas for workload allocation and containers for Flotta, and IoT based container workload projects in general. Two energy profiles would be developed namely Flotta-PowerSaving Mode and Flotta-UltraPowerSaving Mode which would aim to turn - off specific kernel modules and operations which are not feasible and are unnecessary for running container workloads at low energy, The data from the research would be integrated with these for determining the ranges in which it would operate.
<p>JSON Schema is a vocabulary to specify the structure of a JSON document. JSON Schema is widely used and well supported and sees a growing use for many GA4GH standard representations and schema collection is growing and currently, there is no mechanism to manage these JSON schemas. As a solution, introducing JSON schema service which has the ability to manage growing JSON schemas and maintains the consistency among GA4GH JSON schemas by introducing a standard template as a meta schema. The proposed system consists of 3 main components such as Schema Service, Schema Repository and Schema UI. Schema service is designed as a REST full web service and mainly it manages GA4GH JSON Sachems. Schema Repository is the persistence layer for Schema Service and JSON schemas can be stored within the schema repository for retrieval. Schema Repository is implemented using a document-oriented database model. Schema UI is a single page web application for the application layer of the system and provide a user interface for JSON Schema management.</p>
Music Blocks and Turtle Blocks lack a structured version control system, making it difficult for users to manage project history, collaborate, and contribute effectively. This project aims to integrate Git-based version control, allowing users to track changes, fork projects, submit pull requests, and collaborate seamlessly. To achieve this, I will develop a backend API that interacts with GitHub or GitLab, enabling repository creation, commit tracking, forking, and merging. A user-friendly frontend UI will be implemented to provide an intuitive experience for project management. Deliverables: -A backend API supporting Git operations (repository creation, commits, forks, PRs, merges) -A frontend "Git Menu" for managing project versions, viewing history, and contributing. -A "Projects" page displaying repositories with commit history and branches. -Robust testing and documentation to ensure maintainability. -Initial user testing with community contributors and educators. The goal is to use GitHub as a back-end and database and use Git's powerful features to make learning more effective for students.
The world of JSON Schema is immense. JSON Schema tooling exists in countless languages across a variety of uses (data validation of course a noteworthy and prominent one). Implementing the JSON Schema specification(s) in a fully compliant way is not without challenge, meaning as a user of JSON Schema it is important to understand how a particular implementation may deviate such that one can make constructive tooling choices or help implementations improve. Bowtie is a recently created tool to aide in this task, helping to surface the conformance of various JSON Schema tools with the specification by running them against a set of known correct test cases and regularly rendering the results to a web page. But it can do more! Expected Outcomes: Enhance (or replace) Bowtie's simplistic current UI so that it most easily answers "what do various implementations say about each test case" -- making it snappier and more featureful Add support for further JSON Schema implementations by creating Bowtie harnesses in additional languages Teach Bowtie to compare not only True/False validation results but also the full JSON Schema standardized output formats
<p>CC Vocabulary is a design system, a collection of UI components, available both as CSS stylesheets and minified JS, as well as Vue components, that make it easy to develop Creative Commons apps and services while ensuring a cohesive experience and appearance across CC projects.</p> <p>CC Vocabulary would make it easy for designers to design and prototype mockups, developers to develop evolving standards-compliant code that covers a large number of use-cases out-of-the-box and users to navigate a more consistently familiar CC web presence.</p> <p>CC Search is a Creative Commons application that allows users to search for images (and soon, other content) and provides one-click attribution and licensing information, making it effortless and unambiguous to use and extend creative works from other artists.</p> <p>The revamped CC Search would provide a more streamlined experience, making the site mobile-responsive, modernised and smoother to use. The website would also be the pilot project to use the new CC Vocabulary components, enabling faster development and a more consistent look and feel.</p>
<p>Security Knowledge Framework (SKF) is a tool that is used as a guide for building and verifying secure software.It can also be used to train developers about application security. The OWASP Security Knowledge Framework is an expert system web-application that uses the OWASP Application Security Verification Standard and other resources. It can be used to support developers in pre-development (security by design) as well as after code is released (OWASP ASVS Level 1-3). Chatbots are software agents that interact with the user in a conversation. A chatbot is a service which is provided by websites so that users can easily able to fetch information interactively. They can reach out to a large audience on messaging apps and be more effective. A chatbot provides a speedy and quick response and available around the clock. Such programs are often designed to convincingly simulate how a human would behave as a conversational partner. Chatbot will be an attempt to reduce the pain of the user and will help users in finding solutions to their problems and thus improving the security of code and infrastructure. This will be integrated into various chat systems to make it easier to use.</p>
<p>Current version of Newman ships with a command - newman run - that allows users to effortlessly run and test postman collections from the command-line. We are in the process of writing a new command - newman request - that will enable users to run single requests from the command-line. Newman request will be a drop-in replacement of curl which will allow users to show additional details like response time, size of data received, first byte time, DNS lookup time, etc. in CLI. Replacing curl with newman request in a curl command should run and send the request using Newman.</p> <p>Users will be able to use existing features of Newman like showing output with reporters of their choice that provide information about a single request in a format that is easy to both disseminate and assimilate. Existing reporters like HTML, JSON, progress, etc. will be supported. To achieve these objectives, we are using curl-to-postmanv2 plugin to convert the command to postman collection with a single item. The created collection is then run using postman-runtime.</p>
<p>Smart HTTP/2-based protocol for Infinispan.</p> <p>The Infinispan Server distribution contains a server module that implements Infinispan’s custom binary protocol called Hot Rod. The protocol was designed to enable faster client/server interactions compared to other existing text based protocols and to allow clients to make more intelligent decisions with regards to load balancing, failover and even data location operations.</p> <p>In 2015 the 2nd version of HTTP protocol (simply HTTP/2) was finally introduced. HTTP/2 provides a lot of features that are also implemented in Hot Rod protocol. For example, using the HTTP/2 will be more preferable than Hot Rod because the size of the requests and responses will be smaller.</p> <p>Expected results of this project are:</p> <ol> <li>Modify current REST Server endpoint for Infinispan to handle HTTP/2 protocol. Modification will be based on implementing features from Hot Rod protocol to HTTP/2.</li> <li>Create HTTP client on Java.</li> </ol>
This proposal aims to implement a functional cloud storage integration for VLC Media Player using libcloudstorage Although the open merge request (!7526) introduces basic components such as service discovery and access modules, testing shows that the integration is not usable due to issues in authentication flow, threading, and state handling. For example, authentication cannot be triggered properly from the UI due to preparsing constraints, and token persistence issues lead to repeated login attempts. This project focuses on completing and correcting the integration so that users can reliably browse and access cloud storage within VLC. The work includes restructuring the authentication flow to work correctly with VLC’s threading model, fixing token storage and session handling, and ensuring proper navigation after login. In addition, necessary updates will be made in libcloudstorage to address outdated API usage and improve compatibility with current cloud providers. Testing will be included to validate authentication, directory access, and overall integration stability. By the end of the project, users will be able to log in once, browse their cloud directories, and stream media files directly within VLC.
FinBot CTF has 16 Red track challenges where players attack a live AI agent. There is no defense side. Players can learn to exploit the agent but have no way to practice stopping the same attacks. This project builds three things. First, a pluggable guardrail framework inside BaseAgent that runs policy checks before and after every tool call. Second, five guardrail implementations covering goal hijacking, tool misuse, privilege abuse, memory poisoning, and inter-agent spoofing, mapped to ASI-01, ASI-02, ASI-03, ASI-06, and ASI-07 from the OWASP Top 10 for Agentic Applications. Third, a Blue track that converts existing Red challenges into paired Red/Blue challenges, where players score points by deploying guardrails that block specific attacks. Deliverables: bug fixes for three confirmed open issues, the finbot/guardrails/ module with full test coverage, five guardrail hooks wired into the existing CTF event bus, 4 to 5 paired Red/Blue challenge YAMLs, two new MCP attack scenarios, and contributor documentation.
<p>Sugar has a lot of activities, with 250+ on GitHub, and more elsewhere. These have scope for improvement; bugs, features, updated human translations, and release. There are many activities which have not been maintained or updated for over a decade. It is important to port such activities from python 2 to python 3 along with porting them to Gtk+3. The support for python 2 is being withdrawn and the port to Gtk +3 to have a fully functional activity is important. Inaddition to that, the activity might require porting</p> <ul> <li>from GObject to GLib</li> <li>from GConf to Gio.settings</li> <li>from GStreamer Gst.Message.structure to get_structure()</li> <li>and porting to TelepathyGLib</li> </ul> <p>My project also includes adding feature improvements or fixing the features of the activity which are not working and fix display resolution issues. I will be collaborating with others to prepare activities for release and also test debian packages if needed. It is important to identify if the tracebacks are due to activity code, changes in versions of packages or due to difference in the test environment.</p> <p>So this project aims at making necessary changes to sugar activities to have at least 25 release ready activities.</p>
The "Musical Ideation through Generative AI" project aims to integrate a Language Learning Model (LLM) with Sugar Labs' MusicBlocks platform, enabling users to compose and enhance musical compositions. It will start with implementing an efficient ABC parser for MusicBlocks, ensuring robust extraction of musical information from ABC notation. Next, the project will tune and benchmark the LLM to generate high-quality musical compositions in ABC format. Once tuned, the LLM will be deployed to a server environment, and API endpoints will be set up to enable interaction with MusicBlocks. Users will initiate compositions in MusicBlocks, which will be sent to the LLM for enhancement. The LLM will generate multiple compositions based on the user's input, which will be converted back to MusicBlocks format for further enhancement. Throughout the project, integration testing and flow testing will ensure seamless interaction between MusicBlocks and the LLM API. Comprehensive documentation will provide insights into the implementation process, results of benchmarking and testing, and recommendations for future improvements. This integration of AI-generated compositions into MusicBlocks aims to inspire creativity, deepen musical understanding, and enhance the learning experience for users
<p>The Creative Commons plugin for WordPress is due for an update for over two years. I plan to rebuild the plugin from scratch with WordPress Coding standards in mind. This optimization will come in the forms of both standards compliant code and documentation.</p> <h3>Proposed Features</h3> <ul> <li>Creative Commons Gutenberg Blocks.</li> <li>WordPress Coding Standards compliant code.</li> <li>WordPress Documentation Standards compliant inline code docs.</li> <li>CC Licensing of Images uploaded by a user to help make licensing clear.</li> <li>Custom license page templates for each CC license and page generator.</li> <li>New documentation site hosted with Netlify built with Gatsby.js, JAMstack.</li> </ul> <h3>Results</h3> <p>With the above-mentioned features, the plugin will be functional and a user installing CC WordPress plugin will be able to add the Creative Commons Licenses to images, content, or even generate License pages that can help explain licensing of the entire site's content. Moreover, with a new documentation site, we'll be able to bring in more community contributors to the project.</p>
I would like to work with the Open Library team to create a plugin within the Internet Archive’s book reader app that would enable users to locally translate books and integrate the translated text to allow text-to-speech functionality for different languages. Using JavaScript and the Bergamot Translation model, this feature will parse the transparent text layer within the IA's book reader, feed the input into the translation model, and output the translated text onto the app. Using a simplified calculation of books available for lending within the Open Library catalog, this project would expand the 3 million works available in English to at least 18 million titles across the 6 different languages supported by the Bergamot project, directly contributing to the Open Library's 2025 goal of offering more with less. The primary deliverables for this project can be broken down into two major parts: implementing a translation plugin that allows users to select the source + target translation languages and intercepting the existing text-to-speech plugin to read the translated output from the Bergamot translation model. A future high-level deliverable for this project would allow volunteers to contribute their own translations for texts, which could allow higher quality translations to be provided to fellow patrons.
Open Library has millions of book records tagged with inconsistent, unstructured subject strings, for example, "science fiction", "Science Fiction", and "sci-fi" are treated as completely different tags, causing patrons to miss thousands of relevant books depending on how they search. This project solves that by building system-wide support for first-class genre tags on Works, directly addressing issue #11610. The solution works in four connected layers: first, developing a controlled genre vocabulary and a mapping dictionary from messy subject strings to canonical genre labels; second, updating the work schema in infogami to add a genres field storing canonical strings that serve as keys to fetch corresponding Tag objects; third, building a batch backfill pipeline that processes tens of thousands of high-demand works and populates their genres field; and fourth, updating Solr to index and facet by genre, displaying genre chips on book pages, and adding a librarian editing UI with autocomplete. By the end of GSoC, a patron searching for science fiction will get consistent, accurate results regardless of how they type it because works will have clean genre tags, indexed by Solr, backed by canonical Tag objects, and maintainable by librarians.
<p>Media source networks generated from Mediacloud topic graphs are currently visualized using software like Gephi with Force based layouts, however scaling the graph by expanding and contraction to reveal the network structure takes trial and error and domain expertise. Since python libraries like networkx don't have extensive support for network visualizations like Gephi, visualizing high dimensional networks become very hard. Multiple issues like node overlaps, label overlap , lack of utility functions, having a bad layout complicate the task of coming to a good network visualization.</p> <p>To solve it we implement <a href="https://github.com/Tahsin-Mayeesha/Mediaviz" target="_blank">Mediaviz</a>, a network visualization library which has been deployed as a package into pip. It provides functionalities for force based layout such as force atlas 2, automatic scaling to prevent node overlap, Gephi like features for network filtering, coloring, node resizing, prevention of label overlap and community visualization. Mediaviz uses force atlas 2 layout as default and scales the layout automatically for graphs with 100-1000 nodes that has a power law linking structure, but it can also be used with other layout algorithms.</p>
The Sugar Shell is the core desktop environment of Sugar and is responsible for activity launching, the Journal, the Frame, and system integration through DBus. The current Sugar Shell is built on GTK3, and several core components still depend on deprecated GTK3 APIs, which must be migrated to GTK4. This project focuses on the GTK4 migration of the Sugar Shell. The work includes replacing deprecated GTK3 APIs, migrating container and layout APIs to GTK4 equivalents, updating event handling using GTK4 event controllers, migrating styling to GTK CSS, and updating display and geometry handling using modern GTK4 display APIs. The migration will be done incrementally, component by component, starting with core components such as the Frame, Home View, Activity Launcher, Journal, Clipboard, and Control Panel. Each component will be migrated, tested in a running Sugar session, and submitted as small patches to ensure that the Sugar Shell remains stable and usable throughout the migration process. By the end of the project, the Sugar Shell will run on GTK4, core components will be migrated to GTK4 APIs, deprecated GTK3 APIs will be removed from migrated components, and migration documentation will be provided to support the remaining GTK4 transition work in the Sugar project.
Modern sandboxed applications (like Flatpaks) rely on XDG Desktop Portals for essential OS integration, such as screen sharing, opening files, or sending notifications. Tiling window managers often lack a complete and well-maintained xdg-desktop-portal backend, leaving users with a broken experience for many applications. This project will create a working xdg-desktop-portal backend for the Regolith desktop environment. Regolith is a productivity-focused Ubuntu-based desktop environment that combines tiling window managers (Sway, i3) with GNOME components for system management and GUI features. By using xdg-desktop-portal-luminous as a foundation, this project will deliver native portal implementations for complex features like Background and Clipboard, closing a major functionality gap. A key focus of this project is also on upstream contributions. The work will involve implementing the missing Usb portal in the xdg-desktop-portal-gtk backend and helping define and implement a new ScreenCast API version with audio support. This upstream work will directly benefit the entire Linux desktop ecosystem by providing a standard, secure way to capture application audio, a critical feature for apps like Discord and OBS Studio.