|This article needs additional citations for verification. (April 2009) (Learn how and when to remove this template message)|
A readme (or read me) file contains information about other files in a directory or archive and is commonly distributed with computer software, forming part of its documentation. Such a file is usually a text file called README.TXT, README.md, README.1ST, READ.ME, or simply README, although some software may occasionally include a README.WRI, README.RTF, or README.DOC. The name is chosen so that users unaware of the existence of this type of file would be drawn to read it.
README is traditionally written in upper case, so that on case-preserving environments that display files in an ASCIIbetical ordering by default, such as the ls command in Linux, the name will appear near the beginning of a directory listing (since upper-case letters sort before lower-case letters in ASCIIbetical ordering).
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)
The expression "readme file" is also sometimes used descriptively and generically, whereby the files are not named "readme", but are considered types of readme files. 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:
README General information AUTHORS Credits THANKS Acknowledgments CHANGELOG A detailed changelog, intended for programmers NEWS A basic changelog, intended for users INSTALL Installation instructions COPYING / LICENSE Copyright and licensing information BUGS Known bugs and instructions on reporting new ones
|This section requires expansion. (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. However, the popularity of GitHub (as well as older community conventions) has contributed towards README files still being widely used in open-source software (see next section).
On GitHub, if a Git repository has a README file in its main (top-level) directory, the README file is automatically converted into formatted HTML and presented on the main web page of the git repository, underneath the list of files and directories in the repository. Various different file extensions can be used, but there should not be more than one file named "README" at the top-level of a GitHub repository. The conversion to HTML takes account of the file extension of the file – for example, naming the README file for a GitHub repository "README.md" would cause GitHub to treat it as a GitHub-flavored Markdown file, which is also the default README file format on GitHub.
This makes using GitHub a low-effort way to create a web page for a git repository (GitHub also supports the publication of wikis and separate websites, which may be formatted however the developers want).
Because the GitHub web interface lets users edit a file in a relatively streamlined way, without manually cloning the repository and manually making a pull request, it supports wiki-style editing of the README file – with approval necessary by a committer (i.e. someone who has write access to the repository) if the user is not a committer themselves.
- Johnson, Mark (February 1997). "Building a Better ReadMe". Technical Communication. Society for Technical Communication. 44 (1): 28–36.
- Livingston, Brian (14 September 1998). "Check your Readme files to avoid common Windows problems". InfoWorld. Vol. 20 no. 37. p. 34.
- Preston-Werner, Tom (23 Aug 2010). "Readme Driven Development". Tom Preston-Werner's personal blog. Retrieved 30 July 2014.
- Streb, Claire (12 Sep 2015). "All Hail the README File!". Claire N Streb - Expert Remote Senior Software Engineer's personal blog. Retrieved 12 September 2015.
- This article is based in part on the Jargon File, which is in the public domain.