ext.js のライセンス問題


注意
この記事には事実誤認があったようです。コメントで指摘していただいた k3c さんありがとうございました。
事実誤認に関する記事は改めてこちらに書きました。

以下本文
あーら皆様おひさしブリ。町田でごぜーます。
そろそろ復活させていただきますのでまたよろしくお願いしますですよっと。

さて、JavaScript なリッチ GUI ライブラリとして有名な ext.js というモノがあります。
これはもともと Yahoo! UI (YUI) という Yahoo! さんによって作られた JavaScript ライブラリへの拡張として「yui-ext」という名前で開発がはじまり、YUI にならって 修正 BSD ライセンスで、けっこうかっちょ良い UI が作れるモノでした。

つい先日まで在籍しておった企業で当方も某アプリケーションサービス (技術実験) で利用したし、某業務系 .NET アプリケーションに組み込んで関係者を驚かしたりと、活用させていただいたもんでございます。

ところが、先日、いよいよ当方が退職する段になったとき、別の ASP サービスの開発を行っていたワタクシの数少ない後輩の1人が、ext.js を使ってそいつを開発していたのです。
で、そこでまさかの事実が発覚したのでした。

ext.js の公式サイト をご覧いただければわかりますが、今やコイツはとっくに Yahoo! UI からは独立して単独で動作可能なライブラリとなっているのです。で、商用ライセンスもはじめていると。

むむむむむむ????

商用ライセンスとオープンライセンスのデュアルライセンスになったなら、修正 BSD ライセンスではイカンのではないか?
待て待て!コイツのライセンスは今どうなっているんだ!!!!?????

で、結果、オープンライセンスの方は、よりによって GPLv3 だったのでした。

GPLv3 は、従来の GPL の穴だった「Web アプリケーションサービスとして提供されているサービス」についても適用範囲を拡大したものであり、たとえそのアプリケーションそのものを配布しないとしても、アプリケーションサービスを不特定多数に提供している以上、システムのソース公開を義務付けるライセンスなのである。たしかそうだったハズ。間違ってたら指摘してくだせぇ。

正直言ってそんなに大したシステムではないのだが (ごめんよー ^-^;)、そうは言ってもクローズド・ソースでサービス提供をする前提だったのであって、これは非常にマズい。いや、ソース公開したっていいんだけれども、実は意外にソースを公開するにはモチベーションというか、ココロザシが高くないとなかなかそこまで踏み切れないモノなのである。

ext.js はもともと学生さんかなにかが開発されたモノのようで (いや、知らんけど<ぉぃ)、当初は単純に BSD ライセンスとして配布されていたものの、コイツが有名になって、さらにコイツで商売ができるとなって、であればライセンス形態を変えなければならぬことになった…という、典型的な FOSS ストーリーを歩んでいるのであった。

で、まあ結局どうしたかというと、ext.js-2.0 あたりでは LGPL ライセンスだったようで、「GNU 系ライセンスは末代まで祟る」の格言通り、LGPL だったころのバージョンから fork (枝分かれ) した、openext というプロジェクトが立ち上がっているようだ。いまのところ成果物は特にないようだが、「openext-1.0」として、LGPL だった頃の extjs-2.0.2 が配布されている。

上記 ASP サービスでもそちらを使うことにして当面問題を先送りしたのであるが、ext.js を取り巻く環境はなかなか難しい世界に突入してしまったようでございますですよ。

ワリと知らないフリをしているけれども、実は MySQL に関してもライセンス関係が非常に微妙な状態になっている事実もあります。

FOSS のライセンス問題は、まあこれまでももちろん指摘され続けてきた問題ではあるけれども、いよいよアツい世界に突入したねぇと思う昨今であったりなかったり<どっちだ!?


2 comments on “ext.js のライセンス問題
  1. Frequently Asked Questions about the GNU Licenses
    http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods
    このへんにもありますが、GPLはウェブサイト上で動く改変されたプログラムについて、ソースコードの公開を求めていません。

    GPLv3 参考日本語訳
    http://sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_General_Public_License_version_3.0
    をもう一度読み返してみましたが、公開を義務付けるような記述は見当たらないように思います。

    実際問題としては、クライアントサイドで動くJavaScriptについては、ソースコードはWebサイトにアクセスした人に渡ってしまっているので、実質公開している状態なんじゃないでしょうか。
    あとは、相手の手元にあるソースコードの再利用を認めるか、認めるならどういう形態で認めるか、について、プロプライエタリなライセンスで認めないorGPLv3で自由に使ってもらう、という、2つの選択肢がext.jsについては与えられているということではないでしょうか。

  2. ご指摘ありがとうございます。
    …た、たしかに言及されていないな….(汗)。

    事前情報で Web アプリケーションサービスの場合についても含まれるとかなんとかいうハナシがあったので、含まれているものと思い込んでいたようです。

    しかし、ご指摘のとおり JavaScript は運用されている以上配布も行われているワケですが、それを利用している Web アプリケーション本体に影響が伝播しないのはなんとなく妙な気がしますね。
    訂正記事にも書いたとおり、それをフォローするのが Affero GPL らしいので、ヤなヒトはそれを摘要すべきだし、摘要されていないものを利用するなら関係ないハナシなんでしょうけど、利用する側としてもなーんとなく悪いことしているようなしていないような、座りの悪い後味が…。

コメントを残す