【動作環境】
| OS |
RedHatLinux8.0 / WindowsXP |
| APサーバ |
Tomcat4.1.24 |
| フレームワーク |
Struts1.1b |
| IDE |
Eclipse2.1 + Tomcat Plug-in |
| RDBMS |
PostgreSQL7.3 |
|
1.はじめに
Webアプリケーション全盛期の近年、新たにWebアプリケーションの勉強を始めてみよう、と思われる方も多いことでしょう。しかし、商用のWebアプリケーションサーバや、統合開発環境などを揃えようと思うと、下手をすれば何十万もかかってしまいます。仕事で使うにしても、気楽に試すというわけにもいきません。
しかし、近年状況は大きく変わっています。インターネットの普及により、距離を越えて人と人とがやりとりを出来るようになり、その中で様々な情報が共有されるようになりました。オープンソースソフトウェアはその大きな成果の一つです。
商用の製品に勝るとも劣らないオープンソース製品のアプリケーションサーバや統合開発環境、他の様々な有用なソフトウエアが世界中で開発されています。そしてあなたはそれを無料で利用することができます。本連載では、Webアプリケーションの開発/運用までの全ての作業にオープンソース製品を利用していきます。
2. オープンソースのすすめ
オープンソース製品を使う理由は、無料であるだけではありません。安かろう、悪かろうでは、このように世界的な動きになるはずがありません。その特徴を少し紹介しておきます。
- ソースが公開されている/基本的に無保証
オープンソース製品はその名の示す通りソースコードが公開されています。これは他の形態のソフトウエアには無い特徴です。その分、基本的に不具合があっても保障されず、その不都合は気付いたあなたがソースコードを修正し、その修正をフィードバックすることが期待されています。なお、基本的に、と書いたのはサポートのみを有料で行うケースもあるからです。製品自体はソースを公開して広く使ってもらい、そのサポートで収益を得る、というのはオープンソース製品の中心的なビジネスモデルです。
- 再配布が自由である
オープンソース製品は再配布が自由です。また他の人に再配布を妨げてはいけません。オープンソースのメリットは製品や製品のソースコードが広く共有されることによって生まれてきますから、基本的な精神の一つとなっています。
- 信頼性、機能性に優れている
オープンソース製品は信頼性が低いわけではありません。それどころか多くの製品では数千/数万人という人間が開発に参加し、それ以上の多くのユーザが不具合報告やアドバイスなどのフィードバックを行っています。その結果、多くのオープンソース製品は商用製品に比べても、高い信頼性を持っています。機能面でも、痒いところに手が届く工夫が凝らしてあり、勝るとも劣らなくなってきています。
参考:Open Source Initiativeによるオープンソースの定義 [原文]
[翻訳]
3. オープンソースのライセンスについて
オープンソース製品を利用する際、その製品を作ってきた人々の権利を損なうようなことがあってはなりません。個人で使う場合には、殆ど問題になることはありませんが、商用利用する場合には注意が必要です。そのオープンソース製品がどんなライセンスに基づいているのかをきちんと知っておく必要があります。
これらのライセンスを軽視して、オープンソース製品やそれに含まれるコードを、自社の商用アプリケーションに組み込んだりした場合、無用な恥をかいたり、その結果、企業の信用を損なうことになるかもしれません。実際に日本国内でもライセンスに対して鈍感だったために起こったトラブルがいくつもあります。
でも本当はそんなに難しい話ではありません。オープンソースのコードを利用させて貰ったら、自分達が追加したコードも公開して全体で共有しよう、という精神をまず思い出せばよいのです。下記に主なライセンスの特徴を紹介します。
- GNU General Public
License(GNU GPL)
広く用いられているライセンスの中で最もオープンソースであることに厳密なライセンスです。特徴としては、GPL下の製品は必ずソースコードを添付しなければならず、さらにそのライセンスはGPLライセンス製品から派生したものも従わなければなりません。つまりGPLライセンスの製品のソースコードに手を入れてそれを再配布しようとしたとき、その製品もGPLでなくてはならず、商用、非商用を問わずソースコードを公開して配布しなければならないということです。
- GNU Lesser General
Public License (GNU LGPL)
GPL下では、例えばGPLライセンスのライブラリモジュールを自分の作成した製品に組み込んでも、製品全体をGPLとしてソースコードを公開しなければならない、ということで商用製品として再配布をしようとするには厳しいライセンスです。
LGPLはそのような制限を緩くし、そのライブラリモジュールに手を入れるわけではなければ(リンクして利用するだけならば)、製品全体のコードを公開しなくてもよい形になっています。
- Berkeley Software Distribution
License
GPLに比べると制限の緩いライセンスです。ライセンス内では、無保証、免責事項を宣言しており、再配布も可能です。またGPLとは違い、ソースに手を加えてもその変更後のソースを非公開にすることができます。
もともとのBSDライセンスは、初期開発者(カリフォルニア大学バークリー校)についてのクレジットを入れなければなりませんでしたが、現在はその条項は削除されています。修正後のBSDライセンスを特に修正BSDライセンスと呼びます。
- The Apache Software
License
BSDライセンスと同じく無保証、免責事項を謳ったライセンスです。変更の有無に関わらずソースコードおよびバイナリの再配布は自由ですが、再配布物に含まれる文書中に初期開発者(Apache
Software Fundation)への謝辞を入れる必要があります。また変更した製品は、Apache
Fundationに事前許可なくその名称を使うことができません。例えばTomcatを改編した製品を作り再配布することは構わないが、それをTomcatと呼んではならない、ということです。
- Common Public License(CPL)
CPLはApache Software Licenseと同様にBSDライセンスをベースとしています。コードに修正を加えて再配布を行う際もソースコードを公開する必要がありません。さらに第三者に特許侵害を主張されたとしても、それに対する一切の責任を放棄している、といった特許に対する免責事項が含まれているのも特徴です。
なおそれぞれのライセンスについては必ず原文を参照ください。
参考:GNUプロジェクトのライセンス解説ページ @IT記事
ビジネスとオープンソースライセンス
>>次のページへ
|