OSS技術者育成日記

デージーネットでオープンソース技術者を育成する時に私が考えたこと、大切にしていることを書いていきます。

OSSのパラダイム

2012-08-29 17:38:10 | オープンソースについて
■はじめに

OSSを上手く使うためには、どのようなことを知っていれば良いのか?
私は、長い間、このテーマをずっと考えてきました。それで、2008年に出版した「オープンソースでメシが食えるか!?成功するシステム構築のためのOSS活用術」(すでに絶版)という著書の中で、OSSのパラダイムとして8つの原則をまとめています。この原則を知っていると、オープンソースを扱う場合の指針になります。今回は、そのOSSのパラダイムを改めて要約してお伝えします。

■OSSのパラダイム
OSSの利用方法には原則があります。これらの原則から外れた選択や行動をすれば、様々な形で問題を引き起こすことになります。逆に、こうしたOSSのパラダイムに立ってソフトウェアを見ることができるようになると、OSSをより便利に使うことができるようになります。

■■善意の原則
OSSの多くが、もともと無償で公開することを目的として、インターネット上のコミュニティなどで非営利に行われています。コミュニティに参加している人は、ソフトウェアをより使いやすいものにしたいという善意で様々な活動を行っているのです。ですから、コミュニティにアクセスする場合には、そのことを念頭に置いておく必要があります。例えば、彼らの善意に甘えて、不要な手間を掛けさせるのは避けるべきです。何かを質問する場合には、過去のメールや記事を自分で検索し、同様の質問が行われていないかをチェックするのがマナーです。それが面倒な場合には、RedHat Enterpriseなどの有償サービスに加入し、Q&Aなどを利用するべきです。

■■需要適合の原則
製品のソフトウェアの開発では、競合製品、価格設定、その企業のソフトウェアラインナップなどがソフトウェアの機能に大きな影響を与えます。しかし、OSSは、こうした商業的な要素とはほとんど無関係です。そのため、利用者の要望がソフトウェアに反映されやすい状況にあります。そのため、たくさんの人が利用する機能ほど改良が頻繁に行われ、非常に速いスピードで改良されていく傾向が見られます。
こうしたことは、ソフトウェアの安定性に重大な影響を与えます。つまり、多くの人が使っている環境では、小さな問題でもすぐに解決されていきます。反対に、他の人があまり使わないような機能や珍しい状況で利用すると、上手く動作しない可能性があるということになります。

■■陳腐化の原則
多くの人が利用する重要な機能ほど変更が頻繁に行われるため、私たちが目にするOSSに関する情報は、すぐに古くなり、陳腐化してしまいます。このため、ソフトウェアの情報を入手する時には、最新の情報かをつねに確認する必要があります。書籍を使って情報を入手し、勉強しようと思っても、実物と異なり混乱するということが起きやすくなります。また、WEBサイト上の情報も古くなりがちです。最新の情報は、最終的には公式サイトなどで確認する必要があるのです。公式サイト以外の情報を使う場合には、できるだけ実際の動作を自分で検証して確かめてから使う必要があります。

■■早期公開の原則
OSSには、実験的な機能でも、利用者の要望を満たすためにどんどん公開されるという特徴があります。そのおかげで、私たちは新しく便利な機能を次々と利用できるようになります。ただ、私たちは製品の機能アップになれすぎています。特に日本製品のソフトウェアでは、きちんと保証できるところまで品質を高めてから販売されています。しかし、OSSの実験的な機能は、動作実績が少なく、うまく動かないこともあります。自分が利用しようとする機能が、こうした実験的な機能でないかには十分に注意する必要があります。

■■OSS優先の原則
OSSを作成している開発者の多くが、OSSのパラダイムを理解し、OSSを愛している人たちです。そのため、OSSの開発環境は、同じOSSであるLinuxとなる傾向が高くなります。特にLinuxとWindowsでは、環境が大きく異なるため、開発環境とは異なる環境で利用できるようになっていたとしてもうまく動作しないことやドキュメントが整備されていない事が予想されます。OSSを利用する場合には、元々の開発プラットフォームに近い環境を利用することが安全で、異なるプラットフォームで使う場合にはリスクがあります。

■■協調の原則
製品のソフトウェアは、顧客を囲い込むために独自の仕様を導入し、他のソフトウェアの仕様を否定するものが少なくありません。そのため、どうしても排他的な傾向が見られます。
これに対して、OSSでは標準化が重視される傾向にあります。多くの標準仕様に準拠すれば、より多くのユーザの要望を実現することができ、より利便性が向上する可能性が高いからです。

■■部品の原則
OSSは、システム全体であることはほとんどありません。それ自身が独立した部品として機能するものがほとんどです。例えば、Linuxカーネルは、システム全体の中のオペレーティングシステムの機能だけを提供しています。ただし、部品をすべてユーザが選択することは現実的でありません。ソフトウェア同士の相性や、技術的な難しさがあるからです。そのため、Linuxディストリビューションやスピンという形で、様々な部品を集めたものが配布されています。実際に利用する場合には、あるOSSを使う場合に、別のOSSが必要になるということが頻繁に発生します。

■終わりに
今回は、単純にOSSのパラダイムを紹介しました。実は、こららの原則から様々な現象が説明できます。このブログの中でも、そうしたことを紹介していきたいと思います。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« マジックキーワード | トップ | 仕事の報酬と楽しさ »
最新の画像もっと見る

コメントを投稿

オープンソースについて」カテゴリの最新記事