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>This project would involve developing tools for teaching STEM through p5.js, adding functions to animate shapes, and animating math symbols. The main focus is to introduce a simple, easy-to-use library to animate repetitive methods. It would provide educators tools to make interactive animated sketches that can support learning in the remote environment.</p>
<p>Kworkflow is a kernel developer workflow tool with the simple mission of reducing the overhead with infrastructure setup for Linux development. In order to accomplish this goal, Kworkflow (or kw as it is commonly called by the community) must support a wide range of different setups. However, kw currently only supports two families of Linux distributions (Debian and Arch) and one bootloader(GRUB2). To help Kworkflow better accomplish its mission, the first half of this project will be dedicated to expanding support to some key bootloaders/bootmanager such as: U-boot (widely used by embedded systems and by ChromiumOS), rEFInd and the RaspberryPi bootloader. The second half of this project will build upon the work previously done by adding support to other Linux distributions, such as the RHET family and the ChromiumOS (through the newly supported U-boot).</p>
Description: Kubernetes Validating Admission Policy Support Expected Outcome: Kyverno support for ValidatingAdmissionPolicy in one of the identified proposals.
<p>This project consists of a number of features and improvements that further advance BeeWare's Batavia:</p> <ul> <li>Complete implementation of <code>dict</code> and <code>list</code> data types</li> <li>Implementation of JSON module from Python standard library</li> <li>Implementation of <code>yield from</code> statement</li> <li>Implementation of <code>with</code> statement</li> <li>Support for Python 3.6 bytecode</li> </ul>
<p>The aim of the project is to use Natural Language Processing (NLP) to develop an intelligent bot able to provide satisfying answers to users and handle support requests up to a certain level of complexity, forwarding only the remaining ones to the experts.</p> <p>For this purpose, the support requests sent as emails to the support team need to be downloaded through IMAP client and then parsed and transformed into a text corpus for further analysis.</p> <p>Addional data sources besides support emails will be used as input such as Rucio documentation pages and GitHub issues.</p> <p>Python 3.x will be the programming language used, preferably with NLTK library for the implementation of text mining algorithms.</p> <p>The key deliverables in the final codebase include fetcing and parsing of the input data, data storage, as well as machine learning and information retrieval and extraction methods. All applied to the task of supporting Rucio User requests.</p>
<p><strong>Create reusable technical demos for TensorFlow.js</strong></p><p>The deadline to create an initial application has passed for the December 2021 Outreachy internship cohort. We are no longer accepting initial applications for internships. We encourage you to sign up for the announcements mailing list to get an email when the next round opens. Why apply to Outreachy? > Start your initial application > December 2021 Outreachy internship cohort > TensorFlow Community details are hidden until you are approved to participate as a mentor or coordinator.</p><p><br></p><p><strong>Mentorship Cohort:</strong> 2021</p>
<p><strong>Evolution Data Server: EteSync sync module</strong></p><p>The deadline to create an initial application has passed for the May 2020 Outreachy internship cohort. We are no longer accepting initial applications for internships. We encourage you to sign up for the announcements mailing list to get an email when the next round opens. Why apply to Outreachy? > Start your initial application > May 2020 Outreachy internship cohort > GNOME Community details are hidden until you are approved to participate as a mentor or coordinator.</p><p><br></p><p><strong>Mentorship Cohort:</strong> 2020</p>
<p><strong>Improve Tor Relay IPv6 Network Support</strong></p><p>The deadline to create an initial application has passed for the May 2020 Outreachy internship cohort. We are no longer accepting initial applications for internships. We encourage you to sign up for the announcements mailing list to get an email when the next round opens. Why apply to Outreachy? > Start your initial application > May 2020 Outreachy internship cohort > Tor Project Community details are hidden until you are approved to participate as a mentor or coordinator.</p><p><br></p><p><strong>Mentorship Cohort:</strong> 2020</p>
Qaul is an Internet independent wireless mesh communication app. With qaul, you can communicate directly from one device to another. The aim of this project is to create a matrix bridge between Matrix and qaul which can further help us to broadcast messages over many mediums of communication which are supported by Matrix. Main aim is to implement the relay bridge and double puppeting.
RUXAILAB supports five study types but lacks focus group functionality. This project adds FOCUS_GROUP as a new study type under the Inquiry category, delivering structured session configuration with discussion guides, real-time multi-participant data capture via Firebase RTDB, manual thematic structuring, and NLP-assisted analysis through cost-tiered Python Cloud Functions. Core deliverables include the full focus group lifecycle - create, configure, run, capture, persist, and analyze - following the established Heuristic module architecture. Stretch goals include a LiveKit SFU integration for reliable video, sentiment-analysis-api integration for audio sessions, and a PDF report generator.
<p>RetroShare provides a decentralized, encrypted connection with maximum security between nodes where they can chat, share files, mail, etc. Retroshare uses GXS (Generic eXchange System) that provides Asynchronous distribution, authentication, privacy, security of generic data. My Project aim is to add more feature support into the retro-share Mobile app.</p>
The project aims to extend Gazebo’s mesh loading support by either (A) Using an external open-source library or (B) Writing glTF2 and FBX mesh loaders consistent with the current approach. The new features implemented will be tested using unit and integration tests. In Phase 1, different mesh loading libraries will be collected and compared against each other and with the option of writing original glTF2 and FBX mesh loaders. The comparison metrics include but are not limited to maturity, complexity, integration difficulty, testing difficulty, and required time to implement. The report generated in this phase will be critical for the next phase and the future of the Gazebo’s mesh structure. In Phase 2, the selected approach will be implemented and tested using unit and integration tests with example worlds. Finally documentation will be created for future reference.
<p>Currently no open source SOCKS proxy available for recent kernel versions. In fact router proxification depends on user-space proxy applications. This makes the operation much slower because of the intensive packet copy between kernel space and user-space. With this kernel module low-cost embedded devices can do the proxy function entirely in kernel space which makes the whole operation much faster, avoiding copies.</p>
A major goal for MDAnalysis 3.0 is the “support for streaming and cloud stor- age.”1. A natural extension of this object simply adding the ability to “fetch” more things for the internet. A typical molecular dynamics workflow involves using a shell script to programmatically retrieve online molecular dynamics ob- jects to save on disk, and then running an analysis script. This is rather inconvenient especially considering python strength as a “glue language.” While the user can always download an external library to perform the same functionality, the benefits of integrating downloaders or fetchers should be read- ily apparent. Integrating fetchers would provide a “batteries included” solution to this problem and such code would be inherently more readable and pythonic. Having code where every statement is readable and precise is one of the greatest strengths of Python compared to other languages. Rather than focusing on unfamiliar external libraries or nasty shell scripts, this approach would allow the user to focus on the impor- tant thing. The science! Thus, this proposal seeks to enhance the fetch module in three ways: live downloading of structures, live downloading of trajectories, and providing utilities to ensure file integrity.
GJS is a JavaScript runtime built on Firefox's SpiderMonkey JavaScript engine and the GNOME platform libraries. It allows the use of the GNOME platform libraries in JavaScript programs. GJS powers GNOME Shell, Maps, Characters, Sound Recorder and many other apps. The Debug Adapter Protocol (DAP) defines the abstract protocol used between a development tool (e.g. IDE or editor) and a debugger. DAP makes it possible to implement a generic debugger for a development tool that can communicate with different debuggers via Debug Adapters. DAP is already supported by the most prominent code editors and tools like VS Code, Zed, Emacs, etc… (https://microsoft.github.io/debug-adapter-protocol/implementors/tools/) Today, you can already debug applications and libraries written for/with Android, Node.js, Deno, C, C++, Rust, Python and more (https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/). This proposal aims to make GJS applications and libraries like GNOME Shell, Maps, Decibels etc… debuggable by implementing a DAP adapter for GJS.
Emscripten is an open-source tool used to translate C/C++ code to WebAssembly, allowing web apps to run with near-native performance. WebAssembly is especially popular for web games and other performance-oriented applications. As of March 2023, Emscripten uses an emulated file system written in JavaScript to support C/C++ file system operations in compiled WebAssembly code. Currently, the mentors are working on WasmFS, an emulated file system built in C++/WebAssembly, for Emscripten. However, WasmFS lacks the JavaScript required to connect the existing JS API to the new C++/WebAssembly file system operations. The central goal of this project is to build a new JavaScript library modeled after Emscripten’s existing file system library that will call WasmFS functions instead of JavaScript routines. This approach aims to speed up filesystem operations and lay the foundation to add multithreading in the future. That being said, this project does not aim to redesign the filesystem implementation for Emscripten. This project also will not add new functionality to the Emscripten file system. Finally, this project will not attempt to add full multithreading functionality yet.
<p>I believe that Community Networks' Operating Systems could use the Spectrum Analysis a lot to make better decisions on how they use the electromagnetic field wisely and efficiently.</p> <p>As of now, no Free OS has been using Spectrum Analysis, so they can't know whether the radios are being used efficiently or not.</p> <p>This module would allow all routers that use Atheros radios (the main radio manufaturer around) to see how is the spectrum and take better decisions on which channels they use.</p> <p>Deliverables</p> <ul> <li>Create an OpenWRT/LEDE package to get Spectrum info from the radio.</li> <li>Create a LuCI interface to visualize the Spectrum information retrieved.</li> </ul>
LibreMesh has grown over the past decade with valuable community contributions, but some of its features now duplicate tools available in OpenWrt. This project proposes replacing key LibreMesh modules with OpenWrt-native equivalents (e.g., replacing deferrable-reboot with watchcat, and dnsmasq with odhcpd for DHCP), reducing code redundancy and improving upstream compatibility. It also aims to simplify the system by removing VLANs from routing protocols and creating a lightweight layer-2-only firmware variant for low-resource devices. The result will be a leaner, more maintainable LibreMesh aligned with OpenWrt standards. Deliverables include: migrating to upstream tools, simplifying configurations, testing in both virtual and physical environments, and engaging the community for feedback and adoption.
This project focuses on enhancing the existing functionalities of the control module in SymPy. While the current control module has been significantly developed, there are still several areas that require attention. This proposal aims to address a substantial portion of the remaining work. The project will involve adding interconnections between state space classes, implementing solvers utilizing the ODE module to find the state vector and output vector, integrating a PID controller into the control module, and refactoring old control plots while introducing new ones.
Create a set of automated tasks to install services on a Raspberry Pi to meet the needs of small community-network with an administration/tech team, e.g. a set of commonly needed monitoring tools, such as Prometheus, Prometheus-node-exporter, Blackbox-exporter, Altermanager, Grafana, VPN and an editing map service. Create a set of tasks to replicate the OpenWrt build-system, to provide a reproducible and automated set of instructions, to speed-up the process of self-building images for OpenWrt and/or LibreMesh for newcomers, and to easily setup a dedicated machine. These Ansible roles would include tasks to build for: different architecture and targets, different Openwrt and Libremesh versions, keeping trace of devices with specific packages or particular needs and related patches; keeping a local list of supported targets. With the possibility to later extend the process of build to other automated tasks, like a pub-keys-exchange needed for configuring a VPN, update documentations, or to update the configurations of monitoring services.
Project Description While the Linux network stack evolved throughout the past years with support for new protocols and features, it has become more complex, which introduces overhead and currently hampers its throughput potential. The idea in this proposal is to intercept an incoming data package as soon as possible inside or even before the Linux network stack through the eBPF XDP or TC hook. To implement this, a combination of an eBPF kernel space and a user space program is needed. While the user space will parse OpenWrt Firewall rules and pass them through a BPF map to the eBPF program, the eBPF program will parse incoming packages, apply the rules for matching packages, and redirect or drop the package. Benefits to community networks The OpenWrt community could possibly benefit from higher throughput for traffic on their (CPU-limited) embedded devices. Especially since current WiFi chips are going to provide above 1GBit/s wireless throughput, the need for an efficient data plan for rule-based packet processing (forwarding, mangling, and dropping) is needed. Within this project, we address this with the offloading capabilities from eBPF within the Linux network stack. Milestones * Creation of an eBPF package forwarder * Creation of a user space program for loading and communicating with the eBPF program * Extend the user space program with a Firewall rule parser * Apply the parsed rules on incoming packages in the eBPF program * Evaluate the performance of the implementation (XDP and TC)
Formats like GIF are widely used, however, OpenCV provides a limited support for this format. Noticed that FFmpeg is a dependency of OpenCV and it can support GIF encode and decode, one of my idea is to support GIF encode and decode for imgcodecs with FFmpeg. Also, for animation formats like GIF, imwrite couldn’t provide parameters like frame duration and loop count. Thus, I would like to support writing animation for mats with frame duration and loop count by providing new apis or reload imwrite.
<p>Processing and p5.js are accessible tools that can be easy to understand for the novice programmer and powerful enough for the experienced. With the intention of helping to diversify the potential users and uses of Processing / p5, this proposal outlines a series of enhancements to p5.js.sound, including new effects, presets, and modules for algorithmic composition. These developments will be useful and interesting to electronic musicians interested in visual art, visual artists interested in electronic music, sound artists, and any other potential user of Processing. These developments are inline with the vision of the tool, as they will add features without distracting from its definition as a “flexible software sketchbook”.</p>