作った人を、証明する――GitHubのウェビナーに向けて
題を見て、手が止まりました。
――自分が世に出すコードを、どうやって信頼するか。
これを日本の時刻に直すと、九月三十日の午前一時になります。真夜中です。
私と同じように登録された方、あるいはこれから興味を持たれる方のために、先に書いておきます。無理に起きている必要はないと思います。 この種の催しは、後日に録画の案内が届くのが普通だからです。
録画であれば、止められます。分からないところで一度止めて、戻して、もう一度聞ける。英語を聞き取るうえで、この差は決定的です。
では、自分が世に出すものを、なぜ信頼できないのか。
今のソフトウェアは、自分で全部を書いているわけではありません。世界中の誰かが作った部品を、何百と取り込んで出来ています。その部品も、また別の部品を取り込んでいる。自分の作ったものの中身を、作った本人が全部は知らないという状態が、当たり前になっています。
そして、その部品のどれか一つが、こっそり書き換えられていたらどうなるか。
これを供給網の問題、英語で supply chain の問題といいます。
答えは、案外に古風です。誰が、いつ、何から、どういう手順で作ったのかを記録に残す。 そして、その記録が改竄されていないことを、機械が確かめられるようにする。
この分野では、これを provenance(プロヴィナンス)と呼びます。日本語なら来歴です。美術品の世界で、その絵が誰の手を経てここに来たかを示す、あの言葉と同じです。
そして、来歴を証す書き付けを attestation(アテステーション)、日本語で証明書と呼びます。
たとえば、Pythonという言語の部品置き場であるPyPIでは、配布されている部品の一つ一つに、こういう表示が付くようになっています。
私は、この表示を見て少し驚きました。これは、印鑑と割印の世界です。 やっていることは、昔から役所や商家がやってきたことと変わりません。違うのは、印を押すのも照合するのも機械だということだけです。
私はここ数年、UCA(Universal Creative Attribution)という名で、創作物の来歴を記録する仕組みを提言してきました。
誰が作ったのか。何を参照したのか。どこまでが人の手で、どこからが機械の手か。それを、後から確かめられる形で残しておく。
扱う対象は違います。あちらはプログラム、こちらは文章や音楽です。
けれど、解こうとしている問題は同じです。
字幕を出す。 配信の画面に「CC」や「Subtitles」という表示があれば、押すと英語の字幕が出ます。耳だけで追うより、格段に楽です。
語を先に入れておく。 この分野は、出てくる語が決まっています。次の十ほどを頭に入れておくだけで、話の筋は追えます。
私は今回、この催しをGitHubの公式なイベント一覧で確かめようとしましたが、見つけられませんでした。 一覧に載っているのは別の回で、この題のものはありませんでした。
一覧が全部を載せているとは限りませんので、実在しないとは申しません。ただ、こういう案内を装った偽のメールも世の中には出回っています。
メールの中のリンクを押す前に、GitHubの公式な催し一覧で同じものを探してみてください。 そこから登録するほうが安全です。
それでも、この題には惹かれました。
自分が世に出すものを、どうやって信頼するか。
これは技術者だけの問いではありません。文章を書く者にも、絵を描く者にも、同じ問いが向けられています。誰が作ったのかが曖昧なまま、ものだけが増えていく時代になりました。
だからこそ、来歴です。
私がこの場所で、書いたものを日付とともに残し、直した跡も残しているのは、結局そういうことなのだと思います。証明書も署名もありませんが、いつ何を書いたかを消さずに置いておくという一点では、同じことをしているつもりです。


コメント