本連載ではご存じのとおり,Apache Jakartaプロジェクトを中心に,The Apache Software Foundation(以降,ASF)内のプロダクトを紹介してきた。本連載では,プロジェクト,サブプロジェクト,プロダクトといった概念を用いてツールやソフトウエア部品を紹介している。これらの概念はASF内の管理体系に依存している。また,ASFは非常に巨大な組織とサイトを運営しており,その内部で開発されているプロダクトは,日々増え続けている。

 オープンソースを活用したプロジェクト開発を行うには,オープンソースのプロダクトを幾つ知っているかがまず鍵となる。また,求める機能を提供するプロダクトを探すという行為も必要となるが,その時にASF内の全体像やサイトの構造を知っていることですばやく目的のプロダクトを探すことが可能となるだろう。

 そこで,今回は個別のプロダクトにフォーカスせずに,ASFの全体像を紹介しASFが提供するオープンソース・プロダクト活用のための情報を提供したいと思う。

独り歩きする「オープンソース」という言葉

 まずは,ASFを紹介する前に「オープンソース」について簡単にふれておこう。筆者はオープンソースというものに携わるようになってから多くの方とお話し,様々な質問や意見を聞く機会に恵まれるようになった。その中には,筆者が一般的に知れ渡っていると思っていることが,実はあまり知られていないと認識させられることや,間違った解釈をしている事などが実は非常に多いのだと認識させられることが多々あった。

 その中でも象徴的だった質問は,「オープンソースの製品はなぜ無料で利用できるのですか?」といった主旨のものだった。この質問には,「オープンソース=無償」という認識と「配布元への未理解」といった問題が隠されていると筆者は捉えた。

 本記事をお読みになっているということは,少なくともオープンソースに興味または,利用している方であると思うが,「オープンソース」という言葉が一人歩きをしており,その定義をあいまいに理解している方が以外に多いので,まずはここから明らかにしておく。

 「オープンソース」という言葉は狭義では,Open Source Initiativeという団体が定義している下記に示した10の条件を満たすプロダクトのみが名乗れるプロダクトの種類(配布形態と言ったほうが適切かもしれない),ということになるだろう。各条項の詳しい内容はThe Open Source Definitionを参照いただきたい(日本語訳はここ)。

1.再配布の自由
2.ソースコードの公開
3.派生ソフトウエア頒布の許可
4.作者ソースコードの完全性
5.個人やグループに対する差別の禁止
6.利用分野に対する差別の禁止
7.ライセンスの分配
8.特定製品でのみ有効なライセンスの禁止
9.他のソフトウエアを制限するライセンスの禁止
10.特定の技術やインタフェースに対する依存の禁止

 これらの条項を満たさないものは,正確には「オープンソース」と呼ばないことになる。

 オープンソースとしての間違った認識の代表として,ソースコードを公開するソフトウエア開発の先駆けであるThe GNU Project(以降,GNU)が提供するソフトウエアがある。GNUが配付するソフトウエアに付随するライセンスは GPLLGPLと呼ばれる非常に強い拘束力をもったライセンスであり,上記の10条件と相容れない内容を含んでいる。よって,GPLやLGPLのライセンスによって配付されているソフトウエアは「オープンソース」ではなく,「フリーウェア」と呼ぶべきものである。

 とはいえ,プロダクトのライセンスの詳細を把握し,「オープンソース」と「フリーウェア」という言葉を使い分けている方は少ないだろう。さらに,両者に属さないようなライセンスも存在する。

 現在のように「オープンソース」という言葉が独り歩きをしている状況においては,「オープンソース」をもっと広い意味でとらえたほうがよいのかもしれない。そして,それは2つの意味を持っていると考えられるだろう。1つは「ソースコードの入手が可能なソフトウエア」という意味,もう1つは「無償で利用できるソフトウエア」という意味だ。前者に関してはその名の通りであり誤認はないだろう。しかし,後者に関しては実は若干の誤認がある。この誤認こそが,文頭の「オープンソース・ソフトウエアはなぜ無料で利用できるのですか?」といった質問を生んでいるともいえるだろう。次節では,この誤認を紐解いてゆくことにする。