This is afailed proposal. Consensus for its implementation was not established within a reasonable period of time. If you want to revive discussion, please usethe talk page or initiate a thread atthe village pump. (November 2020.) Was not subject to anyWP:PROPOSAL process. When examined for cleanup in 2017 atWT:MOS,the extensive discussion did not come to a consensus that this is or should be a guideline, that its content represents much more than the disputed opinions of one or two editors, nor that any of it should be imported in any form into MOS. Proposals to merge some of it into the better-acceptedWikipedia:WikiProject Computer science/Manual of style have twice (2011, 2018) met with failure. |
This page contains style guidelines for creating and editing articles on computers, software, networking, the Internet and information technology. Other policies and guidelines should also be followed, and the general rules from theManual of Style also apply.
For computer technology trademarks, adhere to Wikipedia policies and style guidelines regarding trademarks. For trademarks in all capital letters or all small letters, use an initial capital letter, as is standard with proper nouns in English. For example,Unix instead of UNIX. There is no reason to explain this in the body of each article.
Keep in mindwhat Wikipedia is not. Since it is not a dictionary, each term or product does not always get its own article. Often, they are combined into topics that can be the subject of a single high quality encyclopedia article.
An article about a product should include a history of its development and major improvements. But, in the spirit of Wikipedia not beinga directory norindiscriminate, avoid a complete step-by-step record of every release or update. Common sense must be applied with regard to the level of detail to be included.
Avoid just pasting lists of features into the article, since they can become dated or removed as advertisement or copyright violations. Avoidrelative time references (such as "currently", "lately" or "now").
Each software product version must be referred to withthe most common name.
Software vendors often use one of the following approaches to refer to a specific version of a software product:
Video games add a twist to this scheme. Video game vendors often make sequels and prequels for their most notable products. They use numbers in their video game titles to show their relationship. For instanceRed Alert 2 andRed Alert 3 are two distinct but related video games. However, numbers that are part of the title are not version numbers. A separate version number may still be used. For instance,Red Alert 2 v1.008 is an updated version ofRed Alert 2.
Consistently use the most common product name. For example, useWindows XP, notWindows v5.1 orWindows NT v5.1. Do not confuse and combine these methods, e.g. never useRed Alert v2 orRed Alert version 2 to refer toRed Alert 2. Do not invent novel short forms and abbreviations.
Service packs orservice releases are computer software that modify other computer software to fix their bugs or improve them. When referring to service packs, make proper distinction betweenthe version of software product which is serviced via a service pack and theservice pack itself.
To refer to a service pack, write down the full name of service pack. For example:
To refer to a software product updated with a service pack, write: [Product name] with [Service pack name]. For example:
Alternatively, where applicable, you can specify theversion identifier of the software product for conciseness. For example:
Try to use only one of these two styles consistently throughout the entire article prose. Using both may confuse the readers with little technical knowledge as they may not understand that both forms refer to the same entity. However, if both forms are frequently used in mainstream media (as was the case with Microsoft Windows service packs), the article must introduce both and establish their relation, before consistently using one.
Exercise care while using the term "x86" because it can cause ambiguity. x86 is a type ofCPU first developed byIntel, and later by others. There are two different variations of x86 in widespread use:IA-32 andx86-64. However, due to the dominance of IA-32, the term "x86" is often used to refer to IA-32 throughmetonymy. Therefore, these terms must be used with care.
| Correct use | Incorrect use | Notes |
|---|---|---|
| "This computer program runs on IA-32 or x86-64." | "This computer program runs on x86 or x86-64." | Because x86-64 is one of the x86 variants, writing "x86 or x86-64" is at best redundant. |
| "This computer program runs on IA-32 but not x86-64." | "This computer program runs on x86 but not x86-64." | Because x86-64is x86, "x86 but not x86-64" is self-contradictory. |
| "This computer program runs on x86, ARM and PowerPC" | "This computer program runs on x86" | x86, ARM and PowerPC are incompatible (mutually exclusive) CPU architectures, hence comparing them at cross-architecture (macroscopic) level is correct, even though the accuracy might not be sufficient in the more technical contexts. But, because "x86" alone is ambiguous, it must not be used without additional qualifiers. |
Do not use the terms "32-bit", "64-bit" or other such terms of bit lengths to refer to computer, CPU or software architectures. These terms are too vague and can cause a lot of ambiguity or misinformation.
These terms are often used to refer to two well-known CPU architecture types:IA-32 (a 32-bit variant ofx86) andx64 (a 64-bit variant of x86). However, neither is IA-32 the only 32-bit CPU architecture, nor is x64 the only 64-bit CPU architecture.
Example of correct usage:
Examples of incorrect usage:
Use "Linux" instead of "GNU/Linux" to refer to the family of operating systems based on theLinux kernel. The term "GNU/Linux" may still be written as part of the proper names of individual operating systems andLinux distributions.
TheGNU/Linux naming controversy does exist, and "GNU/Linux" is a name advocated by theFree Software Foundation (FSF). Wikipedia, however, prefers thename that is most commonly used (as determined by its prevalence inreliable English-language sources). The consensus of discussions inTalk:Linux/Name is that the point of view of the FSF is not the common English-language usage.
In Wikipedia, everything needs sources, including but not limited to software release dates, software package sizes, name and number of supported languages and the programming languages used to develop software products. Avoid any unreferenced assertions, including but not limited to "multilingual", "written in C++" or "developed for Windows".
Avoid using strange forms of language. On the contrary, editors must stick to the most commonly used forms to make sure the readers feel at home. Do not use synonyms of a certain words just because they are synonyms;collocation is very important.
For instance:
Always use present tense for verbs that describe genres, types and classes, even if the subject of the description (e.g. program, library, device) no longer exists, is discontinued or is unsupported/unmaintained.
The following example is incorrect:
This sentence suggests that TrueCrypt is not a disk encryption program, although it once was. (Assume TrueCrypt has never changed its nature during its development lifecycle.)Grammatical deletion hides the fact that there are two "to be" verbs in this sentence; the more elusive fact, however, is that these two "to be" verbs are grammatically different: The first is astative verb that does not change throughout its duration while the second is adynamic verb which may cease to be valid after a duration whendiscontinuation occurs.
Use either of the following, whichever is more appropriate:
TheArbitration Committee has ruled that editors should not change an article from one guideline-defined style to another without a substantial reason unrelated to mere choice of style. Revert-warring over optional styles is unacceptable.[b] Where there is disagreement over which of the styles to use in an article, maintainstatus quo.
Hence, avoid disputes over:
This section outlines the guideline for incorporating elements ofterminals orcommand-line interpreters into Wikipedia articles, including syntax ofshell commands orprograms.
<code>...</code> tag pair. In case of presenting multiple lines of command-line code, either prefix each line with a space character or enclose them all in a<pre>...</pre> tag pair.(prompt) commandparameter-name(prompt) commandParameterName(prompt) commandparameter_name(prompt) commandparametername(prompt) commandparameter0 [..parameterN](prompt) command [parameter ...]The most common desktop operating system in use today isMicrosoft Windows, whose command-line syntax has once been based on that ofMS-DOS andOS/2; with the increasing popularity ofWindows PowerShell, however, the style has moved towards that of Unix-like systems and programming languages. As such, stick to theDOS and OS/2 guidelines for command-line elements and examples ofCommand Prompt andRecovery Console. In case of the Windows PowerShell, however, adhere to theUnix-like systems and Windows PowerShell guidelines below.
The following additional guidelines are for command-line examples of theCP/M,DOS andOS/2 families of operating systems:
DIR,AUTOEXEC.BAT or%PROMPT%).\) andforward slash(/) as a separator for directories, some programs (including most shells in their default configuration) support only the backslash. Therefore, use the backslash in examples of directory paths on local volumes unless it is important to indicate otherwise./) or ahyphen-minus (-)), but not all programs adhere to it. Therefore, if the program supports it, use the default/ in examples, unless it is important to indicate otherwise./C or-C, whereC is some character) should also be upper-case, unless they are case-sensitive.XCOPY.EXE orEDIT.COM), then the versions for which it is known to be included should be indicated.It may often be useful to provide a sample of the output that a command generates. In these cases, the full command and all arguments as they were typed are given. The output of the command will therefore be specific to environment and other variables. The tags<pre>...</pre>,<nowiki>...</nowiki> and<SyntaxHighlight>...</SyntaxHighlight> (with proper arguments) prevent conflicts with the wiki markup syntax.
TheDIR built-in command on DOS, which lists files and directories:
> DIR [options] [pattern ...]
The programMOVE.EXE on MS-DOS, whose behavior had to be emulated prior to its introduction:
> MOVE.EXEsourcetarget
Thels command on Unix-like systems, which lists files and directories:
$ ls [options] [file ...]
Themkfs command, which creates new file systems. It usually requires privileged access, so theprompt character is# instead of$
# mkfs [-tfstype] [fs-options]device
Thewget program, one of theGNU utilities, which retrieves files given aUniform Resource Identifier (URI). URIs can sometimes contain shell meta-characters, and so the parameter is usually quoted to prevent errors.
$ wget [options] "URI"
Theif built-in structure, whose syntax varies. In Bourne shell, Korn shell and Bash:
$ ifcommand ; thencommand ; ... ; fi
In C shell andtcsh:
% if (expression) thencommand ; ... ; endif
Sample output of thedf command, which lists disk space usage on mountedfile systems:
$df-PFilesystem 512-blocks Used Available Capacity Mounted on/dev/hda2 39331760 7398904 29834768 20% /
Try to specify the licensing terms of the subject of a computer program article accurately and concisely.
License agreements usually specify one or more of the following:
Wikipedia has articles about the most common software licensing schemes. Therefore, most of the times, one or two wikilinked words in the infobox can describe the licensing scheme. For instanceGPL,Freemium,BSD license orProprietarycommercial software(Write: [[Proprietary software|Proprietary]] [[commercial software]]). Avoid vague or outright non-informative phrases like"Vendor’s EULA","Multiple" and"Unknown".
Certain areas of Wikipedia such as infoboxes requirewebsite addresses (URL) to be exposed in print. To maintain readability and conciseness, certain parts of the web addresses may need to be hidden or their shorter forms used.
A web address consists of several parts, with the following examples showing some of the most commonly seen ones:
| Scheme | Fully qualified domain name (FQDN) | Request |
|---|---|---|
http:// | www.wikimedia.org | / |
http:// | windows.microsoft.com | /en-US/internet-explorer/products/ie/home |
https:// | commons.wikimedia.org | /wiki/Main_Page |
However, the reader does not need to see all of these somewhat unappealing and hard-to-remember items, thanks to the web browsers and web servers' ability to infer them. Often, the following parts can be omitted:
http:// in the displayed URL but not in the underlying link; the{{URL}} template hides this scheme automatically. Other schemes likehttps:// andftp:// need to stay./), omit it; the{{URL}} template hides this automatically. Users often omit the single slash character as the only request specification and expect the URL to work properly.The omission is only sanctioned when the functionality is undeterred. Always test the resulting URL. In the rare cases thatwww. or/ are required, it is recommended to leave an invisible wiki-markup comment to notify future editors.
If the target website provider has provided shorter alternative URLs to the webpage, use them. The only exception to this instance are short URLs that use hard-to-remember numbers. For instance:
| When the following are valid... | ...avoid the following |
|---|---|
| microsoft.com/ie | windows.microsoft.com/en-US/internet-explorer/products/ie/home |
| https://commons.wikimedia.org/ | https://commons.wikimedia.org/wiki/Main_Page |
| beautyoftheweb.com | go.microsoft.com/fwlink/?LinkId=214371 |
Do not useURL shortening services such asbit.ly. Such URLs are maintained by independent entities and are susceptible tolink rot.(See also:URL shortening § Shortcomings)
In the event that the linked website serves contents over bothHTTP andHTTPS protocols, i.e. it accepts URLs with bothhttp:// andhttps:// schemes, observe the following:[c]
https:// scheme for sites that only serve contents over HTTPS, or which support both HTTPS and HTTP. This also includes websites that do accepthttp:// addresses but redirect them tohttps://.http:// scheme for sites that do not support HTTPS at all.