OSはオープンソースにすべきか?

こんにちは、Takymです。
これは、自作OS Advent Calendar 2018の25日(最終日)の記事です。
僕は自作OSの初心者です!(そんな人が最終日に記事を書いてすみません)

本文

世界には色々な種類の自作OSがあります。有料でソースコードが非公開の物(以下、クローズドソース)や、無料でソースコードが公開されている物(以下、オープンソース)など、配布方法も色々です。例えばMicrosoft Windowsは有料でソースコードは公開されています。反対にLinuxは無料でソースコードが公開されています。Linuxにはディストリビューションと呼ばれる改変版が複数存在しています。

クローズドソースのソフトウェアの内部の動作は開発者によって公開されている情報ででしか知る事ができません。しかし、オープンソースの物はソースコードを解析すれば内部の動作を理解する事ができます。バグやセキュリティがある場合、クローズドソースの場合は、製造者しか修正する事ができません。しかし、オープンソースの場合は、誰でも修正する事ができます。ただし、オープンソースの場合、ソースコードを解析する事により脆弱性が発見され、悪意を持ったソフトウェアを開発するのが簡単でもあります。有料のソフトウェアは開発者によるサポートがありますが、無料の場合は無い方が多いです。

オペレーティングシステム(Operating System)は、コンピュータ全体を管理するソフトウェア(またはファームウェア)です。接続されている全てのハードウェアやデバイスを制御する事ができます。OSが誤作動を起こせば、ハードウェアが壊れる可能性もあります。コンピュータの中で一番重要な部分と言っても過言ではありません。その為、一般の利用者は信頼度が高いOSを使うべきです。プログラミングができる人なら、OSのソースコードを読んでそのOSが信頼できるかできないかを、自分で検証する事ができます。

セキュリティ上の観点から、OSのソースコードを公開すべきでしょうか?それとも、公開しないべきでしょうか?オープンソースにする理由は他にもあります。例えば、自分でソースコードを改変し極限までカスタマイズする、等です。僕は、OSは無料でオープンソースにすべきと考えています。

まず、先程も言いましたがセキュリティ上の観点から、自分でソースコードを読み致命的な不具合を確認できるようにすべきです。何故なら、クローズドソースのソフトウェアは裏で何をしているのかが不明で、もしかしたら個人情報をOSの提供会社にアップロードしているかもしれません。オープンソースの場合、誰かが悪意を持ったソフトウェア(以下、ウイルス)を作成し易いかもしれませんが、同時に誰でもすぐその問題を修正する事ができます。それに、今時のアンチウイルスソフトは殆どのウイルスを検出する事がきます。(「linux アンチウイルス」でググると色々な種類のアンチウイルスソフトがヒットします:https://www.google.com/search?q=linux+%E3%82%A2%E3%83%B3%E3%83%81%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9、因みに、僕はWin10上でAvastを利用しています。)

他には、OSを極限までカスタマイズし自分に合った最高の環境を構築するという理由もあります。その人の趣味にあったUIを構築するには、ソースレベルでの改造が必須になるOSの方が多いと思います。確かに、改造系アプリをインストールすればある程度改変できると思いますが、それではシステムその物の仕組みを変更する事はできません。また、設定ファイルで変更できないような部分の変更も可能となります。そこまで改造する必要が無いと言われれば、それ以上言い返せませんが、それでもカスタマイズできる選択肢はあった方がいいと思います。人にはある程度の選択肢と自由度が必要です。

開発者に金が入らないという反論もあると思いますが、そんな事はありません。LinuxやGNUは寄付により成り立っています。また、OSをカーネル部(共通部分)とシェル部(特徴的な部分)に分割するのもありだと思います。カーネル部を無料のオープンソースにしシェル部を有料のクローズドソースにします。ユーザーはシェル部を自分好みに選ぶ事もできます。これならオープンソースとクローズドソースのどちらの利点も活かせると思います。

後書き

まとめると、セキュリティ問題をすぐ解決できる、カスタマイズ性が高いので、OSはオープンソースにすべきです。また、カーネル部をオープンソースにシェル部をクローズドソースにして、シェル部だけを有料で販売するという手もあります。

感想・意見・質問・誤字・脱字等はこの記事のコメント欄にお願いします。
最後まで読んでくださってありがとうございました。

コメントを残す

WordPress.com で次のようなサイトをデザイン
始めてみよう