Open Source C Software - Page 45

C Software

C Clear Filters

Browse free open source C Software and projects below. Use the toggles on the left to filter open source C Software by OS, license, language, programming language, and project status.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 1
    Aquila OS

    Aquila OS

    AquilaOS: UNIX-like Operating System

    Aquila is a minimalist operating system kernel written in C++ from scratch, aiming to offer a clean and understandable implementation of low-level OS concepts. Designed for x86_64 systems, Aquila includes its own bootloader and supports protected mode operations. It features a modular architecture with components for memory management, interrupts, and basic task scheduling. As a learning tool or hobby OS project, Aquila focuses on clarity, with an emphasis on educational documentation and well-organized code.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 2
    Breakpad

    Breakpad

    Mirror of Google Breakpad project

    Breakpad is an open source crash reporting system developed by Google that provides both client and server components to capture, analyze, and report software crashes across platforms. It is designed to help developers diagnose and fix crashes efficiently by generating detailed crash dumps, stack traces, and diagnostic data whenever an application fails unexpectedly. The framework includes libraries for embedding crash-handling functionality directly into applications and tools for processing and symbolizing crash dumps on the server side. Breakpad supports multiple operating systems, including Linux, macOS, and Windows, and integrates easily into existing build systems. Its flexible architecture enables developers to automate crash collection and reporting pipelines, making it a popular choice for large-scale software projects and products.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    Criterion

    Criterion

    A cross-platform C and C++ unit testing framework for the 21st century

    Most test frameworks for C require a lot of boilerplate code to set up tests and test suites -- you need to create a main, then register new test suites, then register the tests within these suites, and finally call the right functions. This gives the user great control, at the unfortunate cost of simplicity. Criterion follows the KISS principle, while keeping the control the user would have with other frameworks. Supports parameterized tests and theories. Progress and statistics can be followed in real time with report hooks. TAP output format can be enabled with an option. Runs on Linux, FreeBSD, macOS, and Windows (Compiling with MinGW GCC and Visual Studio 2015+). If you'd like to see Criterion included in your favorite distribution, please reach out to their package maintainers team. A default entry point is provided, no need to declare a main unless you want to do special handling.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    Crown Engine

    Crown Engine

    The flexible game engine

    Crown is a general-purpose and data-driven game engine, written in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. Every aspect of the game is controlled through text configuration files. Before shipping, configuration files are compiled to efficient platform-specific binary blobs. Data in memory is organized to achieve the maximum performance possible on every platform. Every game asset is hot-reloadable, code included. Evaluate modifications and adjustments on-the-fly without having to reboot the game every time. Runs and looks equally well both on Linux and on Windows. Designed to be as fail-safe as possible to never lose your work if crashes should occur. Engine plus tools amounts to less than 50K LOC. Written in simple 'C-style' C++. It is easy for anyone to understand and make modifications. All the code is released under the very permissive MIT license and can be downloaded via GitHub by anyone.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    Let your crypto work for you

    Put idle assets to work with competitive interest rates, borrow without selling, and trade with precision. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 5
    Expat

    Expat

    Fast streaming XML parser written in C99 with >90% test coverage

    Welcome to Expat, a stream-oriented XML parser library written in C. Expat excels with files too large to fit RAM, and where performance and flexibility are crucial. There are a number of applications, libraries, and hardware using Expat, as well as bindings and 3rd-party wrappers. Expat is packaged everywhere. This is Expat, a C99 library for parsing XML 1.0 Fourth Edition, started by James Clark in 1997. Expat is a stream-oriented XML parser. This means that you register handlers with the parser before starting the parse. These handlers are called when the parser discovers the associated structures in the document being parsed. A start tag is an example of the kind of structure for which you may register handlers.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    FRRouting

    FRRouting

    The FRRouting Protocol Suite

    FRRouting (FRR) is a free and open-source Internet routing protocol suite for Linux and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric and VRRP, with alpha support for EIGRP and NHRP. FRR’s seamless integration with native Linux/Unix IP networking stacks makes it a general-purpose routing stack applicable to a wide variety of use cases including connecting hosts/VMs/containers to the network, advertising network services, LAN switching and routing Internet access routers, and Internet peering. FRR has its roots in the Quagga project. In fact, it was started by many long-time Quagga developers who combined their efforts to improve on Quagga’s well-established foundation in order to create the best routing protocol stack available. We invite you to participate in the FRRouting community and help shape the future of networking.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    GIMP Plugin Pixel Art Scalers

    GIMP Plugin Pixel Art Scalers

    Gimp plugin for scaling / rescaling images

    The GIMP Plugin: Pixel Art Scalers is a tool for rescaling images using algorithms optimized for pixel art, such as HQX, XBR, and ScaleX. These scalers resize graphics while preserving the sharpness and clarity of pixel art, avoiding blurring and pixelation. The plugin integrates into GIMP's interface, providing users with options to adjust scaling parameters and improve the quality of upscaled images.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    HP Socket

    HP Socket

    High Performance TCP/UDP/HTTP communication component

    Server Based on IOCP/EPOLL communication model, combined with technology of memory pool, private heap etc., efficient memory management is implemented to support large scale and high concurrent communication scenarios. Agent The Agent component is essentially a Multi-Client component that uses the same technical architecture as the Server component. An Agent component object can create and efficiently handle large-scale Socket connections at the same time. Client Based on Event-Select/POLL communication model, each component object creates a communication thread and manages a Socket connection. Client components are suitable for small-scale client scenarios.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    HYPRE

    HYPRE

    Parallel solvers for sparse linear systems featuring multigrid methods

    Livermore’s HYPRE library of linear solvers makes possible larger, more detailed simulations by solving problems faster than traditional methods at large scales. It offers a comprehensive suite of scalable solvers for large-scale scientific simulation, featuring parallel multigrid methods for both structured and unstructured grid problems. The HYPRE library is highly portable and supports a number of languages. Work on HYPRE began in the late 1990s. It has since been used by research institutions and private companies to simulate groundwater flow, magnetic fusion energy plasmas in tokamaks and stellarators, blood flow through the heart, fluid flow in steam generators for nuclear power plants, and pumping activity in oil reservoirs, to name just a few areas. In 2007, HYPRE won an R&D 100 award from R&D Magazine as one of the year’s most significant technological breakthroughs.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Try Free
  • 10
    Jansson

    Jansson

    C library for encoding, decoding and manipulating JSON data

    Jansson is a C library for encoding, decoding and manipulating JSON data.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    Learning Bitcoin from the Command Line

    Learning Bitcoin from the Command Line

    A complete course for learning Bitcoin programming and usage

    Learning Bitcoin from the Command Line is a tutorial for working with Bitcoin (and Lightning) that teaches direct interaction with the servers themselves, as the most robust and secure way to begin cryptocurrency work. This is a draft in progress, so that I can get some feedback from early reviewers. It is not yet ready for use. Learning Bitcoin from the Command Line is a project of Blockchain Commons. We are proudly a "not-for-profit" social benefit corporation committed to open source & open development. Our work is funded entirely by donations and collaborative partnerships with people like you. Every contribution will be spent on building open tools, technologies, and techniques that sustain and advance blockchain and internet security infrastructure and promote an open web. We are also tentatively considering what we could include in a v3.0 of the course.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    Mozilla JPEG Encoder Project

    Mozilla JPEG Encoder Project

    Improved JPEG encoder

    MozJPEG improves JPEG compression efficiency achieving higher visual quality and smaller file sizes at the same time. It is compatible with the JPEG standard, and the vast majority of the world's deployed JPEG decoders. MozJPEG is compatible with the libjpeg API and ABI. It is intended to be a drop-in replacement for libjpeg. MozJPEG is a strict superset of libjpeg-turbo's functionality. All MozJPEG's improvements can be disabled at run time, and in that case it behaves exactly like libjpeg-turbo. MozJPEG is meant to be used as a library in graphics programs and image processing tools. We include a demo cjpeg command-line tool, but it's not intended for serious use. We encourage authors of graphics programs to use libjpeg's C API and link with MozJPEG library instead. Progressive encoding with "jpegrescan" optimization. It can be applied to any JPEG file (with jpegtran) to losslessly reduce file size.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    NATMap

    NATMap

    TCP/UDP port mapping for full cone NAT

    This project is used to establish a TCP/UDP port mapping from an ISP NAT public address to a local private address. If all layers of NAT are full cones (NAT-1), any host can access internal services through the mapped public address. In bind mode, all traffic does not go through this program.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    NX-Shell

    NX-Shell

    A multi-purpose file manager for the Nintendo Switch

    NX Shell is a multi-purpose file manager for the Nintendo Switch that aims towards handling various file types while keeping the basic necessities of a standard file manager. Initially, the project was inspired by LineageOS/CyanogenMod's file manager for android, and even had a similar design approach to that of the famous Android file manager. However, it has been re-written from scratch, now using more up to date tools and libraries.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    OBS Linux Vulkan/OpenGL game capture

    OBS Linux Vulkan/OpenGL game capture

    OBS Linux Vulkan/OpenGL game capture

    obs-vkcapture is a Vulkan layer and OBS Studio plugin that enables capturing of Vulkan-rendered content in real time, solving a long-standing limitation in game recording and streaming. It works by injecting a Vulkan layer into applications, intercepting rendering calls, and redirecting frame data to OBS Studio without requiring special in-game support. This is particularly useful for modern Vulkan-based games or tools that lack native screen capture hooks. It’s lightweight, efficient, and actively maintained by the community.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    OpenGNB

    OpenGNB

    GNB is open source de-centralized SDVN to achieve layer3 network

    OpenGNB is an open-source implementation of a 5G NR (New Radio) gNodeB base station, aimed at democratizing access to mobile communication infrastructure. Built using SDR (Software Defined Radio) principles, it allows researchers, developers, and enthusiasts to deploy and experiment with 5G RAN technology using commodity hardware. OpenGNB integrates with open-core networks and provides a valuable tool for advancing innovation in private 5G networks, research labs, and rural communication deployments.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    OpenXR SDK Sources Project

    OpenXR SDK Sources Project

    Sources for OpenXR loader, basic API layers, and example code

    This repository contains source code and build scripts for implementations of the OpenXR loader, validation layers, and code samples. OpenXR is a royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR), collectively known as XR platforms and devices. Without a cross-platform standard, VR and AR applications and engines must use each platform’s proprietary APIs. New input devices need customized driver integration. OpenXR provides cross-platform, high-performance access directly into diverse XR device runtimes across multiple platforms. OpenXR enables applications and engines, including WebXR, to run on any system that exposes the OpenXR APIs.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    PortableGL

    PortableGL

    An implementation of OpenGL 3.x-ish in clean C

    PortableGL is a single-header, software-only implementation of a subset of OpenGL (specifically the GL 2.1 pipeline), designed to run entirely on the CPU. This lightweight graphics library allows OpenGL-style rendering without GPU acceleration, making it ideal for educational use, debugging, embedded systems, and retro-style software rendering. Because it mirrors OpenGL syntax and design, it can act as a drop-in CPU renderer for testing or deploying 3D graphics on platforms without GPU support.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    SPI FLASH Library for STM32

    SPI FLASH Library for STM32

    W25qxx, N25Qxx and other SPI FLASH driver for stm32 HAL

    W25qxx, N25Qxx, and other SPI FLASH drivers for stm32 HAL.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    Shairport Sync

    Shairport Sync

    AirPlay audio player

    Shairport Sync adds multi-room capability with audio synchronization. Shairport Sync is an AirPlay 1 audio player. Switch to the development branch for a version with limited AirPlay 2 functionality. Shairport Sync plays audio streamed from iTunes, iOS, Apple TV and macOS devices and AirPlay sources such as Quicktime Player and OwnTone, among others. Audio played by a Shairport Sync-powered device stays synchronized with the source and hence with similar devices playing the same source. In this way, synchronized multi-room audio is possible for players that support it, such as iTunes and the macOS Music app. Shairport Sync runs on Linux, FreeBSD and OpenBSD. It does not support AirPlay video or photo streaming. Shairport Sync offers full audio synchronization, a feature of AirPlay that previous implementations do not provide. Full audio synchronization means that audio is played on the output device at exactly the time specified by the audio source.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    Shell Script Compiler

    Shell Script Compiler

    Shell script compiler

    shc is a shell script compiler that converts shell scripts into executable binaries. It enhances script security by obfuscating the source code, making it useful for distributing proprietary scripts.​
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    Skynet

    Skynet

    A lightweight online game framework

    Skynet is a lightweight online game framework which can be used in many other fields. Skynet is a lightweight framework designed for online game servers. Although from the feedback of the Community , it's not limited as a game server framework. On the Uses page, it shows a few projects that have used or currently using Skynet, but there are way more projects than listed. And welcome to be the next user. For Linux, install autoconf first for jemalloc. For FreeBSD , use gmake instead of make. Skynet now uses a modified version of lua 5.4.2 for multiple lua states. Official Lua versions can also be used as long as the Makefile is edited. With Socket API and SocketChannel , which makes it easier to implement socket pool and reconnect, you can use Skynet to call socket even asynchronously. Skynet doesn't force a specific protocol, you can come up with your own design.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23
    Taisei Project

    Taisei Project

    A free and open-source Touhou Project fangame

    Taisei is a free, open-source clone of the Touhou Project bullet hell shoot-'em-up games, written entirely from scratch. It aims to be a faithful recreation of the classic Touhou gameplay experience, complete with original assets that capture the aesthetics and charm of the original series. Built using portable and modern tools, it runs across platforms including Linux, Windows, macOS, and even web browsers via WebGL. The game is designed with accessibility and modding in mind, making it an appealing entry point for both players and developers.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    Tig

    Tig

    Text-mode interface for git

    Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands. Tig allows you to browse changes in a Git repository and can additionally act as a pager for output of various Git commands. When used as a pager, it will display input from stdin and colorize it. When browsing repositories, Tig uses the underlying Git commands to present the user with various views, such as summarized commit log and showing the commit with the log message, diffstat, and the diff. If stdin is a pipe, any log or diff options will be ignored and the pager view will be opened loading data from stdin. The pager mode can be used for colorizing output from various Git commands. All Git command options specified on the command line will be passed to the given command and all will be shell quoted before they are passed to the shell.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    Unified Communication X

    Unified Communication X

    Communication framework for data-centric high-performance applications

    Accelerate Your Network Performance with UCX. Collaboration between industry, laboratories, and academia to create an open-source, production-grade communication framework for data-centric and high-performance applications. Unified Communication X (UCX) is an award winning, optimized production proven communication framework for modern, high-bandwidth and low-latency networks. UCX exposes a set of abstract communication primitives which utilize the best of available hardware resources and offloads. These include RDMA (InfiniBand and RoCE), TCP, GPUs, shared Memory, and network atomic operations. UCX facilitates rapid development by providing a high-level API, masking the low-level details, while maintaining high-performance and scalability. UCX implements best practices for transfer of messages of all sizes, based on accumulated experience gained from applications running on the world’s largest datacenters and supercomputers.
    Downloads: 3 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB