オブジェクト指向技術が広く利用されるようになると、 プログラムの定義が劇的に変化するだろう。 従来のプログラムは「閉じたシステム」であり、 納品した際の開発者が構築した形態が最終的なものとなり、 プログラムを変更したり、 ニーズに合わせて適応させたりといったことはできなかった。
オブジェクト指向技術はこの状況を一変させる。 オブジェクトはいつでも(プログラムが稼働中でも)リンクできる。 この機能により、 プログラムは部品として提供でき、 このような様々な部品は同時に購入する必要はないし、 同一のベンダから買う必要もない。 部品毎に互換性があり必要なサービスを提供できるものであれば、 顧客はその部品を独自のニーズのために組み立てることができる。
ソフトウェアの構成における目覚しい進歩は ハードウェアの領域でのオープンシステムと同様の効果をもたらすだろう。 1
全ての部品をどのように組み合わせても動作できるので、 このハードウェアのオープンシステムアプローチは 多くの複雑さ(面倒なこと)を生んでいる。 しかし、結果的には 優れた適合度があるので、 オープンシステムは圧倒的に支持されている。
オブジェクト指向技術も
複雑さ・恩恵と共に同様の開放性をソフトウェアにもたらすとされている
(図)。
もちろん、オープンソフトウェアは問題を引き起こすこともある。 しかし、オープンソフトウェアは単純化を行なうことができる。 従来は各ハードウェアの組み合わせを設定するたびに、 新しいプログラムを「インストール」しなければならず煩わしかったが、 オープンソフトウェアにより、 ハードウェア毎に適切なインタフェースオブジェクトをロードすれば、 プログラムが自動的にそれに合わせるというように すごく単純にすることができる。
最終的には、オープンソフトウェアシステムは革新をもたらすだろう。 現在のアプリケーションはとても複雑なので、 大規模な多数のプログラマを抱えたソフトウェア会社だけしか システムを開発できない。 しかし、システムがコンポーネントに分解され、 ベンダの枠を越えて混合と適応ができるようになれば、 小規模の革新的な開発者達も競争に参加でき、 恩恵をもたらすことになるだろう。