連載
» 2007年03月01日 19時17分 UPDATE

新入学生/新社会人応援企画第2弾:第2回 オープンソースライセンス事情を俯瞰する (1/2)

フリーソフトやプロプライエタリなソフトウェアから「オープンソース」を区別しているのがライセンスである。GPL、LGPL、Apache License……数多く存在するライセンスだが、それぞれの違いについてまとめる。

[ITmedia]

 前回解説したように、フリーソフトやプロプライエタリなソフトウェアから「オープンソース」を区別しているのがライセンスだ。ライセンスの中にも、Linuxが使っているGPL(GNU General Public License)や、Apacheに適用されているApache Licenseなどがあり、文字どおり山ほどある状況だ。しかし、いったいなぜライセンスがこんなに増えているのだろうか? 今回は、当世オープンソースライセンス事情を見てみよう。

オープンソースの定義

 オープンソースは概念なので、「オープンソースライセンス」というものはない。実際のソフトウェアに適用されているのは、GPL(LinuxやGNOME*など)やBSDライセンス(*BSDなど。詳細は後述)といった、法に準拠する体裁を整えた契約だ。このような契約はGPL・BSDライセンス以外にもたくさんあり、OSI(Open Source Initiative)という団体で承認されたものだけが「オープンソース」を名乗って良いことになっている。

OSIによるオープンソースの定義(日本語)

 オープンソースの定義は前記Webサイトで詳細に規定されているが、要約すると表1のようになる*

表1 表1 オープンソースの定義(要約)
パッチ:ソースコードを一部分だけ取り出したもの。ソースコードを修正した場合、古いコードと新しいコードを元に、ツールを用いて差分情報だけを機械的に抽出できる。この差分情報をパッチと呼ぶ。

主なライセンス

 前述したオープンソースの定義を満たしたソフトウェアがOSIに承認されれば、正式に「オープンソースソフトウェア」を名乗ることができる。2005年10月現在、58種類ものライセンスが承認されている。この中でも代表的なものの特徴と、利用に当たっての注意点を見ていこう。

GNUの定めるGPL

 代表的なのは、なんといってもGPLだろう。Linuxカーネルをはじめ、コンパイラやコマンド類などたくさんのソフトウェアがGPLを採用している。GPLは、前回説明したFSFが管理しているライセンスで、次のような特徴がある。

  1. ソフトウェアを利用した時点でGPLに従うことを承諾したと見なす(契約書へのサインや申請といった手続きがない)
  2. GPLが適用されているソフトウェアは、GPLの条項に反しない限り、複製、頒布、改変を自由に行える
  3. ソフトウェアを複製、あるいは改変し頒布する場合、頒布するソフトウェアもオリジナルと同じライセンスで配布すること
  4. ソフトウェアのバイナリを第三者に提供した場合、第三者はソースコードを要求できる

 GPLで注意が必要なのが3の項目だ。特にGPLのソフトウェアをビジネス用途などで第三者に販売・提供する場合、その第三者からソースコードの開示要求があればそれに応じなければならない(図1、コラム1)

図1 図1 ソースコードの開示要求

コラム1:ソースコードはどういったときに公開しなければならない?

 誤解されがちなポイントだが、オープンソースのソフトウェアは第三者に再配布しない限りソースコード公開の義務はない。そのため、

  • オープンソースソフトウェアを改造して自分一人で使っている
  • 企業においてオープンソースソフトウェアを改造し、自社内でのみ利用している

といったケースではソースコードを公開する義務がない。

 また、改造したソフトウェアの実行ファイル(バイナリ)を第三者に配布・販売したケースにおいても、ソースコードを要求できるのは直接配布・販売を受けた者に限られている。オープンソースソフトウェアを利用した製品を販売しているA社があったとして、必ずしもA社はソースコードを(Webサイトなど)公衆からアクセスできる場所に用意しなければならないわけではない。


 これが問題になるケースでよく見かけるのは、Linuxを搭載したハードウェア(ルーターなどのネットワーク機器、および最近ではHDDレコーダー、携帯型音楽プレーヤーなど)を販売する場合だ。Linuxカーネルを改変していた場合、改変部分に割いた人的コストや知的財産は公有のものにしなければならない。

 そういったコストをどの程度大きなものと見積もるかは意見の分かれるところだが、そもそもGPLのソフトウェアを利用することで、コスト削減など大きなメリットも享受しているはずだ。このあたりは、コストとメリットのトレードオフを計算に入れることが重要だ。

 なお、コストとメリットを計算する際、考慮に入れてほしいのがGPL以外のライセンスだ。Linuxを使う代わりに、もっと制限のゆるい(多くの場合同等の機能を提供する)*BSDを利用することもできる*。オープンソースのライセンスの中でも、GPLは特に制限が厳しいので、ビジネスでの利用に当たっては注意が必要だろう。

このページで出てきた専門用語

GNOME

GNU Network Object Model Environmentの略で、GUIのデスクトップ環境を実現するライブラリ(統合環境)の1つ。Window間の操作を統一し、ユーザーには使い勝手を、開発者には容易に高機能アプリケーションを作れる環境を提供する。

要約すると表1のようになる

なお、商用利用などライセンスが問題になりそうなケースでは、オリジナルのライセンス文書を確認してほしい。

*BSDを利用することもできる

Linuxを利用する場合でも、カーネルを直接改造するのではなく「カーネルモジュール」として開発することでライセンスの問題が避けられるケースがある。


       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ