文書化されていない機能とは、意図されていない、あるいは文書化されていないハードウェア操作(例えば、文書化されていない命令)や、コンピューターのハードウェアやソフトウェアに見られる、有益または有用であると考えられるソフトウェア機能などです。文書化が見落とされてしまう場合もありますが、文書化されていない機能はエンドユーザーによる使用を意図しておらず、ベンダーがソフトウェアのサポートや開発のために利用できるように残されている場合もあります。また、ハードウェアやソフトウェアの意図しない操作が、最終的にユーザーにとって有用なものになる場合も、単なるバグ、欠陥、または不具合です。
ソフトウェアの供給者は通常、ソフトウェアのドキュメントをソフトウェアの動作に関する契約とみなすため、ドキュメント化されていない機能は一般にサポートされず、ユーザーへの通知なしに任意に削除または変更される可能性があります。
文書化されていない機能やサポートされていない機能は、「メーカーサポートなし」(NOMAS)と呼ばれることもあります。これは1980年代初頭にPPC Journalで造られた用語です。 [ 1 ] [ 2 ] [ 3 ] [ 4 ]ユーザーから報告された欠陥の中には、ソフトウェア開発者が期待通りに動作していると 見なすものもあり、「これはバグではなく、機能だ」(INABIAF)というキャッチフレーズやその派生語が生まれています。[ 5 ]
MOS Technology 6502およびその派生製品には、不正オペコードと呼ばれる、文書化されていない命令がプログラマーによって使用されることがあります。これらはWDC 65C02で削除されました。

ビデオゲームやデモシーンのプログラマーは、コンピューターのハードウェアの意図しない動作を利用して、新しい効果や最適化を生み出してきました。
2019年、研究者らは、VISAと呼ばれるメーカーのデバッグモードに、ほとんどのIntelベースのマザーボードに搭載されているチップセットであるIntel Platform Controller Hubs (PCH) の文書化されていない機能があり、通常のマザーボードでモードにアクセスできることを発見しました。[ 6 ]チップセットは直接メモリにアクセスするため、セキュリティ上の問題があります。
ドキュメント化されていない機能(例えば、MS-DOSのスイッチ文字(通常はハイフン)を変更する機能)は、互換性(この場合はUnixユーティリティとの互換性)や将来の拡張性のために組み込まれることがあります。しかし、ソフトウェアプロバイダーがビジネスに合わせてソフトウェア戦略を変更した場合、ドキュメント化されていない機能によって、機能の削除を正当化しやすくなります。
ソフトウェアの新バージョンでは、ドキュメントから古い(おそらく置き換えられた)機能についての言及を省略することがあるが、それらの機能に慣れたユーザーのために実装されたままになっている。[ 7 ]
ソフトウェアのバグは、開発者によって冗談めかして、あるいは都合よく「文書化されていない機能」と呼ばれることがあります。[ 5 ] [ 8 ]この用法は、Microsoftが最初のWindows版Word製品のバグ報告に回答したことで広まった可能性がありますが、[ 9 ]そこから始まったわけではありません。Usenetに残っている最古の言及は1984年3月5日のものです。[ 10 ] 1969年から1972年にかけて、マサチューセッツ州メイナードのDigital Equipment Corporation (DEC)でPDP-8ソフトウェアのシステムプログラマーを務めていたSandy Mathesは、テスト結果の報告において、納品されたソフトウェア製品における文書化されていない動作のうち、それぞれ許容できないものと許容できるものを区別するために「バグ」と「機能」という用語を使用しました。この用法はその後も継続された可能性があります。[ 11 ]
文書化されていない機能自体が、コンピュータゲームの大きな特徴となっています。開発者は、パッケージには記載されていない様々なチートやその他の特別な機能(「イースターエッグ」)をゲームに組み込むことがよくありますが、それらはインターネットやゲーマーの間でゲームの「話題」の一部となっています。外国のゲームにおける文書化されていない機能は、多くの場合、母国語から ローカライズされていない要素です。
クローズドソースAPIには、一般に知られていない、ドキュメント化されていない機能が含まれている場合もあります。これらは、アプリケーションプロバイダーに追加情報や優れたパフォーマンスを提供することで、サードパーティ製ソフトウェアに対する商業的優位性を獲得するために使用されることがあります。
このドキュメントに含まれる情報は、Hewlett-Packardによってサポートされないという理解のもとで提供されています。[…] このドキュメントを読むと、設計チームのメンバー以外の人々に何が起こっているのか、どのように起こっているのかを説明する努力が全くなされていないことにすぐに気付くでしょう。[開発] 時点では、そうする予定はありませんでした。このドキュメントは回答よりも多くの疑問を喚起する可能性がありますが、状況は「そのまま」受け入れる必要があります。以下に刻印された NOMAS の声明を参照してください。この資料は、この形式での情報がないよりはましだと考えているため、PPC を通じてユーザー コミュニティに提供されています。PPC はこの情報をコミュニティへのサービスとして提供しています。 […] NOMAS - メーカーサポートなし - 受取人はメーカーに連絡しないことに同意します […](710ページ)
NOMAS Listings -
PPCは、
HP-41
システム、関連
ROM
(
HP-IL
、[…]など)、および
HP-75
システムのリストを厳選して
、メーカーサポート対象外で提供しています。これらのリストは、リストを受け取ったユーザーがメーカーに問い合わせを行わないという理解のもと、ユーザーコミュニティに公開されています。