GNU philosophy - Essays on Free Software

MainCollectionNewsTo doBugsAuthorsMaintainersThanksDonors


DownloadContactBug reportingContributingDonatingHacking


GNU philosophy is the GNU Project’s exhaustive collection of articles and essays about free software and related matters. It provides all of them standalone or collected as a huge single book, in Info, HTML, PDF, plain text, and every other format supported by Texinfo, in several different languages. It makes the individual Texinfo source code of any essay readily available for inclusion in another package’s documentation and also implements a way to generate the whole GNU website philosophy section automatically from the Texinfo sources. Last, but not least, it facilitates the future work of the FSF (Free Software Foundation) in the publication of free software articles collection books, like: “Free Software, Free Society: Selected Essays of Richard M. Stallman”.

Some highlighted benefits are:

The maintainers set a clear commitment to not blindly take for granted the quality of automatic generated output, and therefore they adapt the Texinfo source code for the particularities of each available output format, in order to make it look better, but without the unmindful and excessive use of back-end specific code.


The current stable release is 0.1.20140214 (released February 14, 2014).

Here are the compressed sources and a GPG detached signature:

Use a mirror for higher download bandwidth:

You can find that and earlier releases at a nearby GNU ftp mirror; or if automatic redirection does not work use the GNU main ftp server.

The oldest (non-GNU) releases are available from Savannah mirror download area (alternatively Savannah download area). They are only of historical interest and are no longer supported.

Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this:

gpg --verify philosophy-0.1.20140214.tar.gz.sig

If that command fails because you don’t have the required public key, then run this command to import it:

gpg --recv-keys 0x28D618AF --keyserver hkp://

and rerun the ‘gpg --verify’ command.

This release is signed by Bruno FĂ©lix Rezende Ribeiro. His key fingerprint is ‘7CB1 208C 7336 56B7 5962 2500 27B9 C6FD 28D6 18AF’.

Check the key’s authenticity with the command

gpg --fingerprint 0x28D618AF | sed -n '/^[[:blank:]]\+Key/s/^.*= //p'

It must print the following fingerprint:

7CB1 208C 7336 56B7 5962  2500 27B9 C6FD 28D6 18AF

Otherwise something is wrong! In that case don’t use the downloaded tarball and contact the developers as described in Contact.

A CVS repository, where the development takes place, is also available. To stay up to date with the latest developments in the source tree, you can anonymously checkout the repository with the following command:

cvs -z9 co philosophy


You can get in touch with other users and the maintainers of this package subscribing to the mailing list. Anyone is welcome to join the list; to do so, visit the bug-philosophy web interface. You can use this list for all discussion, including asking for help and bug reporting, although the preferred method for reporting bugs is the dedicated bug tracking web interface described in Bug reporting. To post a message to all the list members, send email to To see the collection of prior postings to the list, visit the bug-philosophy archive.

If you feel somewhat chatty, eager for a somewhat more instantaneous response from community, you can join us on our friendly IRC channel: ‘irc://’.

Bug reporting

If you come across some problem and need help you can contact the community as described in Contact. If you think you found a bug, but is not quite sure about it, you can instead ask for support on our support tracker. We will revise your post, advise you and take the appropriate measures. If you are confident you have found a bug, you can submit a bug report directly at our bug tracker. Please, when reporting a bug include enough information for the maintainers to reproduce the problem.


This package is a collaborative effort and we encourage contributions from anyone and everyone — your help is very much appreciated. You can help in many ways:

You can join the maintainers team to contribute to addition and maintenance of articles and essays at the development page. To get started hacking see how to hack.


If you find this package useful, please send a donation to its maintainers to support their work. If you use this package at your workplace, please suggest that the company make a donation. We appreciate contributions of any size – donations enable us to spend more time working on this package, and help cover our infrastructure expenses.

If you’d like to make a donation of any value, please send it to the following Bitcoin address:


Since we aren’t a tax-exempt organization, we can’t offer you a tax deduction, but for all donations over 0.05 BTC, we’d be happy to recognize your contribution in the donors page, the file DONORS in the top-level directory of the source tree and in GNU philosophy collection book’s chapter “Donors”, for the next release. In this case, after making the donation, send an email to giving your name and the amount donated, so we can keep track of people’s names and respective donation values.

We are also happy to consider making particular improvements or changes, or giving specific technical assistance, in return for a substantial donation over 0.5 BTC. If you would like to discuss this possibility, write to us at

Another possibility is to pay a software maintenance fee. Again, write to us about this at to discuss how much you want to pay and how much maintenance we can offer in return.

Thanks for your support!


The development sources are available through CVS at Savannah:

If you are getting the sources from CVS (or change, you’ll need to have GNU Autoconf, GNU Automake and GNU Texinfo installed to (re)build. All of these programs are available from Their required minimal versions are:

This release was bootstrapped with the following versions:

After getting the CVS sources, and installing the tools above, you can run, in the top-level directory of the source tree, ‘./bootstrap’ and then ‘srcdir/configure’ to do a fresh build. After that first time, running make should suffice. See file INSTALL.