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.
Integrate automated 4-bit and 8-bit model weight quantization with fused FlashAttention-2 operators for efficient inference.
<p>Port and Integrate DRM ioctl in NetBSD kernel for Linux binaries running in NetBSD. Convert between 32bit and 64bit DRM ioctl calls. Create a test suit to run and test Linux applications in NetBSD.</p>
<p>Port and Integrate the Kernel Address SANitizer(KASan) in the NetBSD kernel for amd64. Add a new kernel option that will compile the kernel with KASan. Also run Automated Testing Framework(ATF) tests against the kernel and report the bugs.</p>
<p>Nftables is the successor of {ip,ip6,arp,eb}tables as a network filtering and classification framework. Its enhancement is to unite all the tools for different protocols and provide a complex interface to manage them.</p> <p>My plan is to extract the iptables implementation of the TPROXY target, and reuse it to implement native socket match and tproxy support in nftables.</p>
<p>Improve support for NetBSD kernel fuzzing in Syzkaller kernel fuzzer and add support for fuzzing other kernel subsystems.</p>
<p>The goal is to enhance the Linux kernel debugging support on imx8 and imx8m platforms by capturing traces when the DSP panics.</p>
This project enhances the OpenAFS Linux kernel module with multi-page folio support, addressing a key performance limitation in the current implementation. OpenAFS currently interacts with the Linux kernel's memory management system through single-page operations, despite recent kernel versions offering folio APIs capable of managing multiple contiguous pages as a single unit. I will implement comprehensive multi-page folio support in OpenAFS by modifying key components of the cache manager, particularly focusing on the VFS interface layer where the largest performance benefits can be realized. The implementation will optimize read and write paths to efficiently handle larger memory regions while maintaining backward compatibility with older kernel versions through autoconf detection and conditional compilation. By the end of the project, I will deliver: (1) A complete implementation of multi-page folio support that improves performance, especially for sequential read operations common in application deployment; (2) A comprehensive testing framework verifying functionality across multiple kernel versions; (3) Detailed performance benchmarks demonstrating throughput and resource utilization improvements; and (4) Thorough documentation of implementation details to facilitate future maintenance. All code will be submitted as incremental, well-structured patches adhering to OpenAFS coding standards.
<p>To adapt the TriforceAFL kernel syscall fuzzer to effectively catch and report issues in the NetBSD kernel for amd64. TriforceAFL is a modified version of AFL that supports fuzzing using QEMU's full system emulation. Triforce-for-NetBSD will be a syscall fuzzer built on top of TriforceAFL. Fuzz the NetBSD kernel and report bugs that were found. Create a pkgsrc package with TriforceAFL-for-NetBSD.</p>
NAT64 is a transition mechanism from IPv6 to IPv4. it enables IPv6-only clients to communicate with IPv4-only servers. Despite the growing adoption of IPv6, many legacy systems still rely on IPv4. Implementing NAT64 support in NPF will enhance its networking capabilities, ensuring seamless communication between IPv6 and IPv4 networks. Project Goals: The following are the project goals but not limited to this alone: - Extend NPF to support IPv6-to-IPv4 translation - Optimize NAT64 processing within NPF to ensure minimal latency and efficient packet handling, especially in high-traffic environments. - Passing the information to the kernel, and modifying the kernel packet filter code to process the user/group filtering options and allow/drop packets, in addition to Implementing a robust and efficient NAT64 mechanism within NPF packet filters. Deliverables: With a commitment and devotion of 40 hours per week, the project is expected to be completed within 2 months and some days. Guidance from Mentors, personal research, reference implementations from sample codes or other open-source projects (such as Tayga and Jool) can serve as guides to ensure a standards-compliant solution and project completion. Most importantly, Code reviews from mentors and others will definitely help me to solve problems.
<p>This project aims at making Anita, a tool for automated testing of NetBSD, modular, provide support for other virtual machine systems like GXemul and Virtualbox and support testing for as many releases/ports (like NetBSD/evbarm-earmv7hf etc.) as possible. This also includes building releases, testing them and debugging the system files (written in C) to make them work. Currently, Anita only has support for qemu (and experimental support for running NetBSD as Xen DomU). Unlike BSD, Linux has a kernel module known as KVM, which allows a user space program to utilize the hardware virtualization features of various processors and can be utilized by qemu to provide “KVM acceleration” when the target architecture is the same as host architecture. The lack of such support makes qemu really slow on NetBSD. Testing system installation on a wide variety of platforms is very crucial for any organisation that’s into OS business. It can be a frustrating task to do that manually, but, if neglected can be a make or break situation for the OS (adoption/marketing). Automated testing with Anita makes the job a cakewalk. Support for Xen and Virtualbox will further enhance the capabilities of Anita.</p>
Implement automated model quantization pipelines (GPTQ, AWQ) for faster edge-based model compilation.
<p>NetBSD currently doesn’t support Ext4fs. The aim of this project is to extend the code of Ext2fs to add Ext4fs read-only support. Additionally, the new functionality is supposed to be implemented in new files rather than making invasive changes in the files that are shared to some extent with UFS.</p>
<p>Project involves fixing existing issues related to network stack's support for syzkaller, improve coverage by adding new syscalls and ioctl calls for drivers and fuzzing other interfaces in syzkaller.</p>
<p>The Internet Key Exchange Protocol Version 2 can use arbitrary signature algorithms for authentication as described in RFC-7427. Currently, Libreswan supports RSA, RSA-PSS, and ECDSA. This project aims to add support for EdDSA as per RFC-8420.</p>
<p>Multi-packages support permits the generation of multiple binary packages from a single pkgsrc package. This feature is needed to generate <code><package>-debugpkgs</code> (packages containing debug symbols for <code><package></code>); improve organization and/or avoid code duplication (e.g. <code>tex-*</code> packages and their corresponding <code>tex-*-doc</code> packages) and avoid extract, configure phases of certain packages multiple times.</p>
PR_SET_VMA mechanism is used heavily in Android for naming memory regions. It is passed to the prctl(2) system call along with the range of addresses to be named. The name appears in /proc/pid/maps and can be used to identify memory regions for debugging and accounting purposes. The patch has been carried in the Android tree for several years. The patch needs to be adapted to mainline, improved and finally upstreamed. This project will give the mentee a good understanding of virtual memory area structures in the Linux kernel as the name for the memory region is stored in these structures and there are various cases where a memory map needs to be split or merged depending on its name compared to its immediate neighbors.
<p>Libreswan itself currently only supports RSA as Digital Signature Authentication method, so it needs to be extended internally as well to be able to use other methods, such as ECDSA or EDDSA. Implementation of ECC/ECDSA requires the modification of the existing Libreswan public key code to fix the RSA only parts so that it is able to accept different new types of keys in the future ( not just limited to EDDSA ). Libreswan will then be compliant to RFC-7427 and RFC-8247.</p>
<p>Lua is a powerful, efficient, lightweight and dynamically typed scripting language supporting a variety of different programming paradigms. Typed Lua extends Lua with an optional type system allowing the use of both static and dynamic typing in the same code base, while preserving existing Lua run-time semantics. It achieves that by introducing optional type annotations and applying local type inference. This richer type system not only enforces stronger program behavior guarantees, but also facilitates the development of more powerful developer tools.</p> <p>Programmers nowadays expect that their editors/IDEs suggest accurate completion candidates, perform asynchronous - as you type - error checking and support type queries such as "go to definition" or "find all references".</p> <p>The main goal of the project is to add such features for Typed Lua in a wide range of popular editors. Furthermore, it shall be investigated how a modern, asynchronous editor plugin architecture could be designed.</p>
<p>This project will involve further modification of the Arduino IDE to support more features of the céu language. This will include support for another céu binding which is pico-céu as well as adding some rich features such as a graphical debugger and improving support for the syntax of the Céu language in the IDE through auto formatting, auto indentation and code folding.</p>
LuaSQL currently does not support prepared statements, which are widely used in modern database applications for performance, security, and efficient query execution. Without this feature, applications must repeatedly send full SQL queries to the database, which prevents query reuse and makes parameter binding difficult. This project will design and implement a minimal and portable prepared statement API for LuaSQL. The API will introduce a new Statement object with methods such as prepare, bind, execute, and close. The design will follow LuaSQL’s existing conventions and ensure that the interface can be implemented consistently across different database drivers. The implementation will focus on the Oracle OCI8 driver as the first complete backend. It will support parameter binding, statement reuse, cursor integration, and proper resource management. Special attention will be given to handling cursor lifecycles and ensuring consistent behaviour across different DBMS APIs. At the end of the project, LuaSQL will include a working prepared statement API, a full OCI8 driver implementation, comprehensive tests, and updated documentation so that other drivers can implement the same interface in the future.
Pallene is a statically typed companion language to Lua, designed to write performance sensitive part of it. Pallene has a very similar syntax as Lua, sharing its runtime as well. Pallene is Ahead-of-Time compiled language, compiling into C before getting compiled into a Lua module. As the situation stands for Lua stack trace, it does not store any line number information for any native C call, which Pallene eventually ends up using. There are also missing traces when a Pallene function calls another Pallene function as the call is in Pallene environment and completely oblivious to Lua. This proposal aims to fix that issue in Pallene, improving its overall debugging support.
Our task here is to build an eSCL scan interface to the programme so that it can imitate an eSCL scanner. The most prevalent communication protocol for driverless scanning is eSCL, which is also used by AirPrint. eSCL is the HTTP-based protocol that Apple employs for AirScan, which is accessible on all multi-function printers that also support AirPrint and is meant to facilitate scanning from Apple's iOS-enabled mobile devices. The specifications of eSCL are not published, however as an HTTP-based protocol, it was not difficult for the creators of eSCL-related applications to reverse-engineer. With these apps already in place, we will port them to PAPPL and build tests for them.
The goal of this project is to get a full GNOME desktop installed and work with musl, which Gentoo provides as the drop-in alternative for Glibc, the C standard library for Linux. GNOME is a free and open-source desktop environment for Linux operating systems and is developed by the GNOME Project, which is composed of both volunteers and paid contributors. musl is a C standard library intended for operating systems based on the Linux kernel. It was developed by Rich Felker to write a clean, efficient, and standards-conformant libc implementation.
<p>So as to handle huge volumes of data generated due to distributed and scalable nature of PCP, Redis an in-memory NoSQL data cache is being used in PCP for search and serving time series performance data. Since PCP metadata and data keys are distributed across potentially many Redis servers, Redis nodes need to communicate with one another for data access/transfer. Communication between Redis nodes (Redis clients with the Redis servers) is carried out by protocol called RESP (REdis Serialization Protocol). As Redis protocol (RESP) and the pmproxy'd PCP protocol can co-exist, the main goal of this project is extending pmproxy to support RESP such that an arbitrary Redis client can access the distributed key store using the direct key-to-server mapping mechanism used by the existing PCP time series code. Sub-goals include integrating libuv library with pmproxy. libuv is a multi-platform support library with a focus on asynchronous I/O.</p>