Free C Projects
Table of Contents
-
GNU Libc
(Portable POSIX and ISO standard compliant C library. License: LGPL)
(cvs)
(ml)
(manual)
(FAQ)
(deb)
- OSSP Library Projecst
(Large collection of libraries providing: portable threading, network
programming abstraction, process management, filesystem abstraction,
data management, exception handling, and more. License: GPL/LGPL/BSD-style)
(cvs)
- Diet Libc (Lightweight Libc. License: GPL)
- uClibc (Lightweight Libc. Suitable for MMU-less CPU's.)
(cvs)
(ml)
(deb)
- Libowfat (GPL licensed reimplemention
of Libdjb, which tries to increase security and portability for several basic
libc functions. License: GPL)
(deb)
- c2lib (Perl and STL influenced
library of general programming tools. License: LGPL)
- libmba (Collection of
C functions that can be useful to any project. Included features: hash map,
linked list, stack ADTs, a DOM-like interface that can load and store XML
files for simple XML processing, and more. License: BSD-style)
(source)
- Vstr (Dynamic string library.
License: GPL)
- GNU Readline
(Library for use by applications that allow users to edit command lines as
they are typed in. License: GPL)
- libConfuse
(Configuration file parser library. License: LGPL)
(cvs)
(ml)
- spconfig ("XML-like syntax
with some additional preprocessor-style commands" configuration file parser
library. License: BSD-style)
- PCRE (Regular expression engine,
with a native API and a POSIX API.
License: PCRE License,
which has a GPL and LGPL supersede clause.)
- Rx-XML and Rx-Posix
(Regular expression engine for XML parsers and POSIX regexp function
implementations. License: GPL)
- LibXML
(DOM and
SAX parser library with XML DTD validation.
(ml)
License: BSD-style)
- libXSLT
(XSLT and
EXSLT
parser library for the transformation for XML documents. License: BSD-style)
(ml)
- EXSLT (Community initiative to provide
extensions to XSLT. License: ?)
(ml)
- Parsifal
(SAX2 compliant, non-validating XML parser library. License: none,
it is public domain)
(source)
- ezXML
(Small XML parser library. License: BSD-style)
- DOMC
(DOM API library for
manipulating XML and HTML documents as a tree of nodes in
memory. License: BSD-style)
(source)
- RLIB
(Report generation library, based on
LibXML and Glib. License: GPL)
- CWXML
(Library for parsing and generating XML and
BXML,
aka Binary XML. License: LGPL)
- libwxml
(Library for parsing and generating
WBXML, aka "WAP Binary XML".
License: LGPL)
(cvs)
- Redland RDF Application Framework
(Framework for creating RDF applications. License: LGPL or Apache License v2.0)
(cvs)
(ml)
- Redland Rasqal
(Library which handles RDF query syntaxes, query construction and
query execution returning result bindings. License: LGPL and MPL)
(cvs)
(ml)
- Redland Raptor
(Library which parses RDF syntaxes such as RDF/XML and N-Triples into
RDF triples. License: LGPL and MPL)
(cvs)
(ml)
- libsieve (Library
implementation of the Sieve
based mail filtering language standard. License: BSD-style)
(cvs)
(ml)
- libextractor (Library
for extracting keywords from files. License: GPL)
(source)
- NPTL
(Native POSIX Thread Library. Project to improve the POSIX
threading for the GNU C library and the Linux kernel. License: LGPL)
(announcement v0.1)
- Protothreads
(Stackless threading library for memory constrained systems, such as
embedded systems. License: BSD-style)
- NGPT (Next Generation POSIX Threads.
Variant of the GNU Pthread threading library with several POSIX compliant
enchangements.
License: LGPL)
(cvs)
(ml)
- State-Threads (Threading library
with an 'event-driven state machine architecture'. License: GPL or MPL)
(ml)
- GSL (GNU Scientific Library. A numerical library with a C and C++ API, which currently provides more than a 1000 mathematical functions. License: GPL) (cvs) (ml)
- OOL ("Open Optimization Library". GSL
based library providing various optimization functions. License: GPL) (cvs)
- Tina (Algorithm development libraries. License: LGPL)
- GMP (Library for arbitrary precision arithmetic for: signed integers, rational numbers, and
floating point numbers. License: LGPL) (ml)
- LibTomMath (Library for arbitrary precision integer arithmetic. License: BSD-style)
- GnuTLS(TLS implementation, used for transport layer security, using encryption and authentication based on certificates. License: LGPL) (cvs) (ml)
- MatrixSSL (TLS library. License: GPL)
- yaSSL (TLS library. License: GPL)
- OpenSSL (TLS library. License: BSD-style with anti-license-mixture clause) (cvs) (ml)
- Nettle (Low-level cryptographic library. License: GPL)
- LibTomCrypt (Portable crypto library. License: BSD-style)
- libike (Portable library for managing IKE negotiations. License: BSD-style with source requirement)
- borZoi(Elliptic curve cryptography library. License: GPL)
- GAUL (Genetic Algorithm Utility Library. Library to help build programs which use genetic algorithms. License: GPL) (cvs) (ml)
- FFTW (Library for computing the Discrete Fourier Transform in one or more dimensions, of both real and complex data, and of arbitrary input size. Inactive project. License: GPL)
- librsync (Library which implements the rsync algorithm, which can transfer the differences between two files without needing both
files on the same system. License: LGPL) (cvs)
- AVLMAP (Library for managing an AVL balanced binary tree and searching through it. License: LGPL)
- Mhash (Library whith a uniform interface to several different hash functions. License: LGPL) (cvs) (ml) (ml)
- libghthash ('Generic hash table' library which is meant to be easy to extend, portable, clear in its code and easy to use. License: LGPL)
- Harminv (Library for solve numerical problems using harmonic inversion. License: GPL)
- PJSIP
(SIP networking library)
(ml)
- libdnet
(Library provides a simplified, portable interface to several low-level
networking routines, including: network address manipulation,
ARP/ARP-cache/route table lookup. License: BSD-style)
(cvs)
(ml)
- xmlrpc
(XML-RPC library implementation.
License: BSD-style)
(cvs)
(ml)
- libcurl
(Library which helps the writing of Un*x daemons. License: BSD-style)
(cvs)
(ml)
- libdaemon
(Library which helps the writing of Un*x daemons. License: GPL)
- uri (URI parser library.
License: GPL)
(cvs)
- GNU SASL
(SASL standard
implementation which can provide a generic framework for the following
authentication mechanisms: CRAM-MD5, DIGEST-MD5, GSSAPI and NTLM.
License: LGPL)
(cvs)
- Cyrus SASL
(SASL implementation)
(cvs)
(ml)
- Shushi (implementation of
the RFC 1510,
the Kerberos network authentication system. Shushi can be used to
authenticate users in distributed systems. License: GPL)
(cvs)
- GSS Generic Security Service.
GSS-API v2 implementation
which makes use of the Sushi library.) License: GPL)
(cvs)
- libESMTP (Library
which implements the SMTP protocol. libESMTP is meant to be a generic API
for software which needs to submit email messages trough SMTP. License: LGPL)
(ml)
- libspopc (POP3 client
library. License: LGPL)
- HTTP Fetcher
(HTTP client library. License: LGPL)
(cvs)
(ml)
- libwebserver (Library
which implements an HTTP server. License: GPL)
(cvs)
- libsoup
(GNOME library which implements the HTTP
protocol. License: LGPL)
(cvs)
- LibCGI (Library to create
CGI based web applications. support for string manipulation, linked lists,
cookies, sessions, GET and POST methods, and more. License: LGPL)
(cvs)
- oSIP (Library
which implements the
Session
Initiation Protocol. License: LGPL)
- libpdpt
(Client library for PDTP.
PDPT is a peer-to-peer system for distributing file system directory
hierarchies. License: BSD-style)
(svn)
(ml)
- libusb (Portable
user-space library for accessing USB devices. License: LGPL)
(cvs)
(ml)
(EML "EarthMate Userland Library"
libusb based library for access to USB devices. License: GPL)
(svn)
- FSPLIB
(Library implementation of the UDP based "File Service Protocol". License: BSD-style)
(cvs)
(cvs)
- libpcap (Library for
analyzing network traffic. License: BSD-style)
(ml)
- Neon (HTTP and
WebDAV client library. License: LGPL)
(cvs)
(ml)
- uIP (Tiny TCP/IP stack implementation
designed for use on 8-bit microcontrollers.
License: BSD-style)
- pthrlib (Library for
writing small and efficient network server software. License: LGPL)
- RoadRunner (Library which
implements the BEEP protocol.
BEEP is designed to simplify and improve the design of connection oriented
network application protocols. See also this BEEP implementation:
beepcore.org. License: BSD-style)
- linc (Library to
ease the development of network servers & clients written in C.
There is currently support for IPv4, IPv6, Un*xDomain sockets, IrDA and
OpenSSL. License: GPL)
- libping (Library
to make ICMP_ECHO requests directly from a script or program. Libping can
also check TCP/IP services like: SMTP, HTTP and POP3. The functions return
either a boolean 'is alive' or the round-trip time in milliseconds. License: GPL)
- EPS (Email Processing System.
Initiative to create a well documented API for writing efficient email
processing tools. License: GPL)
- libVNCServer (Library for
writing VNC server applications. License: GPL)
(cvs)
- liboggz
(Library for reading Ogg Vorbis audio streams/files. License: BSD-style)
- libfishsound
(Library for reading Vorbis Speex audio streams/files. License: BSD-style)
- libsndfile (Library for
reading and writing sampled sound files. License: LGPL)
- libsamplerate (Library for
rate converter of audio samples. License: LGPL)
- Gegl ("Generic Graphical Library".
Image processing library, mainly developed for
The GIMP. License: LGPL)
(cvs)
- Little CMS
(Image color management library. License: BSD-style)
(ml)
- VIPS (VASARI Image
Processing Software. Image processing library with about 200 image
processing operations. NIP is the GTK+ based GUI for VIPS. License: GPL)
(ml)
- DevIL ("Developer's Image
Library". Portable image manipulation library. License: LGPL)
(cvs)
(ml)
- GD (Library for the
dynamic creation of PNG/JPEG images. License: BSD-style)
- Poppler
(PDF rendering library based on
Xpdf
(cvs)
(ml)
- spurtg (Real-time graphics
renderer based on input from the soundcard. License: GPL)
- Mesa3D (Portable 3D
graphics library, with an API similar to Op*nGL. License:
see this page)
(cvs)
(ml)
- FreeGLUT
(Free implementation of the 'Op*nGL Utility Toolkit' library.
FreeGLUT provides a simple windowing API based on Op*nGL. License: BSD-style)
(cvs)
(ml)
- SDL ("Simple DirectMedia layer".
Advanced and portable 2D/3D multimedia & game development library.
License: LGPL)
(cvs)
(ml)
(game projects)
- Allegro
(3D game and multimedia development library. License:
Allegro Giftware)
(cvs)
(ml)
- vlib
(3D image processing library. License: GPL)
- GTS
("GNU Triangulated Surface". Library for manipulating 3D surfaces meshed
with interconnected triangles. License: LGPL)
(cvs)
(ml)
- libsndfile (Library for
reading and writing sampled sound files. License: GPL)
- libjpeg (Patent free
JPEG image
format library implementation for lossy image compression.
License: BSD-style)
- libtiff (Free
TIFF image
format library implementation for storing raster-image data.
License: BSD-style)
(libgeotiff
extension of libtiff with a geospatial meta-tag data structure)
(cvs)
(ml)
- libpng
(PNG image format read/write library. License: BSD-style)
(libmng (The MNG, aka
Ming, animated PNG image format)
- librsvg (Library for
rendering SVG files to other, more conventional types, such as JPEG
and PNG. License: LGPL)
(cvs)
(ml)
- JBIG-KIT (Library
implementation of the
JBIG bi-level image
compression standard, optimized for reading and writing of high-resolution,
scanned documents. License: GPL)
- DjVuLibre (Image encoding and
decoding program, including several other tools, for using the lossy
image format DjVu.)
(patent comments)
- libbsb (Library for
reading/writing BSB raster image files. This package includes
several tools, like: bsb2tif, tif2bsb, ppm2bsb, bsb2ppm. License: LGPL)
(cvs)
- Shapelib
(Library for reading and writing ArcView Shapefiles. License: LGPL)
- GTK+ (The GIMP Toolkit. A portable C based GUI toolkit. License: LGPL)
(ml)
- GtkGLExt (C and C++ library
interface to use Op*nGL operations via GTK+ widgets. License: LGPL)
(cvs)
(ml)
- GNOME ("GNU Object Model Environment".
GUI application framework based on GTK+)
- Xfce
(GUI application framework based on GTK+)
(cvs)
(ml)
(forum)
(blog)
- PIXEL (GUI toolkit
build on Microwindows and Nano-X. PIXEL is aimed at embedded
desktop systems and comes with a set of desktop applications.
License: GPL)
(ml)
- MiniGUI (Lightweight GUI toolkit. License: LGPL)
(source)
- PicoGUI (Lightweight GUI toolkit. License: LGPL)
(cvs)
(ml)
- MicroWindows (Lightweight GUI
toolkit. License: MPL)
(ml)
- Lesstif (Sourcecode compatible
library for creating GUI applications which use OSF/Mot*f. License: LGPL)
(cvs)
(ml)
- libcdio
(Library for reading and controlling CD/DVD-ROM device access)
(cvs)
- libUSB
(Library for accessing
USB
devices. License: LGPL)
(cvs)
(ml)
- libDsk (Library for
accessing discs and disc image files. License: LGPL)
- libjsw (Library which
provides a uniform joystick interface for developers and a uniform calibration
interface for users. License: GPL)
- libchipcard (Library for accessing
chip cards via a chipcard reader. It supports most chipcard readers for which
there is a CTAPI or PC/SC device driver. License: LGPL)
(cvs)
(ml)
- SCTK (Smart Card ToolKit.
Library and associated tools for accessing smart cards. Supported:
ISO7816
asynchronous smartcard interface specification, PIC-based cards, SPI/AVR programming
mode, internal/external i2c. License: GPL)
- libquantum (Quantum computer
simulation library. License: GPL)
- CppUnit (Framework
for automatic unit testing. License: GPL)
- Yada
(C based database independent abstraction layer)
- LibDBI (Database
independent abstraction layer for C. License: LGPL)
(cvs)
(ml)
- Berkeley DB
(ACID compliant, embedded, database engine. License: BSD-style with
source requirement)
- SQLite (ACID compliant,
embeddable, mostly SQL compliant RDBMS. License: none, it is Public Domain.)
(cvs)
- SHSQL
(Embedded SQL database library, which stores
data in ASCII text files. License: GPL)
- LibSDB (Portable database independent
abstraction layer for C. License: LGPL)
- Bond
("Building Object Network Databases". Library for creating
database utilizing GUI applications described in XML files. License: GPL)
- libRASCH
(Pluggable library which provides a common interface for viewing and
processing of measurement data which is stored in different
data formats.
License: LGPL)
(ml)
- FANN
("Fast Artificial Neural Network Library". License: LGPL)
(cvs)
- Ellogon
(Multi-lingual, general-purpose text research framework.
Ellogon includes a KDE based visualization tool and API bindings
for C++, Perl, Python and other programming languages. License: LGPL)
(forum)
- Gretl (Gnu Regression,
Econometrics and Time-series Library. Library with functions
relating to
econometric
estimation. Gretl includes a command-line client program and a GNOME
client. License: GPL)
(cvs)
(ml)
- MinGW (GCC extensions and libraries
to produce native M$ w32 programs. License:
MingW licensing terms.)
(cvs)
- TCC (Tiny C Compiler.
"The Smallest ANSI C compiler" which can also easily be used for
interpreting C scripts. License: GPL)
(ml)
- DJGPP (GCC based C/C++
compiler for x386's running M$ DOS. License: GPL and LGPL)
- Cint (C/C++ Interpreter.
Inactive project. License: BSD-style and GPL)
- cdo (GNU Bash based C
one-liner interpreter. License: GPL)
- CIL ("C Intermediate
Language". High-level language representation along with a set of tools that allow
for easy analysis and source-to-source transformation of C programs.
License: BSD-style)
- SDCC ("Small Device C Compiler".
C compiler that targets: "Intel 8051", "Maxim 80DS390" and the "Zilog Z80"
based MCUs. License: GPL)
- ABIcheck (Utility for checking
an application binary's use of library interfaces against the Application Binary
Interface (ABI) defined for those libraries. License: LGPL)
(cvs)
(ml)
- GNU Project (Most
GNU software is written in C)
- Network Services (Most
network service software is written in C)
- Embutils (Lightweight standard
system utilities. License: GPL)
- Books by Richard Stevens (Computer scientist
and author of some of the best books on Un*x and TCP/IP network programming)