This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
A README file contains information about other files in a directory or archive of computer software. A form of documentation, it is usually a simple plain text file called
README.md (for a text file using markdown markup),
README.1ST – or simply
The file's name is generally written in uppercase letters. On Unix-like systems in particular this makes it easily noticed – both because lowercase filenames are more usual, and because traditionally the ls command sorts and displays files in ASCIIbetical ordering, so that uppercase filenames appear first.[nb 1]
The contents typically include one or more of the following:
- Configuration instructions
- Installation instructions
- Operating instructions
- A file manifest (list of files included)
- Copyright and licensing information
- Contact information for the distributor or programmer
- Known bugs
- Credits and acknowledgments
- A changelog (usually for programmers)
- A news section (usually for users)
This section needs expansion. You can help by adding to it. (February 2015)
Since the advent of the web as a de facto standard platform for software distribution, many software packages have moved (or occasionally, copied) some of the above ancillary files and pieces of information to a website or wiki, sometimes including the README itself, or sometimes leaving behind only a brief README file without all of the information required by a new user of the software.
In more recent times, the popular GitHub proprietary Git repository strongly encourages a README file - if one is included in the main (top-level) directory, it is automatically presented on the main web page. While traditional plain text is supported, various different file extensions and formats are also supported, and conversion to HTML takes account of the file extension of the file – in particular a "README.md" file would be treated as a GitHub Flavored Markdown file.
As a generic term
The expression "readme file" is also sometimes used generically, for files with a similar purpose. For example, the source code distributions of many free software packages, especially those following the Gnits Standards or those produced with GNU Autotools, include a standard set of readme files:
A detailed changelog, intended for programmers
A basic changelog, intended for users
Copyright and licensing information
Known bugs and instructions on reporting new ones
Guide for prospective contributors to the project
- This is often no longer the case – but LC_ALL=C ls will show the older behavior.
- Abdelhafith, Omar (2015-08-13). "README.md: History and Components". Archived from the original on 2020-01-25. Retrieved 2020-01-25.
- Raymond, Eric Steven (1996). The New Hacker's Dictionary. MIT Press. pp. 378–79. ISBN 978-0-26268092-9.
Hacker's-eye introduction traditionally included in the top-level directory of a Unix source distribution, containing a pointer to more detailed documentation, credits, miscellaneous revision history, notes, etc. […] When asked, hackers invariably relate the README convention to the famous scene in Lewis Carroll's Alice's Adventures In Wonderland in which Alice confronts magic munchies labeled "Eat Me" and "Drink Me".
- Manes, Stephen (November 1996). "README? Sure--before I buy!". PC World. 14 (11): 366.
- "PDP-10 Archive: decus/20-0079/readme.txt from decus_20tap3_198111". pdp-10.trailing-edge.com. 1974-11-27. Retrieved 2018-03-03.
[README.TXT is the DOC file for SPICE/SINC/SLIC] This failsafe tape contains the circuit analysis programs SPICE SINC and SLIC described in the Applications Software Bulletin Volume 4. requirements: SPICE requires FORTRAN-10 version 4 because of its use of Right adjusted Holerith data. Executes in about 47K. […] it also includes this file, the FOROTS to go with the SAVes and the source for SECOND.MAC, the timing routine. SPICE is broken into three parts: 1SPICE.FOR, 2 and 3. There is a printed document to describe each of the programs. These are included in the DECUS packet. The documentation and programs were origionally developed by the E.E. department of the Univ. of Calif. at Berkeley on a CDC 6400. Except to convert the FORTRAN to the DECsystem-10 no changes have been made to the programs. For the test data SLIC and SINC have shown a slight variation with respect to the 6400, SPICE shows no variation. Good luck! Ashley Grayson 27-NOV-74 [end of README.TXT]
- "DECUS 10-LIB-4 Contains 10-210 through 10-241, except 10-223". pdp-10.trailing-edge.com. 1975-03-27. Retrieved 2018-03-03.
The files on this FAILSAFE tape constitute the UCI LISP system. They are for the most part documented in the UCI LISP Manual, available from the Department of Information and Computer Science at the University of California, Irvine, California.
- "Programmer's Workbench /sys/source/lex/README". July 1977. Retrieved 2020-01-25.
- "Unix 7th edition /usr/doc/README". 1979. Retrieved 2020-01-25.
- "First 32bit BSD usr/doc/README". March 1980. Retrieved 2020-01-25.
- Langemeier, Jeff (2011-07-29). "Re: Origin of README". Retrieved 2020-01-25 – via Stackexchange.
[…] they had READMEs (actual physical printed files) for all of their punch cards and mag tape and pretty much anything else that was a "program". At that time you really needed one because of the labourous process that was involved with getting the created, ran, and everything else. These READMEs sometimes also included the actual printouts of how the punch cards were supposed to be punched as a form of error checking and debugging. The convention apparently also follows the old system in that with all the punch cards a "reem" of paper was attached with the statement README in caps printed on it, this had all of the instructions for use and loading of the punch cards into the system. For a time reference, this would have been in the 60s. […]
- "GNU Coding Standards: Releases". www.gnu.org. Retrieved 2018-03-03.
- "Code-sharing site Github turns five and hits 3.5 million users, 6 million repositories". TheNextWeb.com. 2013-04-11. Retrieved 2013-04-11.
- "Markup". GitHub. GitHub. 2014-12-25. Retrieved 2015-02-08.
- Johnson, Mark (1997-02-01). "Building a Better ReadMe". Technical Communication. Society for Technical Communication. 44 (1): 28–36. JSTOR 43089849. 
- Rescigno, Jeanne (August 1997). "Hypertext good choice for README files". Technical Communication. Society for Technical Communication. 44 (3): 214. JSTOR 43089876.
- Livingston, Brian (1998-09-14). "Check your Readme files to avoid common Windows problems". InfoWorld. Vol. 20 no. 37. InfoWorld Media Group, Inc. p. 34. Archived from the original on 2006-11-18. Retrieved 2019-06-04. 
- Benjamin, Andrew (1996-09-15) . Written at Department of Philosophy, University of Warwick, UK. Guédon, Jean-Claude (ed.). "Readme: Writing Notes - Meditations on the temporality of writing". Surfaces (Electronic journal) (in English and French). Université de Montréal, Montreal (Quebec), Canada: Les Presses de l'Université de Montréal. III (12): 1–12. ISSN 1188-2492. Archived from the original on 2006-02-20. Retrieved 2019-06-04. 
This article is based in part on the Jargon File, which is in the public domain.