Un estándar de software es un estándar , protocolo u otro formato común de un documento, archivo o transferencia de datos aceptado y utilizado por uno o más desarrolladores de software mientras trabajan en uno o más programas informáticos. Los estándares de software permiten la interoperabilidad entre diferentes programas creados por diferentes desarrolladores.
Los estándares de software consisten en ciertos términos, conceptos, formatos de datos, estilos de documentos y técnicas acordados por los creadores de software para que su software pueda comprender los archivos y datos creados por un programa informático diferente. Para que se considere un estándar, un protocolo determinado debe ser aceptado e incorporado por un grupo de desarrolladores que contribuyen a la definición y el mantenimiento del estándar.
Algunos desarrolladores prefieren utilizar estándares para el desarrollo de software debido a la eficiencia que proporciona para el desarrollo de código [1] y una mayor aceptación por parte de los usuarios y el uso de la aplicación resultante. [2]
Los protocolos HTML , TCP/IP , SMTP , POP y FTP son ejemplos de estándares de software que los diseñadores de aplicaciones deben comprender y seguir si su software espera interactuar con estos estándares. Por ejemplo, para que un correo electrónico enviado mediante Microsoft Outlook pueda ser leído por alguien que utilice Yahoo! Mail , el correo electrónico debe enviarse mediante SMTP para que el software del destinatario pueda comprenderlo, analizarlo y mostrarlo correctamente. Sin un protocolo estandarizado de este tipo, dos aplicaciones de software diferentes no podrían compartir y mostrar con precisión la información que se envían entre sí.
Otros formatos de datos ampliamente utilizados, aunque son comprendidos y utilizados por una variedad de programas informáticos, no se consideran un estándar de software. Los formatos de archivo de Microsoft Office , como .doc y .xls, son comúnmente convertidos por otros programas informáticos para su uso, pero aún son propiedad de Microsoft y están controlados por esta , a diferencia de los archivos de texto ( TXT o RTF ) . [3]
Representantes de organizaciones de normalización , como W3C [4] e ISOC [5], colaboran para elaborar un estándar de software unificado que garantice una comunicación fluida entre aplicaciones de software. Estas organizaciones están formadas por grupos de empresas de software más grandes, como Microsoft y Apple Inc.
La complejidad de un estándar varía según el problema específico que pretende resolver, pero debe seguir siendo simple, fácil de mantener y comprensible. El documento estándar debe describir de forma exhaustiva las diversas condiciones, tipos y elementos para garantizar su practicidad y cumplir con su propósito previsto. Por ejemplo, aunque tanto el protocolo FTP (File Transfer Protocol) como el protocolo SMTP (Simple Mail Transfer Protocol) facilitan la comunicación entre computadoras, el FTP se ocupa específicamente del intercambio de archivos, mientras que el SMTP se centra en la transmisión de correos electrónicos.
Un estándar puede ser un estándar cerrado o un estándar abierto . La documentación de un estándar abierto está abierta al público y cualquiera puede crear un software que implemente y utilice el estándar. La documentación y las especificaciones de los estándares cerrados no están disponibles para el público, lo que permite a su desarrollador vender y licenciar el código para gestionar su formato de datos a otros desarrolladores de software interesados. Si bien este proceso aumenta el potencial de ingresos de un formato de archivo útil, puede limitar la aceptación e impulsar la adopción de un estándar abierto similar. [6]