From Surf Wiki (app.surf) — the open knowledge base
Software standard
A software standard is a standard, protocol, or other common format of a document, file, or data transfer accepted and used by one or more software developers while working on one or more than one computer programs. Software standards enable interoperability between different programs created by different developers.
How it is used and applied
Software standards consist of certain terms, concepts, data formats, document styles and techniques agreed upon by software creators so that their software can understand the files and data created by a different computer program. To be considered a standard, a certain protocol needs to be accepted and incorporated by a group of developers who contribute to the definition and maintenance of the standard.
Some developers prefer using standards for software development because of the efficiencies it provides for code development and wider user acceptance and use of the resulting application.
The protocols HTML, TCP/IP, SMTP, POP and FTP are examples of software standards that application designers must understand and follow if their software expects to interface with these standards. For instance, in order for an email sent using Microsoft Outlook to be read by someone using Yahoo! Mail, the email must be sent using the SMTP so that the recipient's software can understand and correctly parse and display the email. Without such a standardized protocol, two different software applications would be unable to accurately share and display the information delivered between each other.
Some other widely used data formats, while understood and used by a variety of computer programs, are not considered a software standard. Microsoft Office file formats, such as .doc and .xls, are commonly converted by other computer programs to use, but are still owned and controlled by Microsoft, unlike text files (TXT or RTF.)
Creation of a software standard
Representatives from standards organizations, like W3C and ISOC, collaborate on how to make a unified software standard to ensure seamless communication between software applications. These organisations consist of groups of larger software companies like Microsoft and Apple Inc.
The complexity of a standard varies based on the specific problem it aims to address but it needs to remain simple, maintainable and understandable. The standard document must comprehensively outline various conditions, types, and elements to ensure practicality and fulfill its intended purpose. For instance, although both FTP (File Transfer Protocol) and SMTP (Simple Mail Transfer Protocol) facilitate computer-to-computer communication, FTP specifically handles the exchange of files, while SMTP focuses on the transmission of emails.
Open versus closed standards
A standard can be a closed standard or an open standard. The documentation for an open standard is open to the public and anyone can create a software that implements and uses the standard. The documentation and specification for closed standards are not available to the public, enabling its developer to sell and license the code to manage their data format to other interested software developers. While this process increases the revenue potential for a useful file format, it may limit acceptance and drive the adoption of a similar, open standard instead.
References
Safety reason for software standard to-do: Economic reason for software standard to-do: put economic reasons here
Social reason for software standard to-do: put social reasons here
Incorrect implementation of standards or specifications by multiple organizations result in a requirement for implementation specific code and special case exceptions as a necessity for cross-platform interoperability. Notable modern examples include web browser compatibility and web-services interoperability. The arbitrariness of most software concepts, which is related to historical hardware and software implementation, lack of common standards worldwide, and economic pressures.
Sometimes software standards are controlled by private corporations (the Windows GUI interface is owned by Microsoft). Sometimes software standards are controlled by open, public, or non-profit organizations (the Secure Shell 2 protocol is 'owned' by the IETF).
- Programming language syntax and semantics.
- Packet layout for Internet protocols.
- Secure Shell 2
- HTML
- ...
- Software protocols
- Client-Server interaction
- Platform
- APIs --
References
- "Software Standards".
- "Software Standards Specification".
- "Rich Text Format (RTF) Version 1.5 Specification".
- "World Wide Web Consortium (W3C)".
- "ISOC's Standards and Technology Activities: Open Standards".
- (24 July 2006). "Open Standards Requirements for Software - Rationale".
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Software standard — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report