オープンソースと公共財コンピュータのソフトウェア開発は、つきつめていえば、
ソースコードを機能仕様に基づいて書いていくという作業である。
一部のデータでは、
ひとりのプログラマが1年間に生産するコード数は2,000から1万といわれている。
開発をプログラミングから動作試験までを含めると、
その4分の1程度まで精査されて、
年間500から3,000程度のコード(命令数)を一人が書く換算になるそうだ(「人月の神話」より)。
つまり、業務上稼動が可能なソフトウェアは、 優秀なプログラマで1日2命令から10命令(ソースコードの行数ではなく)をひとりが書く換算だ。 これは、コンピュータを動かす上で十分な検討と、 デバッグ(開発時でのプログラム検査)をし、 動作試験をするというプロセス上経験的にもずれていない分析ではないだろうか。 こうして生産されたソースコードは、 そのほとんどが多くの他人の目に触れることなく機械語に翻訳(コンパイル)され、 実行形式となり、 コンピュータハードウェアを動かすことになる。 注目すべきは、「ほとんどが多くの目に触れない」というくだりである。 ハードウェアリースを極めて有効に活用するようなプログラムや、 ユーザーのニーズを的確に捉えて実現するプログラムが世の中にごまんとなるのに、 誰も知らないまま動いているのである。 これは、ある意味「怖い」話しでもある。 駅の改札を通過するシステムは最近日常となり、 人が挟まれる事故が起きるケースは少ない。 だが、これに応用をくわえた自動車の ETC システムは、 事故が起きると被害が人身に及ぶ。 内容が同じソフトウェアレベルと簡単には比較はできないが、 コンセプト(アーキテクチャ)はほぼ同じであろう。 人間社会を支えているハードウェアのすべてに、 機能を充足するためのソフトウェアが動いていることを忘れてはいけない。 さて、ここで開発し動いているソフトウェアは「誰のもの」だろう。 当然のことながら、コードを書いた人本人のものであることは間違いない。 その人が所属する組織・グループのものであることも理解できる。 すばらしいソフトウェアを開発した本人は、 その価値に気が付いていないケースがほとんどかもしれない。 前述のように、他の人に見せるなどという行為が社会習慣上、 悪いことであるという意識も働くのかもしれない。 また、企業が関係して開発(R&Dなど)したソフトウェアの持ち主が開発本人なのか、 企業なのかは、その会社の規範や法律家の出番である訴訟として枚挙にいとまがない。 比較しよう。音楽は誰のものだろう。作曲家のもの? レコード会社のもの? それでは、小説は誰のものだろう。作家のもの? 出版社のもの? では、ものつくりの基本である設計書はだれのもの。 設計をした人のもの? 設計家のいる企業のもの? すべて同じ構図である。 ものをつくるには、材料があり、設計があり、実行し、でき上がる。 この設計の段階の成果を閉ざされた箱にいれておくから、 問題が起きるのではないだろうか。 すばらしい設計は世の中に公開すべきではないだろうか。 設計自体の価値で利益を得ることは、 設計者本人には当然の権利であるが、 これに便乗するような利益確保には疑問を感じる。 確かに、設計者の生活を保障し、 開発を支援した組織・グループは高い評価を受けるべきだが、 設計図から利益を得るのではなく、 実行(コンピュータを稼動して生み出す付加価値)や保守(稼動中のサービス)で儲けることが基本ではないだろうか。 むろん、設計者本人が了解し、 組織・グループへ得た利益のほとんどを還元するという契約もあり得る話しである。 最近「リバースエンジニアリング」という言葉がある。 簡単に言うと、機械を分解して、構造を分析し、 製造方法や設計図を推測するということらしい。 なにやら悪意があれば、ここで偽物を作ったり、 労せずして新製品を開発できたりする手法にとられる。 また多くの技術者が倫理的に許されない行為ととらえている。 しかし、この効果は絶大であることもわかっている。 それは、開発の途上にある諸国が新製品をリバースエンジニアリングすることで、 優れた製品・廉価な製品を生み出すことを可能としているし、 製品の欠陥発見にも寄与している。 リバース・エンジニアリングでは、 解明した技術をいかに利用するかが問題であり、 悪意ある行為は許すべきでないことは社会秩序として当然である。 オープンソースの登場は、ここにも興味深い影響をもたらすと期待している。 ソースコードをインターネットに公開してしまうという Linus の行為は、 前代未聞であった。 当然、Linux の持ち主は Linus Torvalds だし、 Apache の持ち主は Brian Behlendorf である。 この開発手法は成功を収めた。 世界中の開発者がソースコードを共有し、改良し、利用した。 欠陥の発見にも貢献した。悪意のある改変は全く許されない。 多くの技術的議論の成果を膨大なシステムで享受できるものへと展開された。 まさに、Linux や Apache をはじめとするオープンソースソフトウェアは、 公共財になりつつある。 OSS が基盤として公共財になるということは、 堅牢なシステムを構築する際に、設計段階からの議論を可能とし、 優秀な新しい技術の公開を妨げるようなことがないと確信している。 特定の利益を優先する構造からは、 システムが果たす本来の意義である社会への豊かさを失い、 ものづくりへの意欲を失っていくという負の連鎖を想像するにかたくない。 ソフトウェア開発とは無限の可能性を秘めている作業であり、 何人たりとも、これを制約するものではないし、 技術を共有することを推し進めることは、社会を豊かにし、 人間に生きがいを与える活動であると信じている。 設計図面をながめるだけでも、 人間は頭の中で実行モジュールをつくることができるから。 記事提供:
日本 SGI 株式会社
最新トップニュース
|
|