Science Fair Project Encyclopedia
Generally, a version is a checkpoint at which a particular thing or idea varies from its previous state or condition. Relating to computers, versioning is an almost absolute practice in creation of software, in which the version of the software product changes with each modification in the software's code or routine. Pertaining to legal documents, and documents in general, this is when a statement or condition is added, removed, or changed. Revision control is very useful for anything that uses versions.
This is used in practical terms by the consumer, or client, by being able to compare their copy of the software product against the newest released by the programmer. For the programmer team, or company, versioning is often used on a file-by-file basis, where individual parts or sectors of the software code are compared and contrasted with newer or older revisions, often in a collaborative Concurrent Versions System. There is no absolute and definite software version schema; it can often vary from software genre to genre, and is very commonly based on the programmer's personal preference.
In software, version numbers are a numbering scheme used to allow the software development organization to better track issues and fixes within the field population. It also allows the customer service arm of the organization to know which issues have been discovered and/or fixed in which releases of the software.
Version numbers are typically three sets of digits, often separated by periods, such as version 2.1.5 or something similar. One commonly followed structure:
This numbering scheme usually denotes the major release number, the minor release number, and the revision number. There is sometimes a fourth, hidden number which denotes the software build number. This scheme is used by Microsoft. Some companies also include the build date. Version numbers may also include letters and other characters.
In most cases, the first released version of a software product has version 1.0. Numbers below 1 mean alpha or beta versions, i.e., versions for testing purposes or internal use, or versions that aren't stable enough for general or practical deployment.
In principal, in subsequent releases, the major version number is increased when there are significant jumps in functionality, the minor version number is incremented when only minor features or significant fixes have been added, and the revision version number is incremented when minor bugs are fixed. A typical product might use the numbers 0.9 (for beta software), 0.9.1, 0.9.2, 0.9.3, 0.9.4, 1.0, 1.0.1, 1.0.2, 1.0.3. 1.1, 1.1.1, 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.2, etc. Developers may at times jump (for example) from version 5.0 to 5.5 to indicate that significant features have been added, but not enough to warrant incrementing the major version number.
In practice, product names and version numbers are subject to marketing considerations. For example, Microsoft Access jumped from version 2.0 to version 7.0, to match the version number of Microsoft Word. Sun's Java, for example, has had the versions:
- JDK 1.0.3
- JDK 1.1.2 thru 1.1.8
- J2SE 1.2.0 thru 1.4.2
- J2SE 5.0
Software may have an "internal" version number which differs from the version number shown in the product name (and which typically follows version numbering rules more consistently). J2SE 5.0, for example, has the internal version number of 1.5.0.
Some developers dispense with purely numerical version numbers in their marketing, identifying versions by year (e.g. Adobe Illustrator 88, WordPerfect Office 2003), by alphanumeric codes (e.g. Macromedia Flash MX, Adobe Photoshop CS2, Microsoft Windows XP), or by codename (e.g. Mac OS X Tiger).
Not all products reach a version 1.0. For instance, the developers of MAME intend to never release a version 1.0 of their emulator program. Because there will always be more arcade games, the argument is that it will never be truly "finished".
Some programs use special numbering schemes for their own needs. The Linux kernel uses odd-numbered minor version numbers to indicate development versions, so the 2.4 and 2.6 series are release versions, but 2.5 is not.
Files and Documents
Versioning amongst documents is relatively similar to the routine used with computers and software engineering, where with each small change in the structure, contents, or conditions, the version number is incremented by 1, or a smaller or larger value, again depending on the personal preference of the author and the size or importance of changes made.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details