retireSakiの日記

たぶん引退した?ソフトウエアエンジニアのブログ

ソフトウェアはオープンソースと非オープンソースどっちが良いのか?!バグの発生頻度からみてみよう!

※この記事で出てくるソフトウエアはアプリだけではなくOSなども含みます。

 相変わらず Windows関連のソフトウエアのセキュリティ問題やバグは続いていますね (;´∀`)
そこで、オープンソースと非オープンソースのバグの発生頻度をイメージ図にしてみました。
ソフトウエア開発者であれば常識的な話ですが、一般の方には理解しにくいことなので、啓蒙的に記事にしました。

f:id:retireSaki:20181223155222j:plain

※あくまでもイメージですので、ソフトウエアの規模や公開方法等様々な条件で変化しますが、大まかなイメージとしては合っていると思います。

 オープンソースの場合

・公開直後、バグがあれば一気に吹き出しますが、修正とともに発生頻度も一気に減ります。
内包している潜在的バグも一気に減ります

オープンソースの場合

・公開後少し立ってからバグの発生頻度のピークを迎え、徐々に頻度は低下していきます。しかいバグの発生頻度のピークは低いです。
・内包している潜在的バグは徐々には減るものも、発見されない潜在的なバグが残ります

この差はどうしてでるのか?!

 オープンソースの場合、非オープンソースに比べ、使用者またはチャックしてくれ人数が圧倒的に多くなるため、さまざまな使用方法でチェックでき多角的視点によるデバッグができます。
しかし、オープンソースの場合、決められたテスト方法でのチェックや限られた人数によるチェックなどにより、テストにムラが出ます。このため発見されないバグが少しづつ表面化していくことになります。

オープンソースの悪質性

 バグの発生頻度が落ち着くまでに長期間かかります。
バグの発生頻度が落ち着く頃には、技術等が古くなるなどの理由により、新しいバージョンに切り替えるか、そのソフトウエアを廃止することになります。
WindowsIEなどはこの例といえます。

悪質なソフトだと

 悪質なソフトは、大きなバグ以外は非対応または"調査中"のままにして、数年後にソフトウエアを廃止したり、サポートの打ち切りをします。
意外にこういったソフトウエアは数多く存在します。

オープンソースの大きな欠点

 オープンソースソースをその名の通りオープンですので、内部の技術解析が容易になります。
この技術を守るため、さまざまな著作権などの設定を行っています。
しかし著作権を無視する企業や国は素知らぬ顔で利用してしまいます。結果、訴訟が頻繁に起きています
つまり、オープンソースを利用する側は遵法精神があることが重要だということで、
ある意味、性善説でしか運用できないといことでもあるのです。

 これはソフトウエアに限らず、著作権に絡むすべてのモノにいえます。
著作権を無視している某国はどうにかして欲しいですよね ( ;'д`)


 ソフトウエア業界全体としてオープンソースにするべきだという声が圧倒的に多く、大手ソフトウエア開発企業もその流れに逆らえず、ソフトウエアの全てまたは一部をオープンソースにしたりするようになってきています。

Linuxを使うべきだと何度も記事にしている理由の1つがここにあります (∀`*)ゞ

 

注目記事

「Amazon.co.jpアソシエイト」または「[乙の名称を挿入]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。