オープンソースを、初めてやってみようと思います。
正直に言うと、これまで一度もやったことがありません。コードを公開して、誰かと一緒に育てていく――そういう世界があることは知っていても、自分がその輪に入ったことは一度もなかった。だから、これはまったくの初挑戦です。この記事は、その記録の1本目になります。
うまくいくかは、正直まだ分かりません。途中で挫折するかもしれない。だから完成の宣言ではなく、始める瞬間の気持ちを、そのまま書き残しておこうと思います。
何を作ろうとしているのか
作ろうとしているのは、AI Taxiway という構想です。
ざっくり言うと、眠っている端末――スマホ、ゲーム機、PC――を束ねて、AI の計算を担わせる仕組みです。世界中に、電源につながったまま何もしていない時間がたくさんある。その余った時間を集めて、ひとつの大きな計算の網にできないか。今、AI の計算力は一部の巨大な場所に集中しています。それを、もう少し「みんなの手」の側に取り戻せないか、という問いです。
ただ、ここははっきり正直に書いておきます。本当にできるかは、まだ分かりません。 似た試みをしている人は実際にいますが、この仕組みを大きな規模できちんと成立させた例を、私はまだ知りません。誰もまだ解いていない難所だ、という感覚があります。
野心は大きく、でも足元は不確かです。その両方を抱えたまま、それでもやってみたい。今はその段階です。
AI がいるから、始められた
なぜ今なのか。理由ははっきりしています。AI がいるからです。
8年前の自分だったら、たぶんやらなかった。やりたくなかったのではなく、始めるための「足場づくり」が重すぎたからです。
オープンソースを始めるには、コードそのもの以外に、やることが山ほどあります。プロジェクトの説明書(README)、利用条件を定めるライセンス文、参加してくれる人への案内(CONTRIBUTING)、各種のドキュメント。こういう「足場一式」を、一つ残らず埋めていかないと形になりません。私にとって本当の壁は、アイデアそのものより、この網羅的な穴埋め作業のほうでした。
ここを、AI が埋めてくれる。「こういうプロジェクトを始めたい」と伝えれば、足場の下書きを一通り並べてくれる。抜けがちな項目も拾ってくれる。穴を埋める作業を、網羅的に肩代わりしてくれるわけです。
大事なのは、埋めるのは AI でも、構想と決定は自分が握るということです。何を作るのか、何を大切にするのか、どこで線を引くのか――その判断は人間に残る。AI は足場を整えてくれるけれど、どんな建物を建てるかを決めるのは自分だ。この分担になった瞬間、初めて「やってみよう」と思えました。
ルールを決めるのが、思ったより楽しい
実際に手を動かし始めて、意外な発見がありました。ルールを決めるのが、けっこう楽しいんです。
オープンソースは、ただコードを公開すればいいわけではありません。どういう条件で使ってもらうか、自分でルールを決める必要があります。
- ライセンスは Apache 2.0 にしよう。商用で使ってもらってもいい、という枠にしよう。
- どこまでを自分(コア)がしっかり握り、どこからをみんなに開くか。その線をどこに引くか。
- 「これが唯一の正解だ」と決め打ちしない。良いものは競争の中で勝ち残ればいい、という哲学にしよう。
- 最初に発案した人への敬意(クレジット)を、ちゃんと文書に残そう。
- 参加してくれる人が安心できるように、貢献のルール(DCO のような仕組み)も整えよう。
こういう一つひとつを、自分の手で決めていく。自分が、その小さな世界の枠組みを決めているという感覚があります。ルールメーカーになる面白さ、とでも言うのでしょうか。建物そのものを作る前に、まずその街の決まりごとを書いている。これが想像以上に楽しい作業でした。
本当の動機は、AI が流行っているからではない
ここも正直に書いておきたいところです。
「AI が流行っているから AI のプロジェクトをやる」――そう見えるかもしれません。でも、本当の動機はそこではない気がしています。
根っこにあるのは、もっとシンプルなものです。凄いものが作れたら嬉しい。 ただそれだけ。新しい技術が来たから乗る、というより、面白そうな壁があって、それを超えられたら気持ちいいだろうな、という素朴な創作欲。流行は、たまたま背中を押してくれた風くらいのものです。
あまり大層なことは言えません。ちょっと控えめに、でも正直に言えば――作ってみたいから作る。それが一番近い動機です。
一人だと、たぶん寂しい
最後に、いちばん人間くさいところを書きます。
オープンソースにする理由は、立派な大義だけではありません。もっと素直な気持ちがあります。一人で作っていたら、たぶん寂しいんです。
構想だけは大きいのに、それを黙々と一人で組み立てていく姿を想像すると、少し心細くなる。誰とも喜びを分け合えないまま、難所に一人で向かっていくのは、正直しんどい。
だから「開く」。オープンにするというのは、一人にならないための選択でもあります。同じ問いを面白がってくれる人、一緒に頭を抱えてくれる人が、どこかにいるかもしれない。その人を見つけたい。コードを公開するというのは、私にとっては「仲間を探しに行く」ことと、ほとんど同じ意味を持っています。
これから、記録していきます
そんなわけで、人生初のオープンソースを始めます。これはその挑戦記の、ちょうど1本目です。
うまくいくかは分からない。途中で立ち止まるかもしれない。それでも、進んだところまでを、ここに正直に書き残していくつもりです。
まだ準備の途中なので、公開できる形になったら、またこの場所でお知らせします。もし「ちょっと面白そうだな」と思ってくれた方がいたら、いつか一緒に手を動かせたら嬉しいです。一人だと寂しいので。


