ArticleslgStudy

computer science

List of GNU packages

List of GNU packages is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand List of GNU packages rather than just read about it. In short: A number of notable software packages were developed for, or are maintained by, the Free Software Foundation as part of the GNU Project. General aspects of GNU packages Summarising the situation in 2013, Richard Stallman identified nine aspects which generally apply to being a GNU package, but he noted that exceptions and flexibility are possible when there are good reasons: The package should say that it is a GNU p…

List of GNU packages — main illustration
List of GNU packages — illustration

Key takeaways

  • List of GNU packages belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect List of GNU packages to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of List of GNU packages from memory before moving on to harder problems.

Reference excerpt

A number of notable software packages were developed for, or are maintained by, the Free Software Foundation as part of the GNU Project.

General aspects of GNU packages Summarising the situation in 2013, Richard Stallman identified nine aspects which generally apply to being a GNU package, but he noted that exceptions and flexibility are possible when there are good reasons:

The package should say that it is a GNU package. It should be distributed via ftp.gnu.org, or another site offering access to everyone. The package's homepage should be on the GNU website. The developers must pay attention to making their software work well with other GNU packages. Documentation should be in Texinfo format, or in a format easily convertible to Texinfo. Should use GNU Guile for its extension language, but exceptions are explicitly possible in this regard. Should not recommend any non-free program, nor refer the user to any non-free documentation or non-free software. Use GNU terminology, including referring to GNU/Linux systems and free software in situations where other observers would write Linux and open source. The maintainer should be contactable, at least infrequently, to discuss problems in the software or fixing compatibility issues.

Base system There is no official "base system" of the GNU operating system. GNU was designed to be a replacement for Unix operating systems of the 1980s and used the POSIX standards as a guide, but either definition would give a much larger "base system". The following list is instead a small set of GNU packages which seem closer to being "core" packages than being in any of the further down sections. Inclusions (such as plotutils) and exclusions (such as the C standard library) are of course debatable.

Notes

Software development The software listed below is generally useful to software developers and other computer programmers.

GNU toolchain

GNU Binutils – contains the GNU assembler (as) and the GNU linker (ld) GNU Bison – parser generator intended to replace yacc GNU build system (autotools) – contains Autoconf, Automake, Autoheader, and Libtool GNU Compiler Collection – optimizing compiler for many programming languages, including C, C++, Fortran, Ada, and Java GNU Debugger (gdb) – an advanced debugger GNU m4 – macro processor GNU make – Make program for GNU

Other libraries and frameworks The following libraries and software frameworks are often used in combination with the basic toolchain tools above to build software. (For libraries specifically designed to implement GUI desktops, see Graphical desktop.)

BFD – object file library DotGNU – replacement for Microsoft .NET GNU C Library (glibc) – POSIX-compliant C library GNU Classpath – libraries for Java GNU FriBidi – a library that implements Unicode's Bidirectional Algorithm GNU ease.js – A Classical Object-Oriented framework for JavaScript GNU gettext – internationalization library Gnulib – portability library designed for use with the GNU build system GNU libmicrohttpd – embeddable HTTP server GNU lightning – just-in-time compilation for generating machine language GNU oSIP – Session Initiation Protocol library to implement VoIP applications GNU Portable Threads (pth) – software threads for POSIX-compatible operating systems

Other compilers and interpreters The following packages provide compilers and interpreters for programming languages beyond those included in the GNU Compiler Collection.

CLISP – ANSI Common Lisp implementation (compiler, debugger, and interpreter) Gawk – GNU awk implementation GnuCOBOL – COBOL compiler GNU Common Lisp – implementation of Common Lisp GNU Guile - embeddable implementation for the Scheme programming language GNU MDK – a development kit for programming in MIX GNU Pascal – Pascal compiler GNU Smalltalk – ANSI Smalltalk-98 implementation (interpreter and class library) MIT/GNU Scheme – interpreter, compiler and library for the Scheme programming language developed at MIT SmartEiffel – GNU Eiffel compiler Gforth — GNU Forth compiler

Other developer tools Data Display Debugger – debugger front-end for several debuggers (ddd) GNU arch – distributed revision control system (deprecated in favor of GNU Bazaar) GNU AutoGen – active tier-style tool for automated code generation GNU Bazaar – distributed revision control system GNU cflow – generates C flow graphs GNU cppi – indents C preprocessor directives in files to reflect their nesting GNU Fontutils – font management utilities GNU gperf – perfect hash function generator GNU indent – program to indent C and C++ source code GNU complexity – measures the complexity of C source code GNUnited Nations - program for the translation of html files.

User applications The software listed below is generally useful to users not specifically engaged in software development.

Graphical desktop The following packages provide GUI desktop environments, window managers, and associated graphics libraries.

GNUstep – implementation of the Cocoa/OpenStep libraries and development tools for graphical applications Window Maker – window manager for the GNUstep environment

General system administration GNU Accounting Utils – set of utilities providing statistics on users and processes (last, ac, accton, lastcomm, sa, dump-utmp, dump-acct) GNU ddrescue – data recovery tool GNU Emacs – implementation of Emacs editor GNU fcrypt – on-the-fly encryption GNU Guix – package manager GNU libextractor – metadata extraction library and tool GNU Midnight Commander – text-based Orthodox file manager & FTP client Mtools − collection of tools to edit MS-DOS floppy disks GNU nano – text editor GNU parallel – shell tool for executing jobs in parallel GNU Parted – hard drive partitioning program GNU Privacy Guard – PGP encryption replacement GNU Privacy Assistant, a graphical frontend to GNU Privacy Guard GNU Stow – managing the installation of software packages pexec – shell tool for executing jobs in parallel

Database GnowSys – kernel for semantic computing (a distributed agent oriented knowledge base.) GNU dbm (GDBM) GNU Ferret – Free Entity Relationship and Reverse Engineering Tool, an SQL database designer

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with List of GNU packages

Start with the simplest possible case. Write down what List of GNU packages claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to List of GNU packages before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about List of GNU packages ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of List of GNU packages

In research
List of GNU packages appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses List of GNU packages in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
List of GNU packages is common in secondary-school and first-year university syllabi. It links to neighbouring topics GNU Project software, Lists of software, so understanding it makes those chapters shorter.
In everyday life
Look for List of GNU packages outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “List of GNU packages” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study List of GNU packages in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what List of GNU packages means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain List of GNU packages out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is List of GNU packages in simple terms?

A number of notable software packages were developed for, or are maintained by, the Free Software Foundation as part of the GNU Project. General aspects of GNU packages Summarising the situation in 2013, Richard Stallman identified nine aspects which generally apply to being a GNU package, but he n…

Why does List of GNU packages matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study List of GNU packages?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on List of GNU packages.

Tags

  • GNU Project software
  • Lists of software

Keep exploring