「ソースを使え,ルーク」: IT Pro 記者の眼

From sodiumイオンにっき(Reprise)


現在のコンピュータ産業は水平分業が定着しており,ミドルウエアはブラックボックスであることが当たり前になっている。(中略)
オープンソースによって,水平分業だがブラックボックスのない,両方の長所を備えたモデルが作れるかもしれない。その期待は,ただの期待に終わることなく,現実にシステム構築の現場でかなえられつつある。

全く同感ですが、もうちょっとレベルの低い所にも意義があるんだよという話を、補足したいと思います。

ミドルウエアやOSのバグを回避する為に、すごい苦労している人は多いと思います。アプリに責任が無くてもとにかく動かさなきゃならないし、それを正規のサポートルートで対応してたんじゃ間に合わない。結局、アプリを修正して処理系のバグを通らないようにして対応することになります。ところが、処理系のバグとその回避策を見つけるのが(当然と言えば当然ですが)すごく大変。中身が見えないんで、試行錯誤して見つけるしかないわけです。

中には、そういうことがすごく得意な技術者もいるんですが、そういうカンが良くて優秀な人は本来はもっと生産的な仕事をすべきです。しかし、そういう人にしかできないから、やむを得ずそういう人をトラブル対応に使ってしまう。そこまでは、商売だから仕方無いと思います。

それで、ここからが違うんですね。ブラックボックスだと、それが一過性の他で使えないノウハウにしかならないんですが、オープンソースであれば、それが本人に取って貴重な財産となるんです。

もの凄いプレッシャーの中で(だいたいそういう問題は本番真近に起こる)、そのリリーフエースはソースとにらめっこすることになります。時間に追われながら必死でソースを見て回避策を探るわけです。これは強烈な勉強になります。

それは、単なるバグ回避の小手先のテクニックではなくて、そのミドルウエアのエキスパートになるということです(ならなざるを得ない)。そして、同時にそのソフトに詰め込まれたさまざまなノウハウまでもが自分のものになっているわけです。苦労はさせるが、彼にとっては苦労に見合うだけの経験になると思います。

もちろん、事前の調査をちゃんとして突貫工事をさせないのが一番ですが、どうしてもしてしまうなら、せめて「オープンソースを使え,ルーク」と言いたい。駄目なプロジェクト、駄目な会社にこそ強く言いたい。