# 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.