ページ

2011年9月23日金曜日

オープンソース版Doom3(idTech4)に望むこと

前回はせっかくオープンソースになったとしてもライセンスがGPLだとゲームエンジンとしては思ったように活用されないのではないかという個人的妄想を書きました。念押しになりますが、この意見は全くの素人が考えたモノなので実際にはどうなのかは判りません。その事を考慮して、これから書く内容もご判断下さい。では前回からの続きスタートです。

ゲーム分野におけるGPLライセンスの問題点とは何なのか? 従来のゲーム、特にPCゲームだけならばそう問題でも無いのですが最近はPCと据え置き機とのハードウェアの差異が少なくなり、特にMSのXBOX360などは主要技術がPCと同じDirectXという有様です。まぁCPUアーキテクチャの違いやDirectXのバージョンが現行PCと比べると低いという問題はありますが基本的にはWindows環境で使っているゲーム技術をベースとして使える訳です。

まして最近のゲーム機は従来のパッケージ販売と並行して独自のアプリストアでのDL販売が可能になっているのでインディーズゲームや古い作品の移植版なども安価で販売出来、ゲーム開発者からするとだいぶ参入障壁は下がっている訳です。ですので、本来ならDoom3エンジンのような過去に活躍したゲームエンジンでも安価、あるいは無償で使用できれば、まだまだ活躍の場はあるはずなんです。OSSならば自分達による改良も出来るので新たなレベルに引き上げる事すら可能な訳ですからね。

普通なら開発者は喜んで使用する訳ですが実際はそうでも無いんですよね。特にGPLだと。それは何故か? 結局は各ゲーム機メーカー側がGPLなゲームエンジンを禁止しているのではないかと(実際に問い合わせた訳ではないですけど)。理由はいくつかあるでしょうがメーカーとしては自分達でコントロール出来無いシロモノを自分の庭に極力入れたくないって事でしょうかね。よほど魅力的な内容でもなければそんなものに頼る必要も無いわけですし。

じゃあどうすれば良いのか? 一番良いのはライセンス変更ですね(笑)。現にオープンソースでもBSDライセンスな物理演算エンジン「Bullet」なんかはXBOX360やPS3のゲームソフトでも使われていますし。他にもSDLも今までLGPLだったライセンスを1.3からは「zlib License」に変更予定ですし。このブログでは触れていませんでしたが「Haaf's Game Engine」という商用の2Dゲームエンジンも同じくzlib licenseでオープンソース化されています。これらのライセンスならば恐らく各ゲーム機メーカーも拒む理由は無いでしょうからね。

幸い? Doom3エンジンは商用ライセンスと(恐らく)GPLライセンスのデュアルライセンスになると思いますのでGPLを許容してくれるプラットフォームでは、そのままGPL版を、許容してくれないプラットフォームには商用ライセンスを購入して対応するというNexuizやUrban Terrorが使った方法で対処するという方法もあります。まぁUrban Terrorはどういった理由で商用ライセンスを購入したのかは憶測の域を出ないですけど。

じゃあDoom3エンジンも商業とGPLのデュアルライセンスなんだから問題ないじゃないの? と思うかもしれませんが実はそうでもないのです。これはゲームに限った問題では無いのですがデュアルライセンスにも問題点はあるのです。ここからは私の推測ですので実際の場合と異なるかもしれません。

Doom3エンジンをGPLとして公開する場合、基本的には商用ライセンス版と同じモノが公開されるでしょう(もしかしたら、他企業の開発部分が抜き取られているかもしれませんが…)。仮に公開時のバージョンを1とします。このバージョン「1」を元にオープンソースのコミュニティが改良を加えていく訳ですね。例えばOpenGLの最適化やサウンドシステムの改良等。

そうするとバージョンが1から1.1、1.2と段々と上がって行きます。一方、元となった商業版エンジンはiD Softwareが改良しなければバージョンは1のままです。勿論内部で改良していけば1.1〜と上がっていくでしょうが今までの例を見ればこれ以上旧エンジンに改良を加えていく事は無いでしょう。

この状態がQuake3をコミュニティが改良していったioQuake3と商用ライセンス版のオリジナルQuake3エンジンとの関係性です。あるいはNexuiz(DarkPlaces)とオリジナルQuakeエンジンとの関係性です。一度GPLとして公開した以上オリジナルのエンジンに改良点を移植する事は通常不可能なのです。これではせっかくGPL版を皆で改良していったとしてもその改良点を維持したままGPLライセンスを持ち込むことを許していないプラットフォーム(XBOX360やPS3)に持ち込む事が出来無いって事です。

なら商用版買えばいいじゃんと思いますが商業版はずっとバージョンが固定されたまま(iD Softwareが独自改良すれば別ですが)なので、せっかくオープンソース化してくれたとしてもあんまり恩恵が無いと。勿論GPL版を元に開発してGPL版の持ち込みを制限していないプラットフォーム限定で商売をすれば何の問題もない訳なんですが、そうなるとXboxやPS3、iPhoneといった魅力的なプラットフォームを捨てる事になってしまいます。

この問題を回避するにはGPL版を元に改良した部分をGPL以外のライセンスとして公開するか公開せずとも自分達だけで独自改良を続けて行き、完成したら商業ライセンスを購入してゲームを販売しなくてはなりません。自分達だけで改良できるくらいレベルが高ければ何の問題もないですしね。ただ、そこまでするなら何もDoom3エンジンに拘らずにUDKでもUnityでも良い訳ですが。あぁソースコードが完全に開かれてるので徹底的に弄りたいのならGPL版で試せるDoom3エンジンの方がいい場合もありますかね。

個人的にデュアルライセンスで上手く行っているプロジェクトっていうのは社内の開発チームが存在していて実質的な開発の主導権を握っている場合が多いと思います。ソースコードはオープンになっていても外部の人間の改良が実際に取り入れられる事は少ないのが実情かなぁと。これは理由があってちゃんとコードをレビューしないと取り返しのつかない事になってしまう事もあるので商売として開発している側からしたら慎重にならざるを得ないのかなぁと。

こういうプロジェクトはソースコードはオープンなんだから改良したいなら自分達で派生版作ってもいいよ的な考えなのかもしれませんね。まぁ普通のソフトウェアならそれでも十分なんですがゲームというのは主流が商業プラットホームなのでGPLの派生版じゃ大半のプラットホームからソッポ向かれてしまいますしねぇ。ましてQtのようなプロジェクトと違ってDoom3エンジンは既に開発が終了しているプロジェクトなので商用版が活発に開発される事もないでしょうし。核となる会社側の開発者が居ないでしょうしねぇ。

まとめ切れていませんけど個人的に一番良いのはライセンサーのiD Software自らがこれから立ち上がるであろう開発コミュニティと協力体制を作って半ば公式な開発コミュニティを運営する事だと思います。その際に開発貢献者には改良点をGPLではなく、より緩いBSDライクなライセンスにして貰うか例外として商用のDoom3エンジンへの統合を承諾して貰う事ですかね。よく調べてませんがこの本家への取り込みはAsteriskの開発体制では成功しているそうなので無理な話ではない気がします。うろ覚えなので完全に間違っているかもしれませんけど。

別にiD Softwareに頼らずともコミュニティ独自に似たような事をしてGPL版へのパッチとしてBSDライクなライセンスで改良していっても良いのでしょうが、そうなるとソースコード管理が複雑になりそうですしね。GPL版には統合出来るでしょうが商用ライセンスと統合するにはライセンサーの許可が要るでしょうし。

半年に一度くらいの間隔で新しいバージョンをリリースしていけばかなりいい感じでコミュニティが回るような気がします。実はこの問題は既に一部のDoom3Modコミュニティで話されておりXrealの開発者であるTr3B氏も似たような問題提起をコメントしていました。ちょっと英語が難しくて詳細までは解らなかったのですけど。

Doom3エンジン(iD Tech4)はこれから先の5年、いや下手したら10年くらいオープンソースなFPSゲームの中心となる可能性がある大型プロジェクトなので、商用利用を含めた上手いやり方が見つかってくれれば良いのになぁと個人的には思っているのですけど。おそらく次世代のiD Tech5からはオープンソース化はされないでしょうし。まだわかりませんけど少なくとも今までと同じような扱いにはならないでしょうしね。

ゼニマックスの中の人でもしこのブログ見た人がいたらオープンソースコミュニティとの連携を是非とも検討して下さい(笑)。上手くいけばインディーズゲーム開発にiD Tech4の商業ライセンス売り込めますよ(笑)。しかもコミュニティが勝手に開発してくれますし。あくまで仮定ですけど。

#外部リンク
デュアルライセンス - Wikipedia
デュアルライセンス - Wikipedia

0 件のコメント:

コメントを投稿