README
A README file contains descriptive information about the content of a directory in which the file is located. The scope of the information generally includes the files of the directory, and may include descendant directories, or even the full directory tree. The name is intended to draw a user's attention to important and orientational information about the directory content. A rule of thumb for one unfamiliar with the content of a directory is to read the README file before other files. Although the name README is often used, there are many other similar names used for the same purpose including "Read Me" and "READ.ME". Sometimes the file name includes an extension to indicate the file format such as "README.txt" for plain text or "README.md" for Markdown.[1] The file's name is often all caps.
A README file in an archive acts the same as in a directory since an archive is like a directory that is stored as a single file.
Content
[edit | edit source]Lacking standardization, the format and content of a README file varies dramatically. For a software project, a README file commonly includes information such as:
- Configuration instructions
- Installation instructions
- Operating instructions
- A file manifest (a list of files in the directory or archive)
- Copyright and licensing information
- Contact information for the distributor or author
- A list of known bugs[2]
- Troubleshooting instructions[2]
- Credits and acknowledgments
- A changelog (usually aimed at fellow programmers)
- A news section (usually aimed at end users)
History
[edit | edit source]The convention of including a README file began in the mid-1970s.[3][4][5][6][7][8][9] Early Macintosh system software installed a Read Me on the Startup Disk, and README files commonly accompanied third-party software.
In particular, there is a long history of free software and open-source software including a README file; the GNU Coding Standards encourage including one to provide "a general overview of the package".[10]
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.
The popular source code hosting website GitHub strongly encourages the creation of a README file – if one exists in the main (top-level) directory of a repository, it is automatically presented on the repository's front page.[11] In addition to plain text, various other formats and file extensions are also supported,[12] and HTML conversion takes extensions into account – in particular a README.md is treated as GitHub Flavored Markdown.
Related
[edit | edit source]Directory content metadata is sometimes stored in files in addition to or instead of a README.[13] The following table lists commonly-used file names along with content of what is commonly in the file. As with README, there are no formal standards that govern the file names nor the content of them. Yet, there are conventions as dictated by Gnits Standards and GNU Autotools.
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 CONTRIBUTING/HACKING Guide for prospective contributors to the project FAQ Frequently asked questions and answers TODO Planned changes
See also
[edit | edit source]References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [1]
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Further reading
[edit | edit source]- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [2][3]
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [4]
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [5] Archived 2006-09-19 at the Wayback Machine
This article is based in part on the Jargon File, which is in the public domain.