HOMELinux道場Linux道場入門編第3回 LinuxとOSS(Open Source Software)

Linux道場入門編

第3回LinuxとOSS(Open Source Software)

今回はLinuxとOSSについてのお話です。LinuxとOSSは非常に密接に関連しており、LinuxはOSSがなければ存在できないといってもいいでしょう。
以前LinuxとはOSの核の部分であるカーネルをさしているというお話をしました。そしてそのカーネルを取り巻くようにソフトウェア群が存在し、広義の意味でのLinuxを形作っています。そのカーネルを取り巻くソフトウェア群のほとんどがOSSであり、そのOSSの中核をなすのがGNUプロジェクトにより開発されたOSSです。

GNU(GNU is not UNIX)

GNU is not UNIXという再帰的頭字語で表現されるGNUはFSF(Free Soft Foundation)という、ソフトウェアの制限を排除し自由にすることを目的とした団体の1つのプロジェクトです。FSFではコンピュータプログラムの使用、複写、修正、再配布に関する様々な権利制限を排除し、ソフトウェアを誰もが自由に扱えることを目標として活動しています。権利制限を排除linux4というと誤解を招くかもしれませんが、この考えはすべての権利を排除するという意味ではなくソフトウェアの使用条件に関する権利からソフトウェアの使用者を解放することを意味しています。このため著作権などを破棄するいわゆる「パブリックドメイン・ソフトウェア」の意味とはことなる点に注意が必要です。この FSFのなかでUNIXライクな完全なオペレーティングシステム(GNUシステム)の開発を担当するのがGNUプロジェクトです。このGNUプロジェクトは、UNIX OSに必要とされるライブラリやアプリケーションなどの様々なソフトウェアを開発しており、カーネル以外のソフトウェアをほぼそろえています。代表的なものとしてコンパイラであるGCC、C言語の標準ライブラリであるglibc、エディタのEmacsなど様々なものがあります。
本来はカーネルもGNUのソフトウェアで構成する予定でしたが、現在はLinuxをカーネルとして採用し、UNIXライクなOSを完成させています。

  • ※本来GNU OSのカーネルの部分を担う予定であったのが、GNU Hardといわれるものでした。
    GNU Hardは開発を続けられていますが、Linuxカーネルを採用することによりGNU OSとしての形ができてしまったため、実質的にLinuxがGNU OSのカーネルとなっている状態です。

ここで重要なのは、GNUが完全フリーのUNIXのオペレーティングシステムを実現するためのプロジェクトである、ということです。これはフリーの UNIXを使いたい、という発想で生まれたLinuxと目指すべきところが同じであり、カーネルのみの実装であるLinuxと相性がよかった、ということになります。結果Linuxはカーネル、GNUはカーネルを取り巻くソフトウェア群、といった形でお互いを補完する形で結びついたのです。
よくLinuxを表現する場合、厳密にはGNU/Linuxシステムと呼ぶべきであるといわれるのは、このような理由からです。

GNU(GNU is not UNIX)

こういったGNUのソフトウェアは、FSFの目的とするフリーソフトで、ユーザが自由にソフトウェアを利用することが保証されています。逆にフリーであるために必要な条件も取り決められており、これがGPL(The GNU General Public License)と呼ばれるライセンスです。
GPLではフリーソフトの使用条件にソフトウェアの自由を妨げてはいけない、といったことを明文化しています。

GPLの中には、ソースコードの開示義務などの制限事項があり、商用ソフトウェアでGPLのソフトウェアを利用する場合には様々な問題点があります。この点に関しては、法解釈など様々な議論がされており、詳細は割愛しますが要はGPLとはソフトウェアは、そのソースコードも含めて本来いろんな人が自由に利用できるものであるべき、という権利を守るための主張です。GPLをどう思うかについては賛否両論色々あるかと思いますが、少なくともLinux を利用する上において、この恩恵を被っていることは議論の余地はないかと思います。Linux自体もGPL(v2)にのっとって配布されているのですから。

GPL以外にもLinux上で利用可能なソフトウェアには、様々なライセンス形式があります。例えばWebサーバで有名なapacheがありますが、apacheはASF(Apache Software Foundation)が提供するOSSの1つです。ASFではApache Licenseによってソフトウェアを配布しています。このためWebサーバapacheはOSSとして配布されていますが、ライセンスはApache Licenseによっているということになります。そのほかにもGPLより適用範囲の小さいLGPLや、かなり制限のゆるいBSDライセンスなど様々なものがあります。いづれにしても、これらのライセンスは様々なOSSで利用されており、われわれに質の高いソフトウェアを提供してくれていることには変わりはありません。しかもソースつきで。

  • ※ApacheライセンスやBSDライセンスにソース開示の義務はないのですが、元のソフトウェアを開発しているところはオープンソースにしている場合がほとんどです。
    どちらからというと、それらを利用した別のソフトウェアを開発する人たちには使いやすいライセンスかもしれないです。

このようにLinuxとOSSは切り離せない関係にあり、Linuxの利用拡大の要因の一旦は間違いなくこの多くのOSSの存在にあるといえます。

末永 貴一

コラム執筆/末永 貴一
株式会社エイチアイ研究開発部 部長

ヒューマンインターフェイスの研究開発、コンテンツの開発を行う株式会社エイチアイで次世代技術の研究開発を行う業務を担当している。 オープン系のシステム開発事業、教育事業を経て、自社独自の組込み機器向け3DリアルタイムレンダリングエンジンであるミドルウェアのMascotCapsuleを中心とした開発に従事した。数年前にLinuxを知ってからはサーバ構築、開発、教育、執筆などさまざまな場面で関わるようになり、現在では組込み開発でもLinuxを利用することもある。

このページのトップへ