はじめから公開で作業することの価値を実感しています。18f のブログにある、 Eric Mill による Working in public from day one を抄訳する形で、そのメリットを紹介してみます。
1日目からオープンソースでやれば良いのです
「コードの整理ができたらオープンソースにするんだ」という話を聞きますが、そういう気持ちでいるから、簡単にオープンソースにできたはずのたくさんのいい仕事がクローズドのままなのです。これを避けるのは簡単です。1日目からオープンソースでやればいいのです。最初のコミットからオープンソースにするのです。そうするのがいい、と思ってもらうための理由をこれからいくつか書きます。
(1)誰もあなたのコードを見たりしません
コードなんて退屈なものです。世の中のほとんどのコードがそうです。人があなたの作品を判断する場合には、人々がどうそのコードに関わるか、によって判断します。つまり、使い方が README からすぐ分かるかだとか、開発が活発かだとか、GitHub でどのくらいスターがついているかだとか、そういうことで判断します。そういったものは、あなたの作品が十分に使えるものになってからしか得られません。あなたがそれに値するまでは、あなたがスポットライトを浴びることはないでしょう。
(2)オープンソースで始めることで、いい判断ができるようになります
オープンソースのプロジェクトにパスワードをコミットすることは、ふつうないでしょう。オープンソースにしていると、良い判断をするための自然なプレッシャーを感じます。ハードコードをすることは少なくなり、設定ファイルをしっかり作るようになります。すこしモジュール的に書くようになります。コメントに気を使うようになります。セキュリティの穴をより素早く見つけるようになります。こういうものは健康なプレッシャーです。
(3)時間が無駄になりません
(2)で書いたような「いい判断」を加えるのは時間の無駄だと思うかもしれません。でも、プロジェクト人員があなた一人だとしても、こういうことはしなければなりません。プロジェクトが一ヶ月進捗したあと、判断をした場所に戻ったときに、そういった良い判断をしたことをとてもありがたいと思うことになるでしょう。そして、良い判断が日常のものとして身についたとき、良い判断にかかる時間は短くなります。そして、あなたはさらに良いプログラマになります。
(4)人の助けになるかもしれません
それに、人が助けてくれるかもしれません!インターネットは大きな場所かつ狭い世界であり、GitHub は意外な接触を作ってくれることがあります。あなたのコードが少し役立つものであれば、それが役立つ人があなたのコードを見つけるみこみがあります。あなたがものすごくニッチだと思っているコードを書いているとしても、めぐりあいの可能性を閉ざさないのがよいでしょう。
あなたのデフォルトをオープンにするのは、健全な習慣
公開で作業を始めることに一度慣れてしまえば、公開で作業をすることはパフォーマンスアートをするような感じがするのではなくて、呼吸をするような感じがすることになるでしょう。公開で作業を行うことは、良い作品と個人の成長を生み出し、自発的な貢献と関わりの可能性を開くための、健全な習慣なのです。デフォルトがオープンであることは、みんなの利益になるのです。