コミュニティの小物

 コミュニティで活躍することは, ソフトウェア開発者における一つの憧れです. "コミュニティ" と言っているのは, オープンソースソフトウェアの開発コミュニティの事をここでは言っています

 (オープンソースとは何かとか, 経緯については. エリック・レイモンドの書籍 (伽藍とバザール) や 八田さんのホームページ 辺りを詳しく読むと分かった気になります. RMS のエッセイ集 (フリーソフトウェアと自由な社会 ―Richard M. Stallmanエッセイ集) なんかを読むと, 往々にしてこっちの世界に帰ってこれなくなります)

 

 オープンソースコミュニティの世界は完全なる実力社会です.

 また一流のハッカー達がたむろするような一流のコミュニティ (GNU/L*nux とか) においては, 実力の伴わない僕のような人間が敷居をまたごうとしても (かつての武家屋敷さながら) 敷居が高くてまたげません.

 (よしんば敷居を越える事ができたとしても, 待ってましたと言わんばかりに侍従侍に斬り殺されることでしょう)

 

 Emacs 界隈のコミュニティの大物に auto-complete プロジェクト で有名な松山さんが居ますが.

 つい先々月, その彼を未踏プロジェクトで支援した 東工大の首藤先生 と未踏合宿で合う機会がありました.

 その夜に開かれた飲み会で同席した首藤先生に対して放った, (戯言にも近い)コミュニティの大物になりたいといった話を, うんうんと聞いてくれ.

 翌日「昨日のアレ, がんばってね」と固い握手を交わしてくれたということがありました (うっかり泣いてしまいそうになりました) .

 

 これまで, Onix OS をはじめとして. いくつかのオープンソースソフトウェアを開発してきましたが.

 いづれも僕一人で開発してきたもので, 既に開発が進んでいるプロジェクトに協力したりといった事はこれまでほとんど行ってきませんでした(逆に, 僕がメインで開発してユーザが付いてきたプロジェクトもほとんどありませんが).

 JaxonNOX プロジェクト への協力に近かったですが. Jaxon 自体, 僕一人で作ったものですし. NOX の開発が止まったことで, NOX メインラインへのマージの夢も泡と消えました.

 

 しばらくして, 気がつくと Trema を触っていました.

 ユーザ定義の OpenFlow コントローラを非常に簡単に記述でき, また強力なネットワークエミュレーションによって, 簡単に OpenFlow ネットワーク環境を用意できる, とっても魅力的な OpenFlow コントローラ(フレームワーク)です.

 特にネットワークエミュレーション機能が秀逸で. 通常, OpenFlow コントローラを記述して, それをテストしようとした場合. VM を複数用意して, ネットワークの設定して (KVM と OVS 併用すると bridge モジュールがバッティングおこして云々) ...  と, イロイロ面倒なのですが.

 ネットワークエミュレーション機能を利用することで, ユーザ定義コントローラの動作を書いてすぐに確認できるので, ユーザ定義の OpenFlow コントローラを記述する上でとても重宝しています.

 

 Trema は NEC の開発者が中心となって開発している OpenFlow コントローラで. 元々は NEC の中央研究所で開発されていた OpenFlow コントローラが基になっていて, それを改良したもの らしい です.

 (NEC が大枚はたいて開発し, それを改良したモノをオープンソースとして公開したわけですから. コミュニティへの貢献度たるや凄まじいです.)

 NEC は OpenFlow が登場した 2008 年以降, いち早く商用スイッチを開発及び発売したことで OpenFlow 界隈からは世界的に認知されている企業な上,

 国内では Trema が Software Design で連載 が組まれたりと, 最近非常に話題になっているプロジェクトです.

 

 いくら先見の明が無い僕とはいえ, この状況下で NOX のような事態 になる事は無いと予想し,

 Trema コミュニティに対して, 積極的にアクションを起こしはじめました.

 

 そして先日, コミットが Trema のメインラインにマージ されました!

 

 若干粗末な内容であったにも関わらず, 適宜面倒を見てくれる辺り, Trema コミュニティはやさしいです. 他の厳しめのコミュニティではこうはいかなかったと思います.

 git-log を見れば, その貢献度のショボさは一目瞭然ですが... まぁまずは, Trema コミュニティの小物コミッタにはなれたんじゃないかと思います.

 

f:id:user_localhost:20120824222924p:plain