GNU Package Blurbs

The following list gives short blurbs for official GNU packages with links to their home pages. More documentation of GNU packages.

logo for 3dldf 3DLDF

GNU 3DLDF supports 3D drawing with output to the MetaPost format via a language similar to Metafont. It is primarily intended to provide a means of creating 3D content for TeX documents, but it can also create animations containing text typeset by TeX. (doc)

logo for 8sync 8sync

8sync (pronounced “eight-sync”) is an asynchronous programming library for GNU Guile. It makes use of delimited continuations to avoid a mess of callbacks, resulting in clean, easy-to-read, non-blocking code. (doc)


GNU a2ps converts almost anything to a PostScript file, ready for printing. It accomplishes this by being able to delegate files to external handlers, such as Groff and Gzip. It handles as many steps as is necessary to produce a pretty-printed file. It also includes some extra abilities for special cases, such as pretty-printing --help output. (doc)


GNU acct provides a means for system administrators to determine system usage patterns. It provides information on, for example, connections, programs executed, and system resources used. (doc)


GNU ACM is a flight simulator in which players can compete in aerial combat from different computers, piloting well-equipped jet aircraft similar to an F-16C Falcon or a MiG-29 Fulcrum. (doc)


GNU adns is a C library that provides easy-to-use DNS resolution functionality. The library is asynchronous, allowing several concurrent calls. The package also includes several command-line utilities for use in scripts. (doc)


GNU Alive sends periodic pings to a server, generally to keep a connection alive. (doc)


GNU Anastasis is a free software protocol and implementation that allows users to securely deposit core secrets with a public set of escrow providers, and allows users to recover these secrets if their original copies are lost. (doc)


Anubis is a daemon that sits between the Mail User Agent (MUA) and the Mail Transfer Agent (MTA). When a mail is sent by a user in the MUA, it is first passed to Anubis, which performs additional processing to the message before passing it on for delivery by the MTA. Anubis may, for example, modify the message headers or body, or encrypt or sign the message. (doc)


GNU APL is a free interpreter for the programming language APL. It is an implementation of the ISO standard 13751. (doc)


Archimedes is a free package for semiconductor device simulations. It is intended to assist engineers in designing and simulating submicron and mesoscopic semiconductor devices based on the Ensemble Monte Carlo method. It is able to handle a wide variety of materials and structures, which are described through simple scripts. (doc)


Aris is a program for performing logical proofs. It supports propositional and predicate logic, as well as Boolean algebra and arithmetical logic. In addition to its predefined inference and equivalence rules, Aris also supports references to older proofs. Its use of standard logical symbols and its natural deduction interface make it easy to use for beginners. (doc)


GNU Artanis is a web application framework written in Guile Scheme. A web application framework (WAF) is a software framework that is designed to support the development of dynamic websites, web applications, web services and web resources. The framework aims to alleviate the overhead associated with common activities performed in web development. Artanis provides several tools for web development: database access, templating frameworks, session management, URL-remapping for RESTful, page caching, and more. (doc)


Aspell is a spell-checker which can be used either as a library or as a standalone program. Notable features of Aspell include its full support of documents written in the UTF-8 encoding and its ability to use multiple dictionaries, including personal ones. (doc)

logo for auctex AUCTeX

AUCTeX is an integrated environment for producing TeX documents in Emacs. It allows many different standard TeX macros to be inserted with simple keystrokes or menu selection. It offers an interface to external programs, enabling you to compile or view your documents from within Emacs. AUCTeX also features the ability to place inline previews of complex TeX statements such as mathematical formulae. (doc)


Autoconf offers the developer a robust set of M4 macros which expand into shell code to test the features of Unix-like systems and to adapt automatically their software package to these systems. The resulting shell scripts are self-contained and portable, freeing the user from needing to know anything about Autoconf or M4. (doc)


Autoconf Archive is a collection of over 450 new macros for Autoconf, greatly expanding the domain of its functionality. These macros have been contributed as free software by the community. (doc)

logo for autogen AutoGen

AutoGen is a program to ease the maintenance of programs that contain large amounts of repetitive text. It automates the construction of these sections of the code, simplifying the task of keeping the text in sync. It also includes an add-on package called AutoOpts, which is specialized for the maintenance and documentation of program options. (doc)


Automake the part of the GNU build system for producing standards-compliant Makefiles. Build requirements are entered in an intuitive format and then Automake works with Autoconf to produce a robust Makefile, simplifying the entire process for the developer. (doc)


libavl provides a large collection of binary search tree and balanced tree routines for C. These trees offer at least O(log n) performance for usually costly operations such as searching, inserting or deleting items from a data structure. (doc)

Ball and Paddle

Ball and Paddle is a classic arcade game in which you use a paddle at the bottom of the screen to bounce a ball against bricks in the upper region, eliminating the bricks as they are hit. As a novel twist, events and attributes of all the objects (bricks, ball, etc.) may be scripted with GNU Guile. (doc)


GNU Barcode is a flexible tool to produce printed barcodes from text strings. It supports a variety of encoding standards and sizing measurements. Barcodes can be output in PostScript or Encapsulated PostScript formats. (doc)

logo for bash Bash

Bash is the shell, or command-line interpreter, of the GNU system. It is compatible with the Bourne Shell, but it also integrates useful features from the Korn Shell and the C Shell and new improvements of its own. It allows command-line editing, unlimited command history, shell functions and aliases, and job control while still allowing most sh scripts to be run without modification. (doc)

logo for bayonne Bayonne

Bayonne is the telephony server of the GNU Telephony project. It offers a scalable environment for the development and deployment of telephony solutions, with a focus on SIP. (doc)

logo for bazaar Bazaar

GNU Bazaar is a version control system that allows you to record changes to project files over time. It supports both a distributed workflow as well as the classic centralized workflow. (doc)


bc is an arbitrary precision numeric processing language. It includes an interactive environment for evaluating mathematical statements. Its syntax is similar to that of C, so basic usage is familiar. It also includes dc, a reverse-polish calculator. (doc)


GNU Behistun consists of software and utilities for geological and geophysical modeling and mapping of internal structures and dynamics. Like the Behistun Multilingual Inscription, the Behistun software utilities provide knowledge and functionality to work on planetary systems and investigate their interior in freedom. (doc)


See binutils. (doc)


GNU Binutils is a collection of tools for working with binary files. Perhaps the most notable are ld, a linker, and as, an assembler. Other tools include programs to display binary profiling information, list the strings in a binary file, and utilities for working with archives. The bfd library for working with executable and object formats is also included. (doc)


GNU Bison is a general-purpose parser generator. It can build a deterministic or generalized LR parser from an annotated, context-free grammar. It is versatile enough to have many applications, from parsers for simple tools through complex programming languages. (doc)


GNU Bool is a utility to perform text searches on files using Boolean expressions. For example, a search for “hello AND world” would return a file containing the phrase “Hello, world!”. It supports both AND and OR statements, as well as the NEAR statement to search for the occurrence of words in close proximity to each other. It handles context gracefully, accounting for new lines and paragraph changes. It also has robust support for parsing HTML files. (doc)

logo for bpel2owfn BPEL2oWFN

GNU BPEL2oWFN translates a web service expressed in Web Service Business Process Execution Language (WS-BPEL) into an open Workflow Net (oWFN). It may additionally convert a BPEL4Chor choreography to a Petri Net model. Properties of Petri Nets may be analyzed efficiently, due to the use of static analysis to make the models compact. Control and data flow analysis, as well as basic checks for deadlocks and other such properties are available. (doc)

logo for c-graph C-graph

GNU C-Graph is a tool for demonstrating the theory of convolution. Thus, it can serve as an excellent aid to students of signal and systems theory in visualizing the convolution process. Rather than forcing the student to write code, the program offers an intuitive interface with interactive dialogs to guide them. (doc)

GNU C Introduction and Reference

This manual provides an introduction for learning the GNU C language and also serves as a reference for it. (doc)


GNU ccAudio2 is a portable C++ class for working with audio data from disk. The classes are both endian and content aware; rather than treating audio as binary data, this library treats it as an sequence of samples. It can also handle metadata information. ccAudio2 supports sun audio, raw samples, and RIFF encoded audio data. (doc)


GNU ccd2cue is a preprocessor for CD burning software that allows the conversion of the proprietary CCD format to the CUE format, which is well-supported by free software. These files are commonly distributed with CD images and are used to describe how tracks are laid out on the image. (doc)


GNU Ccide is a decision table code generator for the C language. This helps to avoid unmanageable and error-prone chains of nested if-else statements. Instead, decision tables are entered in an intuitive and easy-to-read format, which is then expanded into portable C code. (doc)


GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF. It is suitable both for high capacity servers and personal client applications. It is flexible in its design, allowing it to function as a framework for the framework, rather than just being a packet-manipulation library. (doc)


GNU ccScript3 is a library to add a virtual machine execution system for use with/as a scripting or assembler language for real-time, state-transition driven systems. (doc)


GNU cflow analyzes C source files and produces a graph charting the control flow of the program. It can output the graph in several styles and in either the POSIX format or in an extended GNU format. cflow also includes a major mode for Emacs for examining the flowcharts that it produces. (doc)

logo for cgicc Cgicc

GNU cgicc is an ANSI-compliant C++ library for writing CGI applications, featuring support for FastCGI. The library supports several features, including handling both GET and POST data, handling a variety of form data types, and on-the-fly HTML generation. (doc)


GNU Chess is a chess engine. It allows you to compete against the computer in a game of chess, either through the default terminal interface or via an external visual interface such as GNU XBoard. (doc)


Cim is the GNU compiler for Simula, the first object-oriented programming language. (doc)

logo for classpath Classpath

GNU Classpath provides essential libraries for Java virtual machines and compilers. It is compatible with a large percentage of the language API specifications and provides a wide array of functionality. (doc)

logo for clisp CLISP

GNU CLISP is an implementation of ANSI Common Lisp. Common Lisp is a high-level, object-oriented functional programming language. CLISP includes an interpreter, a compiler, a debugger, and much more. (doc)


GNU combine works to merge files based on a common key in a hash table. It can be seen as similar to, albeit much more powerful than, the standard join utility. Unlike join, any number of files may be merged based on the matches found. combine also has other advanced features, such as date parsing and directory traversal. (doc)

[u]Common C++

GNU Common C++ is an portable, optimized class framework for threaded applications, supporting concurrent synchronization, inter-process communications via sockets, and various methods for data handling, such as serialization and XML parsing. It includes the uCommon C++ library, a smaller reimplementation. (doc)


GNU complexity provides tools for finding procedures that are convoluted, overly long or otherwise difficult to understand. This may help in learning or reviewing unfamiliar code or perhaps highlighting your own code that seemed comprehensible when you wrote it. (doc)


The config.guess script tries to guess a canonical system triple, and config.sub validates and canonicalizes. These are used as part of configuration in nearly all GNU packages (and many others). (doc)


GNU Coreutils includes all of the basic command-line tools that are expected in a POSIX system. These provide the basic file, shell and text manipulation functions of the GNU system. Most of these tools offer extended functionality beyond that which is outlined in the POSIX standard. (doc)


GNU cpio copies files into or out of cpio or tar archives. Indeed, many formats are supported, including legacy formats. The format is determined automatically by the program and is handled appropriately. Furthermore, the location of the archive is not important. It can be another file on the drive, a tape, or data on a pipe. (doc)


GNU Cppi processes C source code files to properly indent the preprocessor directives to reflect their nesting. It also performs other standardizations, such as correcting the number of spaces between directives and the text following them. (doc)


GNU CSSC provides a replacement for the legacy Unix source code control system SCCS. This allows old code still under that system to be accessed and migrated on modern systems. (doc)

logo for cursynth Cursynth

GNU cursynth is a polyphonic synthesizer that runs graphically in the terminal. It is built on a full-featured subtractive synthesis engine. Notes and parameter changes may be entered via MIDI or the computer's keyboard. (doc)


GNU Dap is a statistics and graphics package. It can read programs written for the proprietary statistics system SAS. Its syntax is similar to, but simpler than C, making performing most tasks relatively easy while still providing advanced graphical capabilities. (doc)


GNU Datamash is a command-line program which performs basic numeric, textual, and statistical operations on input textual data files. GNU Datamash is designed to work within standard pipelines without needing to write additional code. (doc)


See bc. (doc)

logo for ddd DDD

GNU DDD, the Data Display Debugger, is a graphical front-end for command-line debuggers. Many back-end debuggers are supported, notably the GNU debugger, GDB. In addition to usual debugging features such as viewing the source files, DDD has additional graphical, interactive features to aid in debugging. (doc)


GNU ddrescue is a fully automated data recovery tool. It copies data from one file to another, working to rescue data in case of read errors. The program also includes a tool for manipulating its log files, which are used to recover data more efficiently by only reading the necessary blocks. (doc)

logo for dejagnu DejaGnu

DejaGnu is a framework for testing software. In effect, it serves as a front-end for all tests written for a program. Thus, each program can have multiple test suites, which are then all managed by a single harness. (doc)

logo for denemo Denemo

GNU Denemo is a music notation editor that provides a convenient interface to the powerful music engraving program Lilypond. Music can be typed in using the computer keyboard, played in using a MIDI keyboard, or even input via a microphone connected to the sound card. The final product is publication-quality music notation that is continuously generated in the background while you work. (doc)

logo for dia Dia

Dia is a GNU program for drawing diagrams. It is a versatile diagramming tool with a modular design that allows development of custom shape packages for drawing various kinds of diagrams by writing XML files, and has support for UML diagrams, flowcharts, network diagrams, circuit diagrams, and many more. Dia can export diagrams to a number of formats, including EPS, SVG, PNG, and more. (doc)


GNU Dico implements a flexible dictionary server and client according to RFC 2229 (DICT Server). It is able to access any database available, regardless of format, thanks to its modular structure. New modules may be written in C, Guile or Python. Dico also includes a command-line client, which may be used to query remote dictionary databases. (doc)


A package providing two classic Unix commands, style and diction. Diction is used to identify wordy and commonly misused phrases in a body of text. Style instead analyzes surface aspects of a written work, such as sentence length and other readability measures. (doc)


GNU Diffutils is a package containing tools for finding the differences between files. The diff command is used to show how two files differ, while cmp shows the offsets and line numbers where they differ. diff3 allows you to compare three files. Finally, sdiff offers an interactive means to merge two files. (doc)


A daemon that monitors directories for events, such as creating, deleting or modifying files. It can monitor different sets of directories for different events. When an event is detected, direvent calls a specified external program with information about the event, such as the location within the file system where it occurred. Thus, direvent provides an easy way to react immediately if given files undergo changes, for example, to track changes in important system configuration files. (doc)


GNU Dominion is a multi-player world simulation game. In it, each player rules a nation and must maintain their nation in the face of competition from the other players. Players must make political, economical, military and diplomatic decisions in order for their nations to survive. This game is intended to be played by players all with access to the same computer system. (doc)

logo for dr-geo Dr. Geo

GNU Dr. Geo is a program for designing and manipulating interactive geometric sketches. (doc)

logo for easejs Easejs

ease.js is a classical object-oriented framework for JavaScript, intended to eliminate boilerplate code and ease the transition to JavaScript from other object-oriented languages. (doc)


Ed is a line-oriented text editor: rather than offering an overview of a document, ed performs editing one line at a time. It can be executed both interactively and via shell scripts. Its method of command input allows complex tasks to be performed in an automated way. GNU ed offers several extensions over the standard utility. (doc)


GNU EDMA is a development environment that combines ideas from both object-oriented programming and component-based systems. It is used to build modular, evolving applications as well as reusable components. EDMA provides a convenient means to build object-oriented programs in C without requiring C++. Also, it has a unique component system, unlike other free software component-based systems which imitate the design of proprietary counterparts. It includes a graphical wizard, gidfwizard, a tool for building GNU EDMA Interface definition files and to create skeleton files necessary to build EDMA classes, and a graphical class browser, gecb. (doc)

logo for electric Electric

GNU Electric is a CAD program for designing electrical circuits, handling custom IC layout, schematic drawing and hardware description language specifications. Several CAD operations are supported, such as rule checking and simulation. Many different types of designs can be produced and input or output in a wide variety of formats. (doc)

logo for emacs Emacs

GNU Emacs is an extensible and highly customizable text editor. It is based on an Emacs Lisp interpreter with extensions for text editing. Emacs has been extended in essentially all areas of computing, giving rise to a vast array of packages supporting, e.g., email, IRC and XMPP messaging, spreadsheets, remote server editing, and much more. Emacs includes extensive documentation on all aspects of the system, from basic editing to writing large Lisp programs. It has full Unicode support for nearly all human languages. (doc)


Muse is an authoring and publishing environment for GNU Emacs. It supports entering text in a convenient and easy-to-learn format. Later, your documents may be published in a variety of different formats, such as HTML, LaTeX or PDF. Muse supports projects consisting of several documents, which are properly merged according to the output format. (doc)

logo for emms EMMS

EMMS is the Emacs Multimedia System. It is a small front-end which can control one of the supported external players. Thus, it supports whatever formats are supported by your music player. It also supports tagging and playlist management, all behind a clean and light user interface. (doc)


GNU Enscript is a program to convert ASCII text files to PostScript, HTML or RTF formats, to be stored in files or sent immediately to a printer. It also includes the capability to perform syntax highlighting for several different programming languages. (doc)


GNU fdisk provides a GNU version of the common disk partitioning tool fdisk. fdisk is used for the creation and manipulation of disk partition tables, and it understands a variety of different formats. (doc)

logo for ferret Ferret

GNU Ferret is a graphical data modeler for the Entity/Relationship paradigm. It can automatically create relational schemas from the data models and it can be used to generate SQL statements in a variety of dialects. (doc)


Findutils supplies the basic file directory searching utilities of the GNU system. It consists of two primary searching utilities: find recursively searches for files in a directory according to given criteria and locate lists files in a database that match a query. Two auxiliary tools are included: updatedb updates the file name database and xargs may be used to apply commands with arbitrarily long arguments. (doc)

logo for fisicalab FisicaLab

GNU FisicaLab is an educational application for solving physics problems. Its main objective is allow the user to focus on physics concepts, leaving aside the mathematical details. (doc)


GNU Foliot is an application for keeping track of time spent working on projects. (doc)


Fontopia is an easy-to-use, text-based, console font editor. It's used to edit the fonts that GNU/Linux uses to display text on text-based terminals. Fontopia works on both PSF 1 & 2, BDF, Code Paged (CP) fonts, and Raw font files. It provides a user-friendly, easy-to-use glyph editor and it can easily change font metrics (e.g. length, width, and height) and convert between different font formats. (doc)


GNU Fontutils is a collection of programs for handling fonts. Bitmaps can be extracted from scanned images of characters, edited, and converted into outline fonts. In general, Fontutils supports the font formats supported by the TeX typesetting environment, including PostScript Type 1 fonts. (doc)

logo for freedink FreeDink

GNU FreeDink is a free and portable re-implementation of the engine for the role-playing game Dink Smallwood. It supports not only the original game data files but it also supports user-produced game mods or “D-Mods”. To that extent, it also includes a front-end for managing all of your D-Mods. (doc)

Free UCS Outline Fonts

GNU FreeFont is a collection of scalable outline fonts that are suitable for general computer use and for desktop publishing. A serif, a sans serif and a monospace font are included, all available in both TrueType and OpenType formats. The fonts support a broad range of characters for many different writing systems, and have excellent coverage of mathematical notation. (doc)

logo for freeipmi FreeIPMI

GNU FreeIPMI is a collection of in-band and out-of-band IPMI software in accordance with the IPMI v1.5/2.0 specification. These programs provide a set of interfaces for platform management. Common functionality includes sensor monitoring, system event monitoring, power control and serial-over-LAN. (doc)


GNU Freetalk is a command-line Jabber/XMPP chat client. It notably uses the Readline library to handle input, so it features convenient navigation of text as well as tab-completion of buddy names, commands and English words. It is also scriptable and extensible via Guile. (doc)


GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm. This algorithm is used to properly display text in left-to-right or right-to-left ordering as necessary. (doc)


G-Golf (Gnome: (Guile Object Library for)) is a library for developing modern applications in Guile Scheme. It comprises a direct binding to the GObject Introspection API and higher-level functionality for importing Gnome libraries and making GObject classes (and methods) available in Guile's object-oriented programming system, GOOPS. (doc)

logo for gama Gama

GNU Gama is a program for the adjustment of geodetic networks. It is useful in measurements where Global Positioning System (GPS) is not available, such as underground. It features the ability to adjust in local Cartesian coordinates as well as partial support for adjustments in global coordinate systems. (doc)

Gratuitous ARP Daemon

GNU garpd broadcasts Gratuitous ARP (Address Resolution Protocol) requests/replies for a list of MAC to IP address mappings on specified interfaces at regular intervals. Gratuitous ARP request packets are those where the source and the destination IPs are both the IP of the requesting machine. Gratuitous ARP replies are those made without a corresponding request. (doc)


Gawk is the GNU implementation of Awk, a specialized programming language for the easy manipulation of formatted text, such as tables of data. Gawk features many extensions beyond the traditional implementation, including network access, sorting, and large libraries. (doc)

logo for gcal Gcal

Gcal is a program to calculate and print calendars on the command-line. Calendars can be printed in 1-month, 3-month or whole-year views. In addition, eternal holiday lists can be generated for many countries, which can be complemented by user-made lists of fixed dates to make an agenda. Gcal can also calculate astronomical data, such as the phases of the moon, and supports alternative calendar formats: Julian, Gregorian, Islamic, Chinese and more. (doc)

logo for gcc GCC

GCC is the GNU Compiler Collection. It provides compiler front-ends for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and Go. It also includes runtime support libraries for these languages. (doc)


GCIDE is a free dictionary based on a combination of sources. It can be used via the GNU Dico program or accessed online at (doc)

GNU Common Lisp

GCL is an implementation of the Common Lisp language. It features the ability to compile to native object code and to load native object code modules directly into its lisp core. It also features a stratified garbage collection strategy, a source-level debugger and a built-in interface to the Tk widget system. (doc)

logo for gcompris GCompris

GCompris is a suite of educational software for children. It features a variety of activities suitable for kids aged 2 to 10 years old. The suite includes activities to introduce and develop skills in computer use, algebra, science, reading and more. It also features some games such as chess and sudoku. (doc)

logo for gdb GDB

GDB is the GNU debugger. With it, you can monitor what a program is doing while it runs or what it was doing just before a crash. It allows you to specify the runtime conditions, to define breakpoints, and to change how the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal, and more. (doc)


GDBM is a library for manipulating hashed databases. It is used to store key/value pairs in a file in a manner similar to the Unix dbm library and provides interfaces to the traditional file format. (doc)


GNU Gengen is a program to generate text-generators, i.e., functions producing text with variable sections. The text is first specified by the user in a template file containing parameters, then processed by gengen to create the text-generator. At runtime, the variable text is defined by the rest of the program and passed to the text-generator, which then substitutes it into the template parameters and returns the result. Gengen can be used to generate C and C++ code. (doc)


GNU Gengetopt is a program to generate a C/C++ function for parsing command-line options using the getopt_long function found in GNU libc, removing some of the tedium of this task for large programs that accept many options. The options parsed by the generated function may be in both short (e.g., -h) and long (--help) formats, as specified by the GNU coding standards. Additionally, the output of the standard options --help and --version is generated automatically. (doc)


GNU Gettext is a package providing a framework for translating the textual output of programs into multiple languages. It provides translators with the means to create message catalogs, as well as an Emacs mode to work with them, and a runtime library to load translated messages from the catalogs. Nearly all GNU packages use Gettext. (doc)

logo for gforth Gforth

Gforth is a fast and portable implementation of the ANSI Forth language. It includes an editing mode for Emacs and an interpreter featuring completion and history. A generic virtual machine environment, vmgen, is also included. (doc)


GNU Gradebook is an application for teachers for tracking student grades. It supports several grading styles, including American (A, B, C, D, F) and European numeric scales. (doc)

logo for ghostscript GNU Ghostscript

Ghostscript is an interpreter for the PostScript language and the PDF file format. It also includes a C library that implements the graphics capabilities of the PostScript language. It supports a wide variety of output file formats and printers. (doc)

logo for gift GIFT

The GNU Image-Finding Tool (GIFT) is a Content Based Image Retrieval System. It uses the content of images to perform queries on a collection, enabling you to query by example. Also, a tool to index whole directory trees is included. (doc)

logo for gimp GIMP

GIMP is an application for image manipulation tasks such as photo retouching, composition and authoring. It supports all common image formats as well as specialized ones. It features a highly customizable interface that is extensible via a plugin system. (doc)


GNU glean is a modular system for self-study, considerably more intricate than standard flash cards method. It is very customizable, allowing the user to define subjects of interest and activities to study them. For now, it has a text-based interface inside the Guile REPL and an experimental web interface. (doc)

logo for global Global

GNU GLOBAL is a source code tagging system that functions in the same way across a wide array of environments, such as different text editors, shells and web browsers. The resulting tags are useful for quickly moving around in a large, deeply nested project. (doc)


GLPK is a C library for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It supports the GNU MathProg modeling language, a subset of the AMPL language, and features a translator for the language. In addition to the C library, a stand-alone LP/MIP solver is included in the package. (doc)


GMediaServer is a UPnP-compatible media server. It serves audio and video files to network-connected media players via a command-line program that runs in the background. (doc)

logo for gmp GMP

GMP is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers and floating point numbers. The precision is only limited by the available memory. The library is highly optimized, with a design focus on execution speed. It is aimed at use in, for example, cryptography and computational algebra. (doc)

logo for gnash Gnash

Gnash is a free Flash movie player. It supports SWF version v7 and some of v8 and v9. It is possible to configure Gnash to use several different audio or video backends, ensuring good performance. (doc)


See gcc. (doc)

logo for gnats GNATS

GNATS is a set of tools for tracking bugs and other user-reported software issues. It is completely open-ended in how its database may be queried, edited and maintained, featuring interfaces ranging from the command-line to Emacs, though the main means of interaction is via its web interface. It is also flexible enough to support user-made utilities. (doc)


See gnats. (doc)

logo for gnu-c-manual GNU C reference manual

This is a reference manual for the C programming language, as implemented by the GNU C Compiler (gcc). As a reference, it is not intended to be a tutorial of the language. Rather, it outlines all of the constructs of the language. Library functions are not included. (doc)


This program is designed to make it easy to reconstruct difficult passwords when they are needed while limiting the risk of attack. The user of this program inputs a self-defined transformation of a web site URL and obtains the password and user name hint for that web site. (doc)

logo for gnuastro Gnuastro

The GNU Astronomy Utilities (Gnuastro) is an official GNU package consisting of various programs and library functions for the manipulation and analysis of astronomical data. (doc)


GNUbatch is an advanced batch scheduling system. It executes computational jobs at specified dates and times or according to interdependencies. The jobs may be completed on any number of processors shared across a network. Full access-control of the jobs is supported. (doc)


The GNU backgammon application can be used for playing, analyzing and teaching the game. It has an advanced evaluation engine based on artificial neural networks suitable for both beginners and advanced players. In addition to a command-line interface, it also features an attractive, 3D representation of the playing board. (doc)

logo for gnubiff GNUbiff

GNUbiff is a program that checks for mail and notifies you when new messages arrive. It supports multiple mailboxes which may be accessed via a variety of methods such as POP3, IMAP, MH and mailfiles. Graphical notifications are provided with GTK and complete integration with GNOME is supported. (doc)


GNUbik is a puzzle game in which you must manipulate a cube to make each of its faces have a uniform color. The game is customizable, allowing you to set the size of the cube (the default is 3x3) or to change the colors. You may even apply photos to the faces instead of colors. The game is scriptable with Guile. (doc)

GNU Boot

GNU Boot is a free boot firmware distribution for initializing your hardware and booting your operating system. (doc)


GNUcap is a circuit analysis package. It offers a general purpose circuit simulator and can perform DC and transient analyses, fourier analysis and AC analysis. The engine is designed to do true mixed-mode simulation. (doc)

logo for gnucash GnuCash

GnuCash is personal and professional financial-accounting software. It can be used to track bank accounts, stocks, income and expenses, based on the double-entry accounting practice. It includes support for QIF/OFX/HBCI import and transaction matching. It also automates several tasks, such as financial calculations or scheduled transactions. (doc)

logo for gnucobol GnuCOBOL

GnuCOBOL is a free, modern COBOL compiler. It implements a substantial part of COBOL 85, X/Open COBOL and newer ISO COBOL standards as well as many extensions from other COBOL compilers (IBM COBOL, MicroFocus COBOL, ACUCOBOL-GT and others). (doc)


Telecom subsystem of the GNU Project: umbrella project for GNU Telephony software, currently Bayonne, SIP Witch, and their supporting libraries (Common C++ / uCommon, ccAudio, ccScript, ccRTP and ZRTP / ZRTP4J). (doc)


GnuDOS is a set of programs designed to help new users of the GNU system in growing accustomed to the system, particularly users who might be coming from a DOS background. It consists of a file manager, a text editor and a form designer for the console as well as a core library for building similar utilities. (doc)

logo for gnugo GNUgo

GNU Go is a program that plays the game of Go, in which players place stones on a grid to form territory or capture other stones. While it can be played directly from the terminal, rendered in ASCII characters, it is also possible to play GNU Go with 3rd party graphical interfaces or even in Emacs. It supports the standard game storage format (SGF, Smart Game Format) and inter-process communication format (GMP, Go Modem Protocol). (doc)

GNU Interactive Tools

The GNU Interactive Tools are a set of lightweight, interactive command-line tools. They include an extensible, orthodox (two-pane) file manager, an ASCII/hex file viewer, and a process viewer/killer. The package also includes some related utilities and scripts, such as a tool to decompress any type of archive file. All the tools can be enhanced and extended through their configuration files to perform new commands. (doc)

logo for gnujump GNUjump

GNUjump is a simple, yet addictive game in which you must jump from platform to platform to avoid falling, while the platforms drop at faster rates the higher you go. The game features multiplayer, unlimited FPS, smooth floor falling, themeable graphics and sounds, and replays. (doc)


Gnulib is a central location for common infrastructure needed by GNU packages. It provides a wide variety of functionality, e.g., portability across many systems, working with Unicode strings, cryptographic computation, and much more. The code is intended to be shared at the level of source files, rather than being a standalone library that is distributed, built, and installed. The included gnulib-tool script helps with using Gnulib code in other packages. Gnulib also includes copies of licensing and maintenance-related files, for convenience. (doc)


See hurd. (doc)


GNUmed is Electronic Medical Record software, supporting paperless medical practices. Several interface languages are supported. (doc)

logo for gnumeric GNUmeric

GNUmeric is a GNU spreadsheet application, running under GNOME. It is interoperable with other spreadsheet applications. It has a vast array of features beyond typical spreadsheet functionality, such as support for linear and non-linear solvers, statistical analysis, and telecommunication engineering. (doc)

logo for gnump3d GNUmp3d

GNUMP3d is a streaming server for MP3 and Ogg Vorbis audio files, movies, and other media formats. It is small and self-contained, presenting a simple, themeable HTML interface. The audio files can then be played in any player that supports streaming over HTTP. (doc)

GNUnited Nations

GNUnited Nations is a build system for translating the web site at It works via template files, which allow changes to be merged into individual translations of a page, from which the final HTML is generated. In effect, this helps to keep all translations of a page up-to-date. (doc)

logo for gnunet GNUnet

GNUnet is a framework for secure peer-to-peer networking. The high-level goal is to provide a strong foundation of free software for a global, distributed network that provides security and privacy. GNUnet in that sense aims to replace the current internet protocol stack. Along with an application for secure publication of files, it has grown to include all kinds of basic applications for the foundation of a GNU internet. (doc)

logo for gnupg GnuPG

The GNU Privacy Guard is a complete implementation of the OpenPGP standard. It is used to encrypt and sign data and communication. It features powerful key management and the ability to access public key servers. It includes several libraries: libassuan (IPC between GnuPG components), libgpg-error (centralized GnuPG error values), and libskba (working with X.509 certificates and CMS data). (doc)

logo for gnupod GNUpod

GNUpod is a collection of scripts for using iPods with GNU/Linux and other operating systems. It can be used for transferring music and cover art, searching files, removing files, editing tags, creating playlists and more. (doc)


GNU Prolog for Java is an implementation of the ISO Prolog standard as a Java library (gnu.prolog). Thus, with it you can use Prolog from within Java programs. (doc)

logo for gnuradio Radio

GNU Radio is a toolkit for implementing software radios. Its signal processing blocks can be combined with low-cost external RF hardware to create software-defined radios. Without hardware, it can be used for simulation. Radio applications are primarily written in Python, with C++ support for performance-critical processing tasks. (doc)


GNU Robots is a game in which you program a robot to explore a world full of enemies that can hurt it, obstacles and food to be eaten. The goal of the game is to stay alive and collect prizes. The robot program conveniently may be written in a plain text file in the Scheme programming language. (doc)


GNUschool is a web application for students, teachers and school administrators. With it, teachers can create tests for the students to take online, give feedback and assign grades. School administrators can use it to monitor student attendance and edit student information. (doc)


GNU Shogi is a program that plays the game Shogi (Japanese Chess). It also includes a graphical interface to the game. While similar to standard chess, this variant is far more complicated. (doc)


GNUsound is a multitrack sound editor for GNOME 1 and 2. It can read and write many audio file formats such as WAV, MP3 and FLAC. It can work with the OSS, ALSA or JACK audio backends. It provides many different built-in audio processing modules, such as fades in/out, delay, and filters. GLADSPA plugins may also be used for further processing. (doc)


GNUspool is an advanced print spooling system. In addition to the functionality of the standard printing system, it provides post-processing capabilities, form type handling, alignment pages and other features. It functions transparently on a network, sharing jobs on any host with printers on any other host. Several user different interfaces are available. (doc)

logo for gnustep GNUstep

GNUstep is a fully-functional object-oriented development environment; a number of user applications are also included. It closely follows the Cocoa APIs but is platform-independent. (doc)

logo for gnutls GnuTLS

GnuTLS is a secure communications library implementing the SSL, TLS, and DTLS protocols. It is provided in the form of a C library to support the protocols, as well as to parse and write X.509, PKCS 12, OpenPGP, and other required structures. (doc)


GNUtrition is a free nutrition analysis software. With it, one can keep track of the nutritional information of food. The software uses the Nutrient Database of Standard Reference of the US Department of Agriculture as a source of food nutrient information. (doc)


See icecat. (doc)


Goptical is a library for optical design and simulation in C++. It provides model classes for optical components, surfaces and materials. With it, one can simulate building an optical system by creating and placing optical components in a 3d space, and visualize light propagating through the system. (doc)

logo for gorm Gorm

See gnustep. (doc)


GNU Paint is a simple, easy-to-use paint program for the GNOME environment. It supports drawing freehand as well as basic shapes and text. It features cut-and-paste for irregular regions or polygons. (doc)


gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table in C or C++ code. That the hash function is perfect means that no collisions can exist and that look-ups can be made by single string comparisons. (doc)


gprofng GUI is a full-fledged graphical interface to operate gprofng, which is part of the GNU binutils. (doc)

logo for gprolog Gprolog

GNU Prolog is a standards-compliant Prolog compiler with constraint solving over finite domains. It accepts Prolog+ constraint programs and produces a compiled, native binary which can function in a stand-alone manner. It also features an interactive interpreter. (doc)


phpGrabComics is a program that fetches and saves comic strips from the web. It features both a server, which can download strips from different sources, and ports, tiny applications which get the list of available comics from the server. (doc)


GNU Greg is a framework for testing programs and libraries. It provides a single front-end for all tests of a package as well as a simple framework for writing the tests. It is loaded as a Guile module into any software with an embedded Guile interpreter. It also provides a compiled module that may be dynamically linked into Guile to permit testing external programs. (doc)


grep is a tool for finding text inside files. Text is found by matching a pattern provided by the user in one or many files. The pattern may be provided as a basic or extended regular expression, or as fixed strings. By default, the matching text is simply printed to the screen, however the output can be greatly customized to include, for example, line numbers. GNU grep offers many extensions over the standard utility, including, for example, recursive directory searching. (doc)

logo for gretl Gretl

GNU Gretl is a package for performing statistical computations for econometrics. It consists of both a command-line client and a graphical client. It features a variety of estimators such as least-squares and maximum likelihood; several time series methods such as ARIMA and GARCH; limited dependent variables such as logit, probit and tobit; and a powerful scripting language. It can output models as LaTeX files. It also may be linked to GNU R and GNU Octave for further data analysis. (doc)

logo for groff Groff

Groff is a typesetting package that reads plain text and produces formatted output based on formatting commands contained within the text. It is usually the formatter of “man” documentation pages. (doc)

logo for grub GRUB

GRUB is a multiboot bootloader. It is used for initially loading the kernel of an operating system and then transferring control to it. The kernel then goes on to load the rest of the operating system. As a multiboot bootloader, GRUB handles the presence of multiple operating systems installed on the same computer; upon booting the computer, the user is presented with a menu to select one of the installed operating systems. (doc)


GNU SASL is an implementation of the Simple Authentication and Security Layer framework. On network servers such as IMAP or SMTP servers, SASL is used to handle client/server authentication. This package contains both a library and a command-line tool to access the library. (doc)

logo for gsegrafix Gsegrafix

GSEGrafix is an application which produces high-quality graphical plots for science and engineering. Plots are specified via simple ASCII parameter files and data files and are presented in an anti-aliased GNOME canvas. The program supports rectangular two-dimensional plots, histograms, polar-axis plots and three-dimensional plots. Plots can be printed or saved to BMP, JPEG or PNG image formats. (doc)

GNU Scientific Library

The GNU Scientific Library is a library for numerical analysis in C and C++. It includes a wide range of mathematical routines, with over 1000 functions in total. Subject areas covered by the library include: differential equations, linear algebra, Fast Fourier Transforms and random numbers. (doc)

GNU Slip

GNU Slip is a functional extension of the capabilities provided in the C++ Standard Template Library (STL) list and queue containers, though SLIP is not a replacement for the STL containers. SLIP data cells can be used in application-specific computations, among other enhancements. (doc)

GNU Source Release Collection

GSRC supports installing the latest releases of GNU packages on an existing system. New versions are installed in a separate place so as not to interfere with the system versions. The goal is to make it easier to work with the original, upstream, GNU sources, and perhaps help with development and testing. (doc)

Generic Security Service

The GNU Generic Security Service provides a free implementation of the GSS-API specification. It provides a generic application programming interface for programs to access security services. Security services present a generic, GSS interface, with which the calling application interacts via this library, freeing the application developer from needing to know about the underlying security implementation. (doc)

logo for gtick GTick

GTick is a metronome application. It supports different meters, such as 2/4, 3/4, 4/4, etc. It also supports a wide range of speeds, from 10 to 1000 BPM. It provides a GTK+-based user interface and it can use both OSS and ALSA as the audio back-end. (doc)


GNU Typist is a universal typing tutor. It can be used to learn and practice touch-typing. Several tutorials are included; in addition to tutorials for the standard QWERTY layout, there are also tutorials for the alternative layouts Dvorak and Colemak, as well as for the numpad. Tutorials are primarily in English, however some in other languages are provided. (doc)

logo for guile Guile

Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language of the GNU system. It is an implementation of the Scheme language which can be easily embedded in other applications to provide a convenient means of extending the functionality of the application without requiring the source code to be rewritten. (doc)


Guile-CV is a Computer Vision functional programming library for the Guile Scheme language. Guile-CV is based on Vigra (Vision with Generic Algorithms). It comprises a direct binding to vigra_c (a C wrapper to a subset of the Vigra library), and a higher level API written in Guile Scheme. (doc)


guile-dbi is a library for Guile that provides a convenient interface to SQL databases. Database programming with guile-dbi is generic in that the same programming interface is presented regardless of which database system is used. It currently supports MySQL, Postgres and SQLite3. (doc)


Includes guile-clutter, guile-gnome-gstreamer, guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview. (doc)


guile-ncurses provides Guile language bindings for the ncurses library. (doc)


Guile-OpenGL is a library for Guile that provides bindings to the OpenGL graphics API. (doc)


Guile-SDL is a set of bindings to the Simple DirectMedia Layer (SDL). With them, Guile programmers can have easy access to graphics, sound and device input (keyboards, joysticks, mice, etc.). This package is looking for a maintainer. (doc)

logo for guix Guix

GNU Guix is a functional package manager for the GNU system, and is also a distribution thereof. It includes a virtual machine image. Besides the usual package management features, it also supports transactional upgrades and roll-backs, per-user profiles, and much more. It is based on the Nix package manager. (doc)


GURGLE produces database report listings from record and field information from a file. It uses the report to produce (La)TeX-formatted output, plain ASCII text, troff, PostScript, HTML, XML, or any other ASCII-based output format. It may be used for producing large bodies of text where small parts of the text are substituted with information from the database. GURGLE supports GNUSQL, PostgreSQL, MySQL and CA-Ingres databases. (doc)


GNU GV is a graphical user interface to the Ghostscript interpreter. With it, one can view and navigate through PostScript and PDF documents in X Windows. (doc)


The GNU Virtual Private Ethernet creates a virtual network with multiple nodes using a variety of transport protocols. It works by creating encrypted host-to-host tunnels between multiple endpoints. (doc)

logo for gwl GWL

GWL is a workflow language that extends Guix's declarative language for package management to automate execution of programs. Additionally, GWL can use Grid Engine to offload program execution. (doc)

logo for gxmessage Gxmessage

GNU gxmessage is a program that pops up dialog windows, which display a message to the user and waits for their action. The program then exits with an exit code corresponding to the response. (doc)


GNU Gzip provides data compression and decompression utilities; the typical extension is .gz. Unlike zip, it compresses a single file; as a result, it is often used in conjunction with tar, resulting in .tar.gz or .tgz, etc. (doc)


HaliFAX supports sending and viewing faxes, including a wrapper around the lpr command. This package is looking for a maintainer. (doc)

logo for health Health

GNU Health is a free medical software system, including support for electronic medical records (EMR), a hospital information system (HIS), and health information system. It supports both Spanish and English interfaces. It has been adopted by the United Nations University for implementation and training, as well as by several hospitals and health ministries around the world. (doc)


GNU Hello prints the message “Hello, world!” and then exits. It serves as an example of standard GNU coding practices. As such, it supports command-line arguments, multiple languages, and so on. (doc)


GNU help2man is a program that converts the output of standard --help and --version command-line arguments into a manual page automatically. (doc)


GNU hp2xx converts vector graphics specified in the HP-GL plotter language into a variety of graphical formats, both vector- and raster-based, including EPS, PCX, IMG, and formats intended for use within TeX documents. (doc)

logo for httptunnel Httptunnel

GNU httptunnel creates a bidirectional data path tunneled in HTTP requests. This allows users behind firewalls to send and receive data that would otherwise be blocked, such as telnet or ssh connections. (doc)

logo for hurd Hurd

The Hurd is the kernel for the GNU system, a replacement and augmentation of standard Unix kernels. It is a collection of protocols for system interaction (file systems, networks, authentication), and servers implementing them. Subprojects include Mach, the microkernel on which the Hurd is based, which provides a basic inter-process communication mechanism, and MIG, an interface generator for Mach. (doc)


Hyperbole is a programmable information and hypertext system for GNU Emacs. It allows hypertext to be embedded within documents, mail messages and news articles. This permits mouse-based control of the displayed information. (doc)

logo for icecat Icecat

IceCat is the GNU version of the Firefox browser. It is entirely free software, which does not recommend non-free plugins and addons. It also features built-in privacy-protecting features. (doc)


The GNU idutils package includes tools to create an index of textual tokens used in a list of file names and then to query that index. Thus, it allows the user to, for example, find all the uses of a particular function in a large programming project. In addition to handling textual tokens, it can also handle numeric constants and the contents of character strings. (doc)

logo for ignuit Ignuit

Ignuit is a tool for aiding in the memorization of new information based on the Leitner flashcard system. In this system, new cards are studied with decreasing frequency as they grow older, unless you encounter difficulty memorizing them, after which you encounter them more often. Cards can include embedded audio, images and mathematical formulae and a card collection can be exported to several formats. (doc)


Indent is a program that makes source code easier to read by reformatting it in a consistent style. It can change the style to one of several different styles such as GNU, BSD or K&R. It has some flexibility to deal with incomplete or malformed syntax. GNU indent offers several extensions over the standard utility. (doc)


Inetutils is a collection of common network programs, such as an ftp client and server, a telnet client and server, and an rsh client and server. (doc)


GNU InklingReader is a package to support the Wacom Inkling device, including data conversion to various free formats, basic editing features, and an Inkscape plugin. (doc)


GNU intlfonts contains free X11 fonts in the BDF and TrueType formats. They notably cover a large number of characters from different writing systems: European, Asian, Chinese, Japanese, Korean, Ethiopic and others. (doc)

logo for jacal JACAL

GNU JACAL is an interactive symbolic mathematics program based on Scheme. It manipulate and simplify a range of mathematical expressions such as equations, scalars, vectors, and matrices. (doc)

logo for jami Jami

Jami is a GNU package for universal communication that respects the freedom and privacy of its users. Jami uses distributed hash tables for establishing communication, whose design avoids centralized storage of users' registries and personal data. (doc)


java-getopt provides a Java port of the GNU getopt function from glibc. It supports parsing both long and short command-line arguments in a flexible manner, which is completely compatible with the C version. (doc)


GNU JEL is a library that lets a program accept user-defined expressions to be entered and evaluated at runtime. In fact, the expressions are compiled by JEL to Java bytecode to avoid the performance penalty of adding interpreted expressions to an already-interpreted language. (doc)


GNU Jitter is a program to automatically generate a portable, very efficient language virtual machine with performance close to native code, starting from a relatively high-level specification provided by the user. (doc)

Java Training Wheels

GNU Java Training wheels provides a less steep learning curve for learning to program in Java. The system is powered by a preprocessor that adds features to Java such as a superfor macro and a file inclusion system much like the C language's preprocessor. (doc)


GNU jwhois is a client for the WHOIS protocol, which allows you to query the owner of a domain name. The program uses an extensible configuration file to determine the most appropriate server to query and, upon success displays the result to the user, otherwise it can optionally redirect the query to another server. (doc)

logo for kawa Kawa

GNU Kawa is an implementation of the Scheme programming language that is built on top of the Java platform. It is thus conveniently integrated with Java and benefits from this by having a compiler, optional static typing, and so on. Kawa also serves as a framework for implementing other programming languages on the Java platform. Included in Kawa is qexo, a partial implementation of XQuery in Java. (doc)


GNU Leg is a set of libraries for game engines and game development. In addition to the libraries, it also includes resource editors designed to make game creation easier. The package is designed to be generic and modular, supporting many different styles of games. (doc)


GNU less is a pager, a program that allows you to view large amounts of text in page-sized chunks. Unlike traditional pagers, it allows both backwards and forwards movement through the document. It also does not have to read the entire input file before starting, so it starts faster than most text editors. (doc)

GNU C Library

The GNU C Library is the standard C library of the GNU system. It defines the system calls and other basic functionality necessary to write programs in the C language. It handles low-level functionality that communicates with the kernel, such as process and file management, as well as higher-level functionality such as string manipulation or command-line argument handling. (doc)


The GNU Compact Disc Input and Control Library (libcdio) is a library for CD-ROM and CD image file access. It allows the developer to add CD access to an application without having to worry about the OS- and device-dependent properties of CD-ROM or the specific details of CD image formats. It includes pycdio, a Python interface to libcdio, and libcdio-paranoia, a library providing jitter-free and error-free audio extraction from CDs. (doc)


libdbh provides disk-based hash tables, providing quick lookup of key-value pairs. While its usage is similar in general to that of (G)DBM, it has a different design supporting advanced, atypical usage. (doc)

logo for liberty-eiffel Liberty Eiffel

Liberty Eiffel project is the GNU Eiffel Compiler. Eiffel is an advanced object-oriented programming language that emphasizes the design and construction of high-quality and reusable software. Liberty Eiffel is a complete, small and fast Eiffel compiler, including an Eiffel to C compiler, documentation tools, a pretty printer, a debugger and various other tools. It also includes a large library of classes as well as a comprehensive set of wrappers/bindings for widespread Free-Software libraries. (doc)

logo for libextractor Libextractor

GNU libextractor is a library for extracting metadata from files. It supports a very large number of file formats, including audio files, document files, and archive files. Each file format is implemented as a plugin, so new formats can be added easily. The package also contains a command-line tool to extract metadata from a file and print the results. (doc)


Libgcrypt is a general-purpose cryptographic library. It provides the standard cryptographic building blocks such as symmetric ciphers, hash algorithms, public key algorithms, large integer functions and random number generation. (doc)


libiconv provides an implementation of the iconv function for systems that lack it. iconv is used to convert between character encodings in a program. It supports a wide variety of different encodings. (doc)


libidn is a library implementing of the Stringprep, Punycode and IDNA specifications. These are used to encode and decode internationalized domain names. It includes native C, C# and Java libraries. (doc)


Libidn2 is a free software implementation of IDNA2008, Punycode and Unicode TR46. Its purpose is to encode and decode internationalized domain names. (doc)


GNU libmatheval is a library to parse and evaluate symbolic expressions input by the user as text. It can be loaded from both C and Fortran. The interpreter is flexible, supporting any number of variables of arbitrary names, decimal and symbolic constants, basic unary and binary operators, and elementary mathematical functions. It can also compute symbolic derivatives and output expressions to strings. (doc)


GNU libmicrohttpd is a small, embeddable HTTP server implemented as a C library. It makes it easy to run an HTTP server as part of another application. The library is fully HTTP 1.1 compliant. It can listen on multiple ports, supports four different threading models, and supports IPv6. It also features security features such as basic and digest authentication and support for SSL3 and TLS. (doc)

logo for librejs Librejs

LibreJS is an add-on for GNU Icecat and other Firefox-based browsers. It detects non-trivial and non-free JavaScript code from being loaded without your consent when you browse the web. JavaScript code that is free or trivial is allowed to be loaded. (doc)


GNU libsigsegv is a library to handle page faults, which occur when a program tries to access an unavailable region of memory, in user mode. By catching and handling page faults, the program can implement pageable virtual memory, stack overflow handlers, and so on. (doc)


GNU libtasn1 is a library implementing the ASN.1 notation. It is used for transmitting machine-neutral encodings of data objects in computer networking, allowing for formal validation of data according to some specifications. (doc)

logo for libtool Libtool

GNU Libtool helps in the creation and use of shared libraries, by presenting a single consistent, portable interface that hides the usual complexity of working with shared libraries across platforms. (doc)


GNU libunistring is a library providing functions to manipulate Unicode strings and for manipulating C strings according to the Unicode standard. (doc)


GNU libxmi is a library for rasterizing 2D vector graphics for C and C++. It supports drawing 2D primitives into a user-supplied matrix of pixels. It also supports the specification of sophisticated line styles such as multi-colored dashed patterns. Filling and texturing polygons is also supported. (doc)


GNU Lightning is a library that generates assembly language code at run-time. Thus, it is useful in creating Just-In-Time compilers. It abstracts over the target CPU by exposing a standardized RISC instruction set to the clients. (doc)

logo for lilypond Lilypond

GNU LilyPond is a music typesetter, which produces high-quality sheet music. Music is input in a text file containing control sequences which are interpreted by LilyPond to produce the final document. It is extendable with Guile. (doc)


GNU LIMS is a laboratory information management system. It is used for managing a scientific laboratory of any field. It consists of a set of modules for the Tryton enterprise management framework, so it is flexible to the specific needs of the laboratory. For example, the system includes modules for sample management, lab equipment integration, accounting and stock management. (doc)

logo for linux-libre Linux-libre

GNU Linux-Libre is a free (as in freedom) variant of the kernel Linux. It has been modified to remove all non-free binary blobs. (doc)

logo for liquidwar6 Liquid War 6

GNU Liquid War 6 is a fast-paced, unique action game. Each player controls a blob of liquid with the goal of conquering the entire map. It has 13 levels by default and over 100 more with a bonus pack; new levels can be easily created using simple image files. (doc)


See emacs. (doc)


GNU lrzsz is a communication package supporting the XMODEM, YMODEM and ZMODEM file transfer protocols. (doc)


GNU lsh is a free implementation of the SSH version 2 protocol. It is used to create a secure line of communication between two computers, providing shell access to the server system from the client. It provides both the server daemon and the client application, as well as tools for manipulating key files. (doc)


GNU M4 is an implementation of the M4 macro language, which features some extensions over other implementations, some of which are required by GNU Autoconf. It is used as a macro processor, which means it processes text, expanding macros as it encounters them. It also has some built-in functions, for example to run shell commands or to do arithmetic. (doc)

MAC Changer

GNU MAC Changer is a utility for viewing and changing MAC addresses of networking devices. New addresses may be set explicitly or randomly. They can include MAC addresses of the same or other hardware vendors or, more generally, MAC addresses of the same category of hardware. (doc)

logo for mailman Mailman

GNU Mailman is software for managing email discussion and mailing lists. Both users and administrators generally perform their actions in a web interface, although email and command-line interfaces are also provided. The system features built-in archiving, automatic bounce processing, content filtering, digest delivery, and more. (doc)

logo for mailutils Mailutils

GNU Mailutils is a collection of programs for managing, viewing and processing electronic mail. It contains both utilities and server daemons and all operate in a protocol-agnostic way. The underlying libraries are also available, simplifying the addition of mail capabilities to new software. (doc)


Make is a program that is used to control the production of executables or other files from their source files. The process is controlled from a Makefile, in which the developer specifies how each file is generated from its source. It has powerful dependency resolution and the ability to determine when files have to be regenerated after their sources change. GNU make offers many powerful extensions over the standard utility. (doc)


GNU MARST is an Algol-to-C translator. The package consists of the translator itself, a library that contains the necessary Algol 60 procedures, and a converter that converts existing Algol 60 programs from other representations to the MARST representation. (doc)

logo for maverik Maverik

GNU MAVERIK is a development toolkit that supports 3D virtual environments and interaction with those environments. It sits on top of a low-level rendering engine that uses OpenGL or Mesa, and provides mechanisms to render different kinds of objects, to manage environments and to provide support for 3D interaction. (doc)

logo for mc Midnight Commander

GNU Midnight Commander is a command-line file manager laid out in a common two-pane format. In addition to standard file management tasks such as copying and moving, Midnight Commander also supports viewing the contents of RPM package files and other archives and managing files on other computers via FTP or FISH. It also includes a powerful text editor for opening text files. (doc)

logo for mcron Mcron

GNU Mcron is a complete replacement for Vixie cron. It is used to run tasks on a schedule, such as every hour or every Monday. Mcron is written in Guile, so its configuration can be written in Scheme; the original cron format is also supported. (doc)

logo for mcsim MCSim

GNU MCSim is a package to perform simulations. It supports statistical or deterministic simulation models via Monte Carlo stochastic simulations or dynamic, ODE-based simulations. It also can do Bayesian inference through Markov Chain Monte Carlo simulations. (doc)

MIX Development Kit

GNU MDK is the Mix Development Kit, an emulation of the pedagogical computer MIX and its assembly language MIXAL. MIX has a virtual CPU with standard features such as registers, memory cells, an overflow toggle, comparison flags, input-output devices, and a set of binary instructions. The package includes a compiler, a virtual machine, a GUI for the virtual machine, and more. (doc)

logo for mediagoblin Mediagoblin

GNU MediaGoblin is a free media publishing platform. It runs in a federalized manner, freeing the user from centralized web services. It supports pictures, videos and audio. (doc)

logo for melting Melting

GNU MELTING computes the enthalpy, entropy and melting temperature of helix-coil transitions of a nucleic acid duplex. (doc)


The MemPool library is a stand-alone memory allocation library. It is a block allocator library that uses a single fixed size memory pool to allocate variable sized memory blocks, and exports functions similar to malloc, realloc and free. It is intended to either simulate low memory targets on GNU/Linux and other systems, or to completely replace the system memory management. (doc)


GNU Mes aims to help create full source bootstrapping for GNU/Linux systems such as Guix System. It features a mutual self-hosting Scheme interpreter written in a simple C, and a Nyacc-based C compiler written in GNU Guile-compatible Scheme. The Mes C library supports bootstrapping gcc. (doc)


GNU MetaHTML is a server-side programming language designed for the World Wide Web. It has a syntax that is similar to HTML and Lisp. It provides a large function library, including support for sockets, image creation and connections to other programs. (doc)


GNU mifluz is a C++ library to store a full-text inverted index. It stores the occurrences of words in a set of texts in such a way that they can later be searched. Upon searching for a word, the index returns the list of documents which contain that word. (doc)


See hurd. (doc)


GNU Miscfiles is a collection of common data files. They include, for example, country abbreviations, names and capital cities; currency abbreviations and names; a Best Current Practices index; a map of the ASCII character set; a list of three-letter airport codes; and an English word list. (doc)

logo for mit-scheme MIT/GNU Scheme

GNU/MIT Scheme is an implementation of the Scheme programming language. It provides an interpreter, a compiler and a debugger. It also features an integrated Emacs-like editor and a large runtime library. (doc)


GNU Moe is a powerful-but-simple-to-use text editor. It works in a modeless manner, and features an intuitive set of key-bindings that assign a degree of severity to each key; for example, key combinations with the Alt key are for harmless commands like cursor movements while combinations with the Control key are for commands that will modify the text. Moe features multiple windows, unlimited undo/redo, unlimited line length, global search and replace, and more. (doc)


GNU Motti is a simple multiplayer strategy game played in a terminal. The objective of the game is to conquer enemy capitals by occupying and encircling territory. (doc)


GNU MPC is a C library for performing arithmetic on complex numbers. It supports arbitrarily high precision and it correctly rounds the results. (doc)

logo for mpfr Mpfr

GNU MPFR is a C library for performing multiple-precision, floating-point computations with correct rounding. (doc)


GNU MPRIA is a C library for performing rational arithmetic computations with arbitrarily high precision. It builds on the GMP library. (doc)


GNU Mtools is a set of utilities for accessing MS-DOS disks from a GNU or Unix system. It supports long file names and multiple disk formats. It also supports some FAT-specific features such as volume labels and FAT-specific file attributes. (doc)


GNU Nana is a framework for adding assertion checking, logging and performance measurement to C and C++ programs. Operations can either be implemented directly in C or by generating debugger commands. Checking and logging features can be enabled or disabled at compile or runtime. (doc)

logo for nano Nano

GNU nano is a small and simple text editor for use in a terminal. Besides basic editing, it supports: undo/redo, syntax highlighting, spell checking, justifying, auto-indentation, bracket matching, interactive search-and-replace (with regular expressions), and the editing of multiple files. (doc)


nano-archimedes is a free package for the simulation of quantum systems. It is based on the Wigner equation, a formulation of quantum mechanics in terms of a phase-space which is mathematically equivalent to the Schroedinger equation. nano-archimedes implements the Wigner Monte Carlo method. The code can be easily extended to density functional theory (DFT) and time-dependent ab-initio simulations. (doc)


GNU Ncurses is a library which provides capabilities to write text to a terminal in a terminal-independent manner. It supports pads and color as well as multiple highlights and forms characters. It is typically used to implement user interfaces for command-line applications. The accompanying ncursesw library provides wide character support. (doc)


GNU Nettle is a low-level cryptographic library. It is designed to fit in easily in almost any context. It can be easily included in cryptographic toolkits for object-oriented languages or in applications themselves. (doc)

logo for ocrad Ocrad

GNU Ocrad is an optical character recognition program based on a feature extraction method. It can read images in PBM, PGM or PPM formats and it produces text in 8-bit or UTF-8 formats. (doc)

logo for octave Octave

GNU Octave is a high-level interpreted language that is specialized for numerical computations. It can be used for both linear and non-linear applications and it provides great support for visualizing results. Work may be performed both at the interactive command-line as well as via script files. (doc)


GNU Oleo is a spreadsheet program. It offers both a terminal interface and a LessTif-based graphical user interface. It features familiar, Emacs-like keybindings. It supports many standard spreadsheet features such as macros and functions. (doc)


GNU OrgaDoc is a system for easily maintaining a pool of documents between computers. Documents are synchronized by rsync or unison; no database or HTTP server is required. (doc)

logo for osip oSIP

GNU oSIP is an implementation of the SIP protocol. It is used to provide multimedia and telecom software developers with an interface to initiate and control SIP sessions. (doc)


GNU Panorama is a framework for producing 3D graphics. It can perform various effects, such as focal blur, arbitrary light sources, bump mapping, and several lighting effects. (doc)

logo for parallel Parallel

GNU Parallel is a tool for executing shell jobs in parallel using one or more computers. Jobs can consist of single commands or of scripts and they are executed on lists of files, hosts, users or other items. (doc)


GNU Parted is a package for creating and manipulating disk partition tables. It includes a library and command-line utility. (doc)


Patch is a program that applies changes to files based on differences laid out as by the program diff. The changes may be applied to one or more files depending on the contents of the diff file. It accepts several different diff formats. It may also be used to revert previously applied differences. (doc)


GNU paxutils is a suite of archive utilities. It contains versions of the cpio, tar and pax archivers. (doc)

logo for pcb Pcb

GNU PCB is an interactive tool for editing printed circuit board layouts. It features a “ratsnest” implementation, schematic/netlist import, and design rule checking. It also includes an autorouter and a trace optimizer; and it can produce photorealistic and design review images. (doc)


GNU Pem is a simple tool for tracking personal income and expenses. It operates from the command line and it stores its data in a basic text format in your home directory. It can easily print reports of your spending on different expenses via a basic search feature. (doc)


GNU pexec is a program for executing commands or shell scripts in parallel on one or many computers. As it works, execution parameters such as the environment variables or standard input, output and error can be varied. (doc)


GNU pies is a program that supervises the invocation and execution of other programs. It reads the list of programs to be started from its configuration file, executes them, and then monitors their status, re-executing them as necessary. (doc)


GNU Plotutils is a package for plotting and working with 2D graphics. It includes a library, libplot, for C and C++ for exporting 2D vector graphics in many file formats. It also has support for 2D vector graphics animations. The package also contains command-line programs for plotting scientific data. (doc)

logo for poke Poke

GNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them. (doc)


GNU proxyknife is a tool to validate free proxies from behind a firewall. The validation process is fully customizable to meet your needs. (doc)

logo for pspp PSPP

GNU PSPP is a statistical analysis program. It can perform descriptive statistics, T-tests, linear regression and non-parametric tests. It features both a graphical interface as well as command-line input. PSPP is designed to interoperate with Gnumeric, LibreOffice and OpenOffice. Data can be imported from spreadsheets, text files and database sources and it can be output in text, PostScript, PDF or HTML. (doc)

logo for psychosynth Psychosynth

GNU Psychosynth is an interactive, modular soft-synth. It emulates a 3D surface on which modules are placed and manipulated, generating and altering music. Psychosynth consists of a C++ library, a 3D interface and a command-line interface. (doc)

logo for pth Pth

GNU Pth is a portable library providing non-preemptive, priority-based scheduling for multiple execution threads. Each thread has its own program-counter, run-time stack, signal mask and errno variable. Threads are scheduled in a cooperative way, rather than in the standard preemptive way, such that they are managed according to priority and events. However, Pth also features emulation of POSIX.1c threads (pthreads) for backwards compatibility. (doc)


See kawa. (doc)

logo for r R

R is a language and environment for statistical computing and graphics. It provides a variety of statistical techniques, such as linear and nonlinear modeling, classical statistical tests, time-series analysis, classification and clustering. It also provides robust support for producing publication-quality data plots. A large amount of 3rd-party packages are available, greatly increasing its breadth and scope. (doc)


Radius is a server for remote user authentication and accounting. It is generally useful for networks that require a centralized authentication and accounting services for its workstations. Authentication can be performed in a variety of ways, such as via /etc/passwd or credentials stored in an SQL database. (doc)


RCS is the original Revision Control System. It works on a file-by-file basis, in contrast to subsequent version control systems such as CVS, Subversion, and Git. This can make it suitable for system administration files, for example, which are often inherently local to one machine. (doc)


The GNU readline library allows users to edit command lines as they are typed in. It can maintain a searchable history of previously entered commands, letting you easily recall, edit and re-enter past commands. It features both Emacs-like and vi-like keybindings, making its usage comfortable for anyone. (doc)

logo for recutils Recutils

GNU Recutils is a set of tools and libraries for creating and manipulating text-based, human-editable databases. Despite being text-based, databases created with Recutils carry all of the expected features such as unique fields, primary keys, time stamps and more. Many different field types are supported, as is encryption. (doc)


GNU RefTex is a package for implementing labels, references, citations and indices in LaTeX documents. It works by wrapping around four LaTeX macros: label, ref, cite and index. It automates the common tasks that normally are required when using these macros. (doc)

logo for remotecontrol Remotecontrol

GNU Remotecontrol is a web application for managing IP-enabled HVAC thermostats and other building automation devices. The application can read data from and write data to multiple such devices. (doc)


GNU Rot[t]log is a program for managing log files. It is used to automatically rotate out log files when they have reached a given size or according to a given schedule. It can also be used to automatically compress and archive such logs. Rot[t]log will mail reports of its activity to the system administrator. (doc)


The GNU Role Playing Game Engine provides an engine for creating two-dimensional, graphical role-playing games, providing, for example, a sprite-tiling grid, sprite rendering, and event handling. (doc)


GNU Rush is a restricted user shell, for systems on which users are to be provided with only limited functionality or resources. Administrators set user rights via a configuration file which can be used to limit, for example, the commands that can be executed, CPU time, or virtual memory usage. (doc)


GNU Sather is an object-oriented programming language similar to Eiffel. It is designed to be simple, efficient, safe, and non-proprietary. It features garbage collection, statically-checked strong typing, multiple inheritance, parameterized classes and more. This package consists of a compiler, a class library, the language specification and programming manual, and a browser for displaying sources and directed graphs of class inheritance. (doc)

logo for scm SCM

GNU SCM is an implementation of Scheme. This implementation includes Hobbit, a Scheme-to-C compiler, which can generate C files whose binaries can be dynamically or statically linked with a SCM executable. (doc)


GNU Screen is a terminal window manager that multiplexes a single terminal between several processes. The virtual terminals each provide features such as a scroll-back buffer and a copy-and-paste mechanism. Screen then manages the different virtual terminals, allowing you to easily switch between them, to detach them from the current session, or even splitting the view to show two terminals at once. (doc)


Sed is a non-interactive, text stream editor. It receives a text input from a file or from standard input and it then applies a series of text editing commands to the stream and prints its output to standard output. It is often used for substituting text patterns in a stream. The GNU implementation offers several extensions over the standard utility. (doc)

logo for serveez Serveez

GNU Serveez is a server framework providing the routines necessary to easily implement IP-based servers in your application. It demonstrates aspects of network programming in a portable manner, making it convenient for both simplifying the process of adding a server to your application or for learning about how network services work. Several example servers are provided already, such as an HTTP server and an IRC server. (doc)


GNU sharutils is a package for creating and manipulating shell archives that can be readily emailed. A shell archive is a file that can be processed by a Bourne-type shell to unpack the original collection of files. This package is mostly for compatibility and historical interest. (doc)


The GNU Shepherd is a daemon-managing daemon, meaning that it supervises the execution of system services, replacing similar functionality found in typical init systems. It provides dependency-handling through a convenient interface and is based on GNU Guile. (doc)

logo for shishi Shishi

GNU Shishi is a free implementation of the Kerberos 5 network security system. It is used to allow non-secure network nodes to communicate in a secure manner through client-server mutual authentication via tickets. (doc)


GNU SHMM is a shared memory manager. It can read or write to shared memory. It also supports other commands such as locking or unlocking a block of shared memory identified by key and size. (doc)

logo for shtool Shtool

GNU shtool is a multipurpose shell tool. It can perform the functions of many different commands, in order to provide a single tool to distribute with a source distribution in order to ensure portability of shell scripts. For example, shtool can perform the jobs of the common commands install, mkdir or echo on systems that lack them. (doc)


GNU SIP Witch is a peer-to-peer Voice-over-IP server that uses the SIP protocol. Calls can be made from behind NAT firewalls and without the need for a service provider. Its peer-to-peer design ensures that there is no central point for media intercept or capture and thus it can be used to construct a secure telephone system that operates over the public internet. (doc)

logo for slib SLIB

GNU SLIB is a portable common library for the Scheme programming language. It supports a large variety of different Scheme implementations, offering them a framework for using packages of Scheme procedures and syntax. (doc)

logo for smalltalk Smalltalk

GNU Smalltalk is a free implementation of the Smalltalk language. It implements the ANSI standard for the language and also includes extra classes such as ones for networking and GUI programming. (doc)

logo for solfege Solfege

GNU Solfege is a program for practicing musical ear-training. With it, you can practice your recognition of various musical intervals and chords. It features a statistics overview so you can monitor your progress across several sessions. Solfege is also designed to be extensible so you can easily write your own lessons. (doc)


GNU SpaceChart lets you view how the stars are distributed in three-dimensional space. It allows you, for example, to determine the distances between stars, to view them from any point of view, or to filter your view by spectral class and luminosity. (doc)


Spell is a command-line spell-checking program. It reads through a text input and prints each misspelled word on a line of its own. It is implemented as a wrapper for GNU aspell or ispell. (doc)


GNU Sqltutor is a web-based, interactive SQL tutorial. It features multiple tutorials available in different languages. The tutorials present a series of questions in a dialog and, when complete, they display a final evaluation including correct answers for wrong solutions. (doc)


GNU source-highlight reads in a source code file and produces an output file in which the keywords are highlighted in different colors to designate their syntactic role. It supports over 150 different languages and it can output to 8 different formats, including HTML, LaTeX and ODF. It can also output to ANSI color escape sequences, so that highlighted source code can be seen in a terminal. (doc)

Spread Sheet Widget

A Gtk+ widget providing a 2 dimensional array to view and manipulate tabular data similar to that provided by popular spread sheet programs. The design follows the model-view-controller paradigm and is O(1) in both time and space, providing very fast and efficient operation even on very large data. Features such as cut and paste, drag and drop etc are included. (doc)


GNU Stow is a symlink manager. It generates symlinks to directories of data and makes them appear to be merged into the same directory. It is typically used for managing software packages installed from source, by letting you install them apart in distinct directories and then create symlinks to the files in a common directory such as /usr/local. (doc)

logo for stump Stump

GNU STUMP is a robomoderator program for USENET newsgroups and mailing lists, featuring web-based moderation. It supports group moderation via multiple human moderators. It can also automatically reject non-conforming messages without human intervention. It includes a web interface. (doc)


GNU Superopt is a function sequence generator for superoptimization. It uses an exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. This package is looking for a maintainer. (doc)


Swbis is a software administration system specified by POSIX. It features network-transparent management of software packages for system administrators. For example, entire file system directories can be copied host-to-host across a network in a transparent manner. The package also features advanced tarball creation methods and integrity checking mechanisms. (doc)

logo for taler Taler

Taler provides a payment system that makes privacy-friendly online transactions fast and easy. (doc)


The GNU Talk Filters are programs that convert English text into stereotyped or otherwise humorous dialects. The filters are provided as a C library, so they can easily be integrated into other programs. (doc)


Tar provides the ability to create tar archives, as well as the ability to extract, update or list files in an existing archive. It is useful for combining many files into one larger file, while maintaining directory structure and file information such as permissions and creation/modification dates. GNU tar offers many extensions over the standard utility. (doc)


GNU termcap is a library and a database that are used to enable the use of display terminals in a terminal-independent manner. The database describes the capabilities of many different display terminals. The library can then adapt generalized instructions given by a program to the specific capabilities of the display terminal as found in the database. (doc)


The GNU Termutils package contains two programs, tput and tabs. tput is used in shell scripts to manipulate the terminal display, for example by clearing it or moving the cursor to a specific point, centering text or underlining text. tabs is used to specify and set hardware tab stops on terminals that support it. (doc)


GNU Teseq is a program that analyzes files that contain control sequences. It converts the sequences that it encounters into a human-readable description of what actions those sequences perform. It can also translate its output back into machine-readable control sequences. (doc)

TeX for the Impatient

TeX for the Impatient is a ~350 page book on TeX, plain TeX and Eplain, written by Paul Abrahams, Kathryn Hargreaves and Karl Berry. (doc)


Texinfo is the official documentation format of the GNU project. It uses a single source file using explicit commands to produce a final document in any of several supported output formats, such as HTML or PDF. This package includes both the tools necessary to produce Info documents from their source and the command-line Info reader. The emphasis of the language is on expressing the content semantically, avoiding physical markup commands. (doc)

logo for texmacs TeXmacs

GNU TeXmacs is a text editing platform which is specialized for scientists. It is ideal for editing structured documents with different types of content. It has robust support for mathematical formulas and plots. It can also act as an interface to external mathematical programs such as R and Octave. TeXmacs is completely extensible via Guile. (doc)


Time is a command that displays information about the resources that a program uses. The display output of the program can be customized or saved to a file. (doc)


TRAMP is a GNU Emacs package that allows you to access files on remote machines as though they were local files. This includes editing files, performing version control tasks and modifying directory contents with dired. Access is performed via ssh, rsh, rlogin, telnet or other similar methods. (doc)


See gnun. (doc)


GNU Trueprint translates C source code files as PostScript files. In addition to the basic source code output, it can also perform diff-marking, indentation counting, function and file indices and more. (doc)


GNU Unifont is a bitmap font covering essentially all of Unicode's Basic Multilingual Plane. The package also includes utilities to ease adding new glyphs to the font. (doc)


GNU Units converts numeric quantities between units of measure. It can handle scale changes through adaptive usage of standard scale prefixes (micro-, kilo-, etc.). It can also handle nonlinear conversions such as Fahrenheit to Celsius. Its interpreter is powerful enough to be used effectively as a scientific calculator. (doc)


GNU UnRTF converts text documents from RTF to HTML, LaTeX, or troff. It supports changes in font characteristics, underlines and strikethroughs, superscripts and subscripts, and more. (doc)


GNU Userv is a utility that allows one program to invoke another even when only limited trust exists between them. This prevents the need from having to first switch to a different user account to perform certain tasks. (doc)


Taylor UUCP is the GNU implementation of UUCP (Unix-to-Unix Copy), a set of utilities for remotely transferring files, email and net news between computers. (doc)


The vc-dwim package contains two tools, vc-dwim and vc-chlog. vc-dwim is a tool that simplifies the task of maintaining a ChangeLog and using version control at the same time, for example by printing a reminder when a file change has been described in the ChangeLog but the file has not been added to the VC. vc-chlog scans changed files and generates standards-compliant ChangeLog entries based on the changes that it detects. (doc)


GNU VCDImager is a suite of programs for working with Video CDs and Super Video CDs. It can be used for authoring, disassembling and analyzing discs. It supports full playback control, segment play items, automatic padding of MPEG streams on the fly, and extraction of Video CDs into files. (doc)


V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing acronyms distributed as an info document. (doc)


See gforth. (doc)

logo for wb WB

GNU WB is a disk-based, sorted, associative-array database package for C, Scheme, Java and C#. Rather than being implemented via hashing, WB uses B-trees, which are optimized for using the minimum number of disk operations. (doc)


GNU Wdiff is a front-end to the diff program from Diffutils that allows you to compare files on a word-by-word basis, where a word is anything between whitespace. (doc)


GNU Websocket4j is a Java library implementing the WebSocket protocol. With it, you can build web applications that interact with Java applications. The library includes both server- and client-side functionality. (doc)


See stump. (doc)


GNU Wget is a non-interactive tool for fetching files using the HTTP, HTTPS and FTP protocols. It can resume interrupted downloads, use file name wild cards, supports proxies and cookies, and it can convert absolute links in downloaded documents to relative links. (doc)

logo for which Which

The which program finds the location of executables in PATH, with a variety of options. It is an alternative to the shell type built-in command. (doc)


GNU XaoS is a graphical program that generates fractal patterns and allows you to zoom in and out of them infinitely in a fluid, continuous manner. It also includes tutorials that help to explain how fractals are built. It can generate many different fractal types such as the Mandelbrot set. (doc)


GNU XBoard is a graphical board for all varieties of chess, including international chess, xiangqi (Chinese chess), shogi (Japanese chess) and Makruk. Several lesser-known variants are also supported. It presents a fully interactive graphical interface and it can load and save games in the Portable Game Notation. (doc)

logo for xlogmaster Xlogmaster

GNU Xlogmaster is a program with a graphical user interface that lets you monitor your system logs in a convenient way. The logs can be displayed with filters for highlighting or hiding lines. The program can also be used to automate taking actions upon user-defined events. (doc)


GNU Xnee is a program that can record, replay and distribute user actions in X11. It can be used to automate user interactions for testing or demonstration purposes. (doc)


GNU Xorriso is a tool for copying files to and from ISO 9660 Rock Ridge, a.k.a. Compact Disc File System, filesystems and it allows session-wise manipulation of them. It features a formatter and burner for CD, DVD and BD. It can operate on existing ISO images or it can create new ones. xorriso can then be used to copy files directly into or out of ISO files. (doc)

logo for zile Zile

GNU Zile is a lightweight Emacs clone. Its usage is similar to the default Emacs configuration, but it carries a much lighter feature set. (doc)

See info about this list at top.