オープンソースで開発されて誰でも使える言語やライブラリ、ツールなどをまとめてここではざっくりと「オープンソースプロジェクト」と呼ぶことにする。オープンソースプロジェクトに欠かせない要素として、コントリビューション(貢献)がある。オープンソースプロジェクトを運営する人にとって、プロジェクトに協力してくれるコントリビューターはとてもありがたい存在だ。
コントリビューションといってもいろいろな形がある。代表的なのは開発作業に直接参加することだろう。さらに進むといわゆる「メンテナー」となって、コードを書く以外のタスクを引き受けるようになる。イシューをトリアージしたり、他のコントリビューターからのプルリクエストをレビューしたりと、オーナーを補佐するようにプロジェクトを推進するのは、コントリビューションの最大の形と言っていいと思う。
では逆に、コントリビューションの最小の形とはなんだろうか。それは「話題にする」ということだと思う。誰かとの会話で、SNSの投稿で、ただそのプロジェクトの名前を出して話をするだけで、そのプロジェクトが存在することを知らせ、思い出させることができる。そのプロジェクトの「存在が意識される」ための手伝いは、コントリビューションとしてもっとも小さいものだが、これがないと始まらない、もっとも重要なものでもあると思う。
ブログ記事や登壇、本の執筆なども「話題にする」の発展形だ。ただ話題にする以上に、その内容で他の人達に知見を共有しようとするアウトプットは、とても高度な貢献だ。しかしこの貢献が価値を生むのも、それを見聞きするオーディエンスがあってのことだ。オーディエンスが感想や学びを話題にすればするほど、全体での貢献の量は増大する。発信によるコントリビューションは一方通行ではないのだ。
より多くの人に存在が意識されれば、その中で一部の人は興味を持ち、その言語やライブラリを使うようになるかもしれない。そしてさらに一部の人はファンとなり、より高度なコントリビューションをするようになるかもしれない。これはおそらく確率論的なもので、多くの薄いコントリビューターたちのおかげで、一部の濃いコントリビューターが生まれているのだと思う。
「作り手」だけではオープンソースプロジェクトは生きられない。それを使ってくれるユーザーが必要で、ユーザーがいることを作り手に伝えるために、「話題にする」ことは必要不可欠だと思う。プロジェクトが本当に終わるのは、世界の誰もそれを話題にしなくなったときだ。
オープンソースプロジェクトを応援したいが、世の中のすごい人みたいなコントリビューションは無理だと思っている人がいれば、ぜひ「話題にする」という最小かつ最重要の貢献から始めてみてほしい。