ソフトウェアの誕生日問題

(有料記事ですが本文は無料です.有料記事の設定にしてみたかっただけです笑.自分の誕生日だけ有料部分で公開しています)

今日は,ソフトウェアの誕生日について考えてみたいと思います.
ソフトウェアと言っても,いろんなものがありますが…

今回は,NVIDIA CUDA の誕生日について検討することで,ソフトウェアの誕生日問題を考えてみたいと思います.
https://developer.nvidia.com/cuda-toolkit

ソフトウェアの誕生日は

・アイディアが生まれた日
・アイディアが発表された日
・β版が発表された日
・β版がダウンロードできるようになった日
・1.0が発表された日
・1.0がダウンロードできるようになった日
・使い方が公開された日
・(他にもある?)

などがいろんな解釈が出来ます.どれが適切なのかという議論には正解が無さそうです.


さて, CUDA の誕生日についてですが,今回は CUDA 1.0 について考えてみたいと思います.

CUDA 1.0 のリリースノートでは
http://developer.download.nvidia.com/compute/cuda/1.0/CUDA_Release_Notes_linux_1.0.txt

Revision Historyの欄に 06/2007 - Version 1.0 と書いてあり,2007年の6月であることは,言えそうです.

ウィキペディアでは
http://developer.download.nvidia.com/compute/cuda/1.0/NVIDIA_CUDA_Programming_Guide_1.0.pdf
を根拠に Initial release を June 23, 2007 となっています.

このPDFはプログラミング・ガイドなので「使い方が公開された日」と言えるでしょう.これが有力でしょうか?

一方で,2007年6月28日にインターネットアーカイブに保存されているNVIDIA CUDA Homepage を見ると
https://web.archive.org/web/20070628193251/http://developer.nvidia.com/object/cuda.html
Last Updated が 06/26/2007 となっています.誕生日を「1.0がダウンロードできるようになった日」とすれば,26日という説が濃厚です.

というのも,2007年6月25日08時43分の保存分を見ると
https://web.archive.org/web/20070625084340/http://www.developer.nvidia.com:80/object/cuda.html
Last Updated: 04/25/2007 となっていて,6月23日(ウィキペディアのInitial releaseの日)のダウンロードページには,まだ配信されていないことが分かります.

ただ,ここにも問題があって,2007年6月29日の保存分を見ると
https://web.archive.org/web/20070629131234/http://developer.nvidia.com/object/cuda.html
Last Updated が 06/27/2007 になっています.先ほどリンクした28日のアーカイブ分は,26日となっているので,28日の時点で27日分のリリースをインターネットアーカイブは保存できていないということになります.

タイムゾーンの違いによって1日前後の揺らぎはあるかもしれませんが,NVIDIAは,「謎の半導体メーカー」と呼ばれた会社ですが,一般的に考えれば,本社のあるアメリカの時間を使っていると考えられるでしょうから,インターネットアーカイブが保存しているGMT(グリニッジ標準時)から考えて,その線は薄いでしょう.

更新日時の更新を忘れた可能性も考えられます…
もうこうなってくると,果たして,いつが誕生日なのか,まったく分からなくなってしまいます.ハードディスクやサーバに保存されている1.0のソフトウェア(ファイル)の更新日時を見たいところですが,それも本当になかなか確証を得るのは簡単ではなさそうです.

歴史研究として「GitHubのようなサービスを使って日時を正確にする」なんていう作業をする日も近いかもしれません.(この世界の全てをブロックチェーンに書き込めたら,なんと信頼できる歴史を未来に残していけることでしょうか…)

そもそもインターネット上の公開であるから,日時なんて気にすることも無いという本末転倒な見方もできるでしょう.

誕生日の定義を決めたとしても,その正確な日付を求めることは,なかなか難しいのです.


話は変わりますが,

コンピューティング史研究においては,「父親探し(誰が〇〇を作ったか?)」や「誕生日探し(いつ=正確な日時,〇〇は生まれたか?)」は,あまり重要視されていません.

よくある勘違いですが,歴史研究は「年表作り」をしているわけではありません(自分も最初はそう思っていました).

自分たち History of Computing (計算史)の研究者は,歴史の研究として,より豊かな歴史を扱っています(その話はまた別の記事で).もちろん「年表作り」のフェーズも必要ですが,世界はもちろん,日本においても,代表的な部分は,終わりつつあります(計算史の研究史についてもまた別の記事で).

と言っても「年表作り」「父親探し」「誕生日探し」は面白いし,意味が無い訳ではありません.情報をお持ちの方はぜひ教えてください.


今回の記事では,CUDAの誕生日について扱いました.ソフトウェアの誕生日問題を考えることで,インターネット時代の歴史学(現代史)の難しさを感じてもらえたでしょうか.

読んでいただきありがとうございました.本文はここまでですが,有料エリアに自分の誕生日を書いておきます笑

ここから先は

14字

¥ 100

期間限定!PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?