サイドプロジェクト
今日でRedisは6周年を迎えました。これは僕にとって、信じられないほど大きな達成です。これまでの僕は、もっとずっと早く次のことへ移っていたからです。過去には6年続いたものもありますが、Redisのように、これほど長い時間が経っても、毎日のエネルギーの大半を注ぎ続けているものはありませんでした。 どうすれば、新しいことを始めるのをやめて、ひとつの取り組みに集中し、職業人生を極端なまでにそれだけに捧げられるのでしょうか。限りある寿命を持つ人間にとって、それはあまりにも大きな犠牲です。幸いなことに、僕はそんなことをしませんでした。新しいことを始めるのをやめたことは、一度もありません。 この6年間を振り返ると、そこにはサイドプロジェクトの果てしない流れがありました。Redisに関係するものもあれば、そうでないものもあります。 1) Load81、子ども向けのプログラミング環境。 2) Dump1090、ソフトウェア無線によるADS-Bデコーダー。 3) JavaScriptのレイトレーサー。 4) lua-cmsgpack、Lua向けmsgpackのC実装。 5) linenoise、行編集ライブラリ。Redisで使われていますが、まあ、最優先の課題というわけではありませんでした。 6) lamernews、RedisベースのHNクローン。 7) Gitan、小さなGitウェブインターフェース。 8) shapeme、焼きなまし法を使った画像の進化プログラム。 9) Disque、分散キュー(現在も開発中)。 ここに挙げていない、使い捨てのプロジェクトもまだたくさんあります。 面白いのは、上に挙げたプロジェクトの多くが、ただ自分を楽しませることだけを目的にした、行き当たりばったりのハックではないということです。いくつかは、ほかの人たちのコードの中へと進んでいきました。 サイドプロジェクトがあったからこそ、同じことを何度も繰り返してストレスを感じ、疲弊したときに、別のことに取り組めました。そして後からRedisに再び集中し、Redisを楽しむための正しいモチベーションを取り戻せました。小さなプロジェクトは楽しいものですが、ひとつのプロジェクトに何年も取り組めば、長い目で見て、ほかの人たちにより大きな価値を提供できるからです。 現在、僕は時間の20%ほどを、分散メッセージキューであるDisqueの開発に使っています。では、Redisの開発に使えるのは残りの80%だけですよね。違います。必要なのは、Redisに80%集中し、残りの20%を別のことに使うことです。そうでなければ長期的には、Redisに集中できる時間は0%になってしまいます。長期的にひとつのことに関わり続けるには、新しいことを探求するための長期的な代替手段が必要なのです。 サイドプロジェクトがあるからこそ、より大きなプロジェクトを続けられます。さらに、サイドプロジェクトが新しい面白いプロジェクトの出発点になることも、よくあります。Redis自体、LLOOGGのサイドプロジェクトでした。サイドプロジェクトのせいでメインプロジェクトの作業をやめることもありますが、そうなるのはサイドプロジェクトに集中を奪われたからではありません。サイドプロジェクトのほうがメインプロジェクトより重要で、面白く、取り組みがいがあるため、時間をもっと有効に使えるようになったからです。 今日でRedisは6歳ですが、順調に年齢を重ねています。より多くの開発者の関心を引き続け、毎週、ユーザーにもう少し多くの価値を提供できるよう改善を続けています。しかし僕にとって、ユーザーが増え、プルリクエストが増え、プレッシャーが増えたからといって、やり方を変える理由にはなりません。今日のRedisは、僕たちが6年間にわたって注ぎ込んできた仕事と、歩み続けてきた粘り強さの総和です。同じ道を歩み続けるために、これから数年間も、いくつかのサイドプロジェクトを持つようにします。 追記:Damian Janowskiが今日、Redisコミュニティに素晴らしいプレゼントを贈ってくれました。新しくなったRedis.ioのウェブサイトが公開されています! http://redis.io。ありがとう、Damian! HNのコメントはこちら: https://news.ycombinator.com/item?id=9112250
記事をランダムに読む