クローズソース具体例。


 ん?クローズドソース、かな?ま、いっか。どっちでも(おい)。

 ちょっと前の会社での出来事。

 次にやるプロジェクトでの実現調査(本当に作って動くか、の検討作業) やってて。ちょっと「自分でいちいち作ってたらめんどくさいなぁ」って 部分があったんですよ。独自でその部分作り込んでもいいけど手間は かかる、と。

 「なんとか逃げ道ないもんかのぉ」(要するにめんどくさいことは 意地でもやりたくない)と考えてた所に、 「社内の別プロジェクトで同じようなやつ作ってたらしい。ライブラリ (プログラム書いたソースをバイナリ化して中身見えなくしたやつ、 とでも思ってくれぃ) 提供してくれるらしいからちょっと使ってみよう」という話が飛び込んできたんですよ。

 あ、そりゃ渡りに船だ使わせてもらおう、と頼んでライブラリを 入手。いろいろと試してたのですが。

 どうも動作がおかしい。それにドキュメントと実際の動きが合ってない。 このままだとちょっと使うには心もとないし、機能拡張もしたいので、 ちょっとソースもらって手加えよやないかという話になり、 再びこれ作ったグループのところにソースもらいに行きました。

 ところが提供元のお返事は「絶対にダメ」。ソースの中に某社の 特許に触れるアルゴリズムが使われているから、ソースは絶対に 見せられない、ってのが向こうがおっしゃる理由。

 んなもん特許ったってこのライブラリの中で使ってるのロジックの一部だけでしょ? じゃあその部分だけライブラリ化のままでも構わないから、他のところ 見せてくださいよ、とさらに頼む私ら。

 それでもあれやこれや理由を付けては頑として首を縦に振らない。 「サポート体制が整ってない」だの「ドキュメント作ってない」だの。 ソースもらえればあとはこっちで責任取るから、となおも詰め寄ると しまいにゃ向こうがキレて「これはライブラリ以外の形では 提供しません。そうゆう形にしてますから!」と話打ち切って しまう始末。

 まぁそれからが大変でしたよ。収まらないのが私らのグループの面々。

「なめてんのか!」
「社内にソース見せられないなんてどんな代物だ!」
「ソースも出せないようなレベルのもん提供するなんて言うな!」
「ソースぐちゃぐちゃになってどれが特許部分か訳わかんなくなってるだけだろが!」
「マイクロソフトと一緒のことすんな!」

 第1回大罵声大会開催中。あ、あの、皆さん、お気持ち 分かりますが冷静に。どうどう。

 実際私もこのライブラリ、テストしてたんですけど、 どう考えても「これ使ったら工数少なくなって楽になる」って 代物じゃなかったしなぁ。そう考えたら腹立ってきたな。

 大体だなぁ、客先に持ってってトラブった時に「あ、これ、うちの 社の別プロジェクトの製品なので、うちではサポートできません」 なんてバカな言い訳できる訳ねぇだろ!それこそマイクロソフトじゃねぇか。 効率化図るためのライブラリで手間増やしてどうすんだ! おいこれ作った奴全員!説教したるからちょっとそこ 正座せい!その根性叩き直してくれるわ!

 ・・・え?言い過ぎ?どうどう?・・・コホン、失礼。

 その後結局どうなったかというと、さんざ罵倒した挙句、 もらったライブラリはごみ箱に叩きこまれました。 まぁ妥当な判断だと思うよ。提供先には「すいませんが今回は 見送ります」とオトナな対応取りましたけど。

 とまぁこんな出来事があったんですよ。えらい長かったですけど、 この出来事、今のオープンソース指向と重なる部分多いんです。

 オープンソース。製品作るためのプログラムすべてを公開してしまう ことです。プログラム見れば、どこでなにやってるか、すべて追跡 することができますから、プログラム作ってそれで食ってる企業 にしたら、自分の技術全部公開してしまうようなもんです。

 そんでも世の中は確実にオープンソースの方向に動いています。 Netscapeは既にソースを公開していて、 ユーザは自由にソース見る事が出来ます。1ユーザが「ここはこう 書き換えたほうがいい」と意見出すことすら可能です。 データベースの大手Oracle社もいくつかの製品 についてソース公開することを決定しています。 プロがその気になればソース持ってきて勝手に書き換えて、 自分専用のOracle作っちゃうことだって可能 (めちゃめちゃ極端な話だけどね)。

 これ、プログラム組まない普通のパソコンユーザとかにはちょっと ピンとこないかもしれませんね。そりゃそうです。ピンとこなくて当たり前。 ソース見たところで(もちろん私も含めて)チンプンカンプン ですし。それ見た所でどうしろ、となっちゃう。

 でもね、このオープンソース、作る側にしてみたらすっげぇ ありがたいことなんですよ。今までは「この製品のどこかで バグってる」とまでしかわからなかったものが、「ここのソース の何行目の計算が間違ってる」とまで特定できますからね。 場合によっては勝手にソース書き換えて直すこともできちゃう訳。 いわばブラックボックスを堂々と開けることができるんです。

 「いざとなればどこまでも自分で問題を解決できる」、この 安心感は絶大なものがあるんです。

 これはPC-UNIXとWindowsNTの対比見ててもわかるよね。 LinuxにせよFreeBSDにせよ、ソース全部公開されてるから (ていうかはじめにソースありきだから当たり前なんだけど) 全部自分で追っかけられる。かたやWindowsNT、マイクロソフト から情報もらわないとな〜んにもできない。バグがあったと わかっても、マイクロソフトが直してくれないとこっちからは 手が出ない。大体相手がマイクロソフトじゃ直るのいつになる ことやら(笑)。

 この差は余りにも大きいんだよね。

 んで、結局作る側にメリットがあるってことは、そんだけ 「品質向上」ってことで使う側にもメリットが生まれますからね。 だからオープンソースにして品質上げていこうやないかい、と みんなが考えるようになってるんです。

 以上、「なんでオープンソースがいいことなのか」講座でした。

 さて、話戻しますけど今回起こったこの騒動。この点から考えると やっぱ効率的じゃないんですよね。ソースわかんないから、 何か不具合が出るたびに直してもらわなきゃいけない。 こっちも作業止まる。向こうも作業止まる。お互いムダ生じるでしょ。

 今回の例だったら「○○用のライブラリ作りました〜。責任は もたないけどもしよかったらおのおの 勝手にコンパイルして使ってね〜。特許のとこだけバイナリに しちゃってるけど許してごめん〜。」と丸投げしてくれればよかった んです。そうすればお互い手が離れるし、機能拡張もバグ修正も 勝手にできるし、幸せになれたかもしれないのに。残念。

 こうゆのって、むしろ社全体とかよりも個人の方が意識改革 遅れてるってのを表わしているのかもしれません。 最小限の手間で最大限の効果を。どの世界でも鉄則なのに、ね。


新着別 分類別
Index