正フリーソフトウエアフリーソフトウエア運動は、コンピュータのソフトウエアを誰もが無料で自由に使用できることを目指しています。苦労して作成したソフトウエアだけに、これを無料で提供することに普通は抵抗を感じるものですが、インターネットを覗いて見ると、結構こうしたフリーソフトウエアが利用されていることが多いようです。個人やグループで開発したソフトウエアをインターネットを通じて、どうぞ自由にお使い下さいというのです。このフリーソフトウエア運動には、コンピュータのソフトウエアやデータベースは知的財産権として保護されるもので、お金を払わなければそれを利用することはできない、という現在、常識になりつつある考え方に対しての批判が込められていることは確かです。オープンソフトウエアしかし世の中の変化は早いもので、すでにフリーソフトウエア運動の先を行く考え方が広まりつつあります。フリーソフトウエアの場合、ソフトウエアの内容自体、その内部はブラックボックスにしておいて、しかし利用希望者は誰でもそのソフトウエアは自由に使用できますという考え方でした。ソフトウエア内部は知らないまま、つまり開発に参加することなく、一方的にただ使用を許可するだけというのはまずい、開発やプログラミングに多くの者が対等に自由に参加し、その成果物を自由に利用できるのが理想ではないかとする思想がオープンソフトウエア運動です。コンピュータのプログラムにはソースコード・プログラムがあり、人がある程度その内容を読み理解できる言語で書かれたプログラムで、いわば詳細なシナリオと言ってもよいでしょう。このプログラムを元にして、コンピュータが機械的に処理し、人が理解できないあの英数字の羅列のプログラムへと変換されていくのです。フリーソフトウエアの場合には、この元になるソースコード・プログラムは開放せず、自由に見せないのです。ソースコードをオープンにしてしまうとソフトウエアの内部がすべてオープンになってしまうわけで、誰がどのようにプログラムを改変しないともわからないからです。それが怖いからソースコード・プログラムは公開しないのが常識でした。ところがこのソースコード・プログラム自体を公開し、それどころかソースプログラムの改変・改良も自由、問題があれば自由に指摘し、皆でその内容を良くしていくという考え方がオープンソースの思想なのです。伽藍型の開発これまでのコンピュータ・ソフトウエアの開発、とりわけ大型のソフトウエアは、大人数のソフトウエア技術者が集まり、中央集権的な組織のなかで、軍隊式の指揮命令系統のもと厳密な管理によって開発されました。縦の指揮命令系統があり、上は指揮するとともに、下部の開発結果を評価し、チェックし、問題の有無を確認して、はじめて誤りのないソフトウエアが出来あがると信じられてきました。多くの者が一堂に会し、中央にはそれら者を指揮する者がいて、全体が中央により管理されて進行していく姿から、これを伽藍方式と揶揄する向きもあります。伽藍とはカテドラルで、大きな教会でミサを一人の司祭が取り仕切る、あの方式です。この伽藍方式の技術開発はソフトウエアの開発に限らず、電気や自動車、化学の研究開発において常に行われているものです。日本企業における技術開発のほとんどはこの伽藍型の開発といってよいでしょう。バザール型の開発ところがオープンソフトウエアの開発の場合、はじめから全部オ-プンで開発することが多いのです。ネットワークを活用して開発に参加を希望する者が自由に参加し、問題を指摘するのが典型的です。全体に目配りする者は必要で、いろいろの提案や改変要求を常に取捨選択し、全体を見ていくマネージャーが活躍します。一見するとかなり無政府的な組織であり、開発マネージメントなのです。バザール方式とも言うわけです。バザールとは、中近東の市場にみられるもので、小さな店が無数に雑然と並び、喧噪そして熱気がむんむんする雑踏の中、それでも不思議なくらいに秩序が保たれています。それでトラブルが発生しないと驚かれるのですが、それは逆だと言います。コンピュータソフトの開発において最大の課題はプログラムミス=バグの発生防止とその発見と手直しです。ところがバザール型開発方式ですと「目玉の数さえ十分あれば、どんなバグも深刻ではない」(E.レイモンド)と言うわけです。ソフトウエアの開発に限らず、既に大型旅客機の開発にも採用されていて、航空会社の技術者やパイロット、従業員などのさまざまな意見や要望を早い段階で取り入れ、またそうした多くの者の眼によってチェックされることのメリットを生かしていると言います。オープン開発方式では、情報管理の脆弱さと多様で多数の者が開発に参加することのメリットの比較が大事になりますね。今、自動車の自動運転技術が注目を浴びています。実際、この10年間の技術進歩は著しく、筆者も機会があれば自らそうした車に乗り、自動運転技術を体感するようにしていますが、確かにこのところの自動運転技術の水準はかなりのものと感じています。等は各社とも開発が済み、実車での試験を行っているような状況でしょう。すくなくとも人が乗り、ハンドルに手を載せている限り、自動運転で高速道路を走ることは可能です。自動運転の難しさはこれからなのでしょう。人が全く関与しないで、どのような状況が発生しても的確にしかも迅速に自動運転車が対応できるかというと、それは簡単ではありません。そもそも普通の技術者の想像を超える状況が発生する可能性を誰がどのように考えるかです。した場合に、まさにバザール型の技術開発が脚光を浴びるのではないでしょうか。多数の者が開発に参加して、自動車会社の技術者では想像もできないような状況を想定し、その際の対応の仕方をソフトウエアも一緒に具体化し、あらゆる状況での実験を繰り返していくのです。難しいことは、このバザール型の開発では、すべての情報はオープンにされますから、情報管理の脆弱さと多数の眼が参加することのメリットのバランス点を見極めることが求められることとなるでしょう。