力武さんが「さよなら、愛しのFreeBSD」というコラムを書かれていたが、こちらはなかなかFreeBSDから離れられない。というのは最初に触ったのがBSDであまり物覚えがよくないので、他のものを覚える事ができないからというのが一番大きな理由かもしれない。
また以前いた会社がプロダクションでFreeBSDを使っていた時期があり、創業者が作った元祖kqueueのような仕組みがFreeBSD 2ベースに入ったシステムを使っていたり、jailを使った開発環境などで仕事をしていたのも要因です。
とはいえ、FreeBSDにも問題はたくさんある。
自分がポートしたarmv5のsocのコードがあったのだが、まったくパフォーマンスが出ない状態だった。FreeBSDのarmサポートはもともとはNetBSD由来なのだが、v6をサポートするときに独自に開発をしてv5環境を壊したみたいだ。NetBSDのarmv5はちゃんとパフォーマンスが出る。臭いものには蓋で、armv5のサポートは13Rで消されてしまった。
BSD自体はUCB発だが、アメリカ国防省からの援助でsoketは作成されている。その色合いはFreeBSDにも残っていて、FreeBSDを支える団体はすべてアメリカの法律に従う形になる。すなわちアメリカの利益にならないことはできない。
しかし私がいじっているZRouter.orgはウクライナのrayが始めたものだし、ロシアのMichaelも手伝ってくれている。
またsys/mips/mediatekのポートをしたStanislav Galabovも旧東側のユーゴスラビアの人らしい。
昨今日本ではめっきり人気が無いFreeBSDだが、2000年位にはかなりな開発者が日本にもいた。一つはPC-9801へのポートをしていた人たちで、もう一つはモバイル関係のPAOという仕組みを作っていた人たちだった。
PC-9801はNECが開発を止めた事もありしりつぼみになり終了してしまったが、PAOの方は後味の良くない終わり方になってしまった。これはPAOのグループが2.xベースで開発していたPCMCAIのサポートの仕組みを3.xに採用してもらえるように話をしていたようだが、却下されnewcardという仕組みが入ったが、技術的にPAOの方が優位なところはあったので、それ以来PAOな人々はFreeBSDから消えていった。
FreeBSD 3ではa.outからELFへの変更やカーネルモジュールのサポートなど大きく変わっていて、PAOは従来のISA依存の部分があり、またcardbus(PCI)のサポートの不十分さなどもあり、impさんなどがPAOを取り込まず、独自実装してしまったような感じだ。
ソフトウエアプロジェクトにおいて、コミュニケーションしていても、なんらかの期限があり、強行されてしまう事は多々ある。そのようなケースはあまり良い結果にならないことが多い。そもそもその期限が正当なものかのプロジェクトの判断にも関わるのかもしれない。
このほかIPV6の参照実装のKAMEプロジェクトでもFreeBSDの開発者がいたが実装の完成とともにいなくなってしまった。
最近impさんがpccardのコードをいろいろ消しているのを見ていると、昔の人たちの無念がよみがえってきた。
どこの国にもまともな人もいるし、そうでない人もいる、オーブーンソースを支える人も同じかもしれない。BSDがある一国の利益のためでなく技術的な価値のために開発を続けるのがUCBの人たちの志をつなぐ事になるのではないだろうか。