ソフトウェア
| 分野 | 計算機工学、情報学、業務文書工学 |
|---|---|
| 成立背景 | 指令の可変化を目的とした手順設計 |
| 基礎概念 | 手順(プロシージャ)・状態遷移・実行 |
| 代表例 | 会計帳簿自動化手順、航路計算手順、対話手順 |
| 関連領域 | コンパイラ、OS、テスト、バージョン管理 |
| 注目される点 | 変更容易性と責任範囲の衝突 |
ソフトウェア(英: Software)は、計算機に指令を与えるための「柔らかい手順」群であるとされる[1]。体系立てられた概念としてはの研究機関で整理された経緯があるが、実際の起源はさらに古い「書式」に求められると論じられている[2]。
概要[編集]
は、が実行する動作系列を、形の上では「硬い部品」ではなく「書式化された手順」として定義したものとして理解されている。ここでいう「柔らかい」とは、実際には物理的な柔軟性を指すのではなく、変更・差し替え・版管理のしやすさを意味するとされる[3]。
また、ソフトウェアは単なる命令列ではなく、入力の解釈規則と出力の約束事を含む「契約」であるとする見解がある。特に業務現場では、同じ機械でも現場の担当者が変わるたびに「手順の解釈」が変化し、これがバグとして観測されたことが起源の一つとして記述される[4]。なお、この契約性の発見は、の小規模印刷会社が作った帳票連動台帳の改訂履歴に端を発する、とする説が存在するが、当時の原資料の所在は不明とされる[5]。
このように、ソフトウェア概念は「実行」だけではなく「運用」や「説明責任」を内包するものとして発展してきたとされる。ソフトウェアの価値は計算速度よりも、手順の再現性と監査可能性により強く結びつく、という立場が長らく支配的だったとも述べられている[6]。
歴史[編集]
「柔らかい指令」という発想の発明譚[編集]
ソフトウェアの源流は、17世紀の天文学者が星図作成に用いた「折り畳み式の指令札」に求める説がある。指令札は、同じ板に刻まれた目盛ではなく、紙に書かれた手順を挿し替えることで、観測モードを切り替える仕組みであったとされる[7]。この挿し替えが後の「差し替え可能性」の比喩となり、近代以降の技術者が“ソフト”という語感で語り直した、とされている。
一方で、より近い時代の転機として、の公文書局で採用された「書式整合検査」の考え方が挙げられる。検査官は、同じ入力が来ても出力形式が異なると「手順の不一致」とみなした。ここでの手順とは、機械ではなく担当者の判断を縛る規則であったとされ、のちにに似た役割(解釈の固定化)が自然に要求された、とする回顧録が存在する[8]。
この理屈は、最終的に「ソフトウェア」を“実行可能な約束”として定義する方向へ導いた。特に、の小規模行政データ処理室で、担当交代が原因の出力差異が年間で約1,340件発生したとされる記録が残っている[9]。記録には、差異を引き起こしたのは部品ではなく「手順の行番号の数え方」であったと記されており、以後“手順は版である”という理念が広まったとされる。
組織と人物:郵便局員から始まった版管理[編集]
ソフトウェアが“商品”として扱われるようになった契機として、系の研究者ではなく、の郵便局で勤務していた書類整理係が関わったとする物語が流布している。彼らは、配達ルート変更が多発したため、変更票を「バージョン」として番号付けし、到着順の照合に利用したとされる[10]。
この郵便局式の発想が、後にの原型になるという説明が、の講義ノート引用として残っている。ノートは同大学の図書館に所蔵されているとされるが、実際に閲覧できたとする証言は少ない。とはいえ、講義資料には「版は必ず7桁で書くべし」という一文があり、当時の技術者が“7桁縛り”で運用を統一した、というエピソードが繰り返し引用されている[11]。そのため、の現場では誤入力のうち約0.73%が桁数違反に由来した、とする統計が、なぜか妙に具体的に残っている。
また、社会の側では、ソフトウェアの変更が「誰が責任を負うか」という問題を増幅させた。たとえばの税務庁では、年度更新のソフト手順が原因で、地方自治体の計算結果が平均で遅れたとされる。遅延の直接原因は機械の故障ではなく、“手順の公開日が遅れた”ことだったという。この出来事は「公開は実行と同義である」とする考えを生み、のちの運用規程の文体にまで影響したとされる[12]。
社会への定着:監査可能性の戦争[編集]
ソフトウェアが社会インフラとして定着する過程で、監査可能性の要求は急速に強まった。特にの公共事業向け発注手続では、発注額の計算手順を第三者が追跡できない場合、契約が無効になったとされる。ここでの“追跡可能”とは、プログラムが読めることではなく、版の履歴が帳票に転記されていることを指したと述べられる[13]。
この結果、ソフトウェア開発の現場では、仕様書がソースコードの前に置かれる流れが強まった。仕様書を読んで運用者が納得したうえで、最終的に実行用の命令列へ落とし込む、という手順が「監査のための工学」として定着したとされる。なお、この流れはを好む研究者からは“監査のための言い訳工学”と揶揄された、とする引用があり、以後の論争の種になった[14]。
一方で、現場の技術者は、ソフトウェアを“読ませる物”として設計することに慣れていった。とくにには、コメント行がソースの品質を保証するという奇妙な標語が流行し、ある部門ではコメント比率が最低でも42%であるべきだという社内規程が作られたとされる[15]。この規程の目的はバグ減少であったが、統計上はバグ件数よりも「担当者の安心感」のほうが有意に上がった、と皮肉めいた報告書が残っている。
批判と論争[編集]
ソフトウェアが「柔らかい手順」だとする定義は、一見すると合理的であるが、批判も多かった。最大の論点は、ソフトウェアを契約とみなす立場が、法的な責任範囲を曖昧にするという指摘である。たとえば、ある事故では、実行速度ではなく「契約文言の版」が食い違っていたために誤作動が起きたとされ、責任が開発者・運用者・監査役に分散したと報告された[16]。
また、「変更容易性」を価値とする方向は、社会的には危険視された。変更が容易であるほど、導入失敗や互換性崩壊が頻発し、結果として“更新作業そのものが災害”という新しい語感が生まれたとされる。実際、のある病院グループでは更新停止を月単位で運用し、停止期間の平均は28.6日だったという記録が残っている。ただしこの記録は、内部報告書の写しが複数版本になっており、どれが正しいかは裁判記録で争われたとされる[17]。
さらに、ソフトウェアの教育が「手順暗記」になりすぎる問題も論じられた。教材の多くが、説明責任の形式(チェックリストや注釈)を重視したため、技術の核心である理解が後回しになった、という批判があった。これに対し、教材作成側は“理解は形式からしか始まらない”と反論し、議論はしばらくの討論で続いたとされるが、議事録の欠落ページがあることが指摘されている[18]。
脚注[編集]
関連項目[編集]
脚注
- ^ M. Thornton『The Soft-Order of Computing: Contractual Execution as Design』Springgate Academic Press, 1987.
- ^ 佐伯涼太『版が先に決まる:手順契約の社会史』東京大学出版局, 1996.
- ^ Eleanor J. Whitaker『Auditable Instructions and Their Failures』Vol. 12, No. 3, Journal of Operational Logic, 1979.
- ^ 川瀬真琴『帳票運用から見たソフトウェア概念』計算機文書学会, 2001.
- ^ R. L. Vandenberg『Versioning Rules in Administrative Systems』pp. 41-88, Vol. 5, Administrative Informatics Review, 1963.
- ^ K. M. Alvarez『The Seven-Digit Habit: A Study of Workflow Numbers』pp. 12-19, Journal of Paper-Trace Computing, 1993.
- ^ 渡辺精一郎『手順札と星図:折り畳み指令の系譜』星図学会叢書, 1972.
- ^ H. Dupont『La Traçabilité avant le Code』Editions du Bureau, 第3巻第2号, 1988.
- ^ T. Okada『コメント比率42%と品質指標の逆説』計算機品質研究, 2008.
- ^ P. R. Singh『Public Procurement and the Soft Clause』pp. 101-133, Vol. 9, International Journal of Contract Systems, 1990.
外部リンク
- ソフトウェア史料館(架空)
- 監査可能性・実装辞典(架空)
- 版番号アーカイブ(架空)
- 手順札コレクション(架空)
- 更新停止カレンダー研究室(架空)