ソフトウェア標準とは、 1つまたは複数のコンピュータプログラムを開発する際に、1人または複数のソフトウェア開発者が受け入れ、使用する、文書、ファイル、またはデータ転送に関する標準、プロトコル、またはその他の共通フォーマットのことです。ソフトウェア標準によって、異なる開発者によって作成された異なるプログラム間の相互運用性が可能になります。
ソフトウェア標準とは、ソフトウェア開発者が合意した特定の用語、概念、データ形式、文書スタイル、および技術のことで、それによって開発者のソフトウェアが、別のコンピュータプログラムによって作成されたファイルやデータを理解できるようになります。標準として認められるためには、特定のプロトコルが、標準の定義と維持に貢献する開発者グループによって承認され、組み込まれる必要があります。
一部の開発者は、コード開発の効率化[ 1 ]や、結果として得られるアプリケーションの幅広いユーザーによる受け入れと利用[ 2 ]のために、ソフトウェア開発に標準を使用することを好みます。
HTML、TCP/IP、SMTP、POP、FTPといったプロトコルは、アプリケーション設計者がソフトウェアがこれらの標準規格と連携することを想定する場合、理解し遵守しなければならないソフトウェア標準の例です。例えば、Microsoft Outlookで送信されたメールをYahoo!メールで受信するには、受信側のソフトウェアがメールを正しく理解し、解析して表示できるように、 SMTPプロトコルを使用して送信する必要があります。このような標準化されたプロトコルがなければ、2つの異なるソフトウェアアプリケーション間で、送受信される情報を正確に共有・表示することは不可能になります。
他の広く使われているデータ形式の中には、さまざまなコンピュータ プログラムで理解され使用されているものの、ソフトウェア標準とはみなされていないものがあります。Microsoft Officeファイル形式 (.doc や .xls など) は、他のコンピュータ プログラムでよく変換されて使用されますが、テキスト ファイル (TXT や RTF など) とは異なり、Microsoft が所有および管理しています。[ 3 ]
W3C [ 4 ]やISOC [ 5 ]などの標準化団体の代表者は、ソフトウェア アプリケーション間のシームレスな通信を保証する統一ソフトウェア標準を作成する方法について協力しています。これらの団体は、 MicrosoftやApple Inc.などの大手ソフトウェア企業のグループで構成されています。
標準規格の複雑さは、それが解決しようとする具体的な問題によって異なりますが、シンプルで保守しやすく、理解しやすいものでなければなりません。標準規格文書は、実用性を確保し、意図された目的を達成するために、さまざまな条件、種類、要素を包括的に概説する必要があります。たとえば、FTP(ファイル転送プロトコル)とSMTP(シンプルメール転送プロトコル)はどちらもコンピュータ間の通信を容易にしますが、FTPは特にファイルの交換を扱い、SMTPは電子メールの送信に重点を置いています。
標準は、クローズド標準またはオープン標準のいずれかです。オープン標準のドキュメントは一般に公開されており、誰でもその標準を実装して使用するソフトウェアを作成できます。クローズド標準のドキュメントと仕様は一般には公開されておらず、開発者はデータ形式を管理するためのコードを他の関心のあるソフトウェア開発者に販売およびライセンス供与することができます。このプロセスは有用なファイル形式の収益の可能性を高めますが、普及を制限し、代わりに同様のオープン標準の採用を促進する可能性があります。[ 6 ]