GPLライセンスを放棄するNessus 3.0

Nessus ─ かつて「オープンソースの脆弱性スキャナ」と喧伝された ─ は、間近に迫る3.0リリースで方向を転換するところだ。Nessus Announcementsメーリングリストの最近の投稿によれば、「Nessus 3は、無償で(Windowsプラットフォーム上でも)使用できるが、GPL下ではリリースされない」。NessusのWebサイトを見ると、Nessusは今や「ネットワーク脆弱性スキャナ」と称している。

今日(6日)の午後、この変更について、米Tenable Network Security(Nessusプロジェクトのスポンサー)の現CTO/共同創立者のRon Gula、Nessus脆弱性スキャナ・プロジェクトの設立者でTenable Network Security共同創立者のRenaud Deraisonの2人に話を聴いた。   

昨日、DeraisonがNessus Announcemenメーリングリストに投稿したことに端を発するこの話題に、たちまち質問やコメントがNessusディスカッションリストやそこらじゅうに殺到した。

昨日、Nessusディスカッションリストに投稿された「パッチの著作権保持者全員から知的財産の再ライセンスの許可を得たのですか?」という質問に対して、Deraisonはシンプルに「そうです」と答えている。

今日のGulaとDeraisonとのインタビューでは、今論争になっているライセンス変更に踏み切った公式な理由を尋ねた。Gulaの答えはこうだ。

おっしゃるように、激しい議論の的になってますね。見方がさまざまに異なる人が大勢います。私の最大の狙いは、ユーザベースを広げることです。率直に言って、真相は、GPLから離れようとしていることではなく、ずっと多くの価値を利用できるようにしていることです。たとえば、素晴らしく人気のあるWindowsスキャナという形で。それに、これはNessusを米企業でずっと簡単に利用できる状況にすることでもあります。大規模な組織には、オープンソース・ソフトウェアを組織内で使うことが許されていない人が大勢いるのです。

オープンソースがNessusプロジェクトではうまくいかなかったことにテーマを広げると、Deraisonはこう答えた。

その件ですが、そう、結局のところ、このエンジンになんらかの関わりを持ち、改良した人間は、ほぼ私たち2人だけだったんです。ですからコミュニティが存在しないわけで、誰もコードには触らない、そんな状況の一方で、オープンソースだからNessusを使えない(人がいます)。そういった人たちはネットワークでNessusを使えません。そんなわけで、やめた方がいいだろうと決断したのです。

最後に、新しいライセンスがどういった形態になるのかを聴いた。「ライセンスには、実は2つの側面があります。1つは、実際のデーモン、つまりユーザが実際に使うコードで使われるライセンスです。基本的にこのデーモンはフリーツールなので、エンドユーザなら誰でも利用できます。無料ビールという意味でのフリーですよ」というのが、Gulaの答えだった。さらに、Gulaはこう続けた。

Tenableがやったことの1つは、これはNessusが本当に有名になった理由の1つでもありますが、去年、Nessusコード、つまりデーモンはまったく変更しなかったのです。NessusはまだGPL下にあったわけですが、変更したのはライセンスです。基本的に、プラグインのライセンスはNessusから独立していました。アップデートもされていました。

それから、フリーになるのは、つまり誰でも自由に使えるようになるのは、基本的に公開から7日後でした。最新、最高の脆弱性チェックを使うには、使用料を払う必要がありました。ですから、ここで実名を挙げることはできませんが、世界でも屈指のセキュリティプロバイダ数社がこれを購入し、政府機関や大学に最新の脆弱性チェックを販売しています。Microsoft版、Linux版、Mac版もあります。というわけで、実際にはNessusライセンスには2つの部分があります。実際のプログラムそのものに関するライセンスと、コンテンツに関するライセンスです。

どういう意味かというと、たとえばApacheで言えば、ApacheをダウンロードしただけでApacheのホームページにあるコンテンツを自分のWebサイトで使えるわけではない、ということです。

Deraisonは、メーリングリストで、Nessusエンジンにはパッチや外部からの貢献という意味でのコミュニティサポートがほとんどなかったと主張したが、一部のNessusユーザはプロジェクト全体がそうだとは思っていない。あるユーザは、次のように書いている。

だからといって、GPL下で開発されたプラグインの発行をTenableが拒否したことを正当化などできない。Tenableには社内でプラグインを開発する計画があり、登録フィードから金を稼げるわけだから。プラグインを送ったら、それにそっくりな登録フィードプラグインが出てきたという経験をした人が、このリストに何人いるだろうか? エンジンの強化はもっともなことだが、おそらくオープンソース・コミュニティはプラグインの強化に労力を向けた方がいいと感じているだろう。だが、そうすることでエンジン本体のオープンソース性が失われる結果になるなら、コミュニティの見方は変わるだろう。

この意見には、別のTenable関係者George A. Thealから反論があった。彼は、社員と貢献者の両方の立場でNessusに多数のプラグインを書いてきた。

Tenableに入社する前に、Nessusのプラグインを数十個作成しました。1つか2つ拒否された記憶はありますが、その理由は同等のプラグインが先にDavid Maciejakから送られていたからです。ちなみにDavidのプラグインはGPL下にあります。

これは覚えておいてほしいのですが、Tenableに入社してからは、DavidやJosh Zlatin-Amishavのようなサードパーティ・プラグインの貢献者に連絡をとって、プラグインを書く前にこちらと調整するため、目的をplugins_at_nessus.orgに投稿するように働きかけています。基本的にこれには返信するようにしてます。プラグインを書かないように誰かに伝えるとしたら、その理由は(1)誰かが既に書いた、または書くことが決まっている、(2)そのプラグインのメリットが、Tenableとサードパーティの作者の両方にとって小さい、この2つのどちらかです。

この方向転換は、多くのフリーソフトウェア・ファンの怒りを買っただけでなく、他のセキュリティ関連リストでも注目を集めている。たとえば、今日の午前のことだが、nmap-hackersメーリングリストにFyodorがこんな意見を投稿した。

セキュリティツールに関するInsecure.Orgの最新のアンケートでは、みんな誇らしげにNessusを1位に挙げていた。Nessusは、脆弱性の検出をアプリケーションレベルにまで広げて、Nmapの機能不足を補ってくれる。その後、今年の2月になってTenableがNessusのライセンスを変更して、プラグインをさらに制限し、Nessusをコンサルタント契約に使う前に許可申請書をファックスで送信することを義務付けた。Renaud(Deraison)が2月8日にこのリストに書いた(http://seclists.org/lists/nmap-hackers/2005/Jan-Mar/0001.html)Tenableの新しいスローガン(”オープンソースの脆弱性スキャナ”)は正確だった。その当時、エンジンはまだオープンソースだったからだ。現在、スローガンは”ネットワーク脆弱性スキャナ”に変更されている。これが何を意味するかは、説明するまでもないだろう。以降の発表の中でRenaudは、Nessus 3が(2週間以内に)バイナリのみの提供となり、再配布が禁止されると表明している。説明によると、Nessusはフリーになる。ただし、遅延プラグインフィードを使う場合に限って。また、Nessus 3には、実行が速くなるなど、たくさんの強化も加えられた。GPL対応のNessus 2も当分の間は提供すると約束しているが、長期間になるとは思えない。

僕自身はこの方針転換に賛成でも反対でもないが、このリストにいるたくさんのNessusユーザは注意した方がいい。Tenableは、この転換がNessusをさらに強化するため、もしくはもっと稼ぐために必要なことだと言ってる。おそらくそのとおりだが、Nmap Projectがこれに同調する予定はない。Nmapは、8年以上前に作られてからずっとGPLで通してる。このライセンスは申し分ないよ。

以前のNessusリリースには注目する価値がある。GPL下でライセンスされたリリースであり、回収はできない。Nessusコミュニティがライセンスの変更に強く反発するなら、以前のリリースを維持し、これを拡張することは可能だろう。

意見が分かれがちなソフトウェア・ライセンスがらみの議論がただでは済まないとすれば、Nessusの方向転換は、プロプライエタリ・ソフトウェア陣営とフリー/オープンソース・ソフトウェア陣営の間を長年にわたって行ったり来たりする象徴的存在になることは必至だ。最低でも、フリーソフトウェア・ライセンスが自分にとって役立つかどうかを冷静に話し合うための材料になる。

原文