【注:本文は一時的に過激だった個人的意見であり、参考用にすぎない。今の私はもうこのようには考えていない】
自由ソフトウェア財団はかつてこう述べた:「プロプライエタリソフトウェアを購入する唯一の用途は、それを研究し、自由ソフトウェアの開発に用いることである。」
《Minecraft Education Edition》は新しい教育ツールとして世界各地のキャンパスを席巻している。しかし私たちはそのリスク、つまりプロプライエタリソフトウェアであることを見落としている。
最近Hacker Newsで一篇の記事を見た:
Is It Even Worth Working on FOSS Anymore?
その中で一つの点に触れていた:なぜ人々はクローズドソースソフトウェア上でオープンソースプロジェクトを作り、それを楽しげに語るのか?
文中では「クローズドソースソフトウェアのためにオープンソースプロジェクトへ貢献するな」(Don’t work on FOSS that supports a SaaS or proprietary product.) と述べており、そこから《Minecraft》(マインクラフト、當個創世神、麥塊)のModにもこの現象があるという話になった。
これは私たちが探討する価値のある問題だ。多くのユーザーは自由ソフトウェアの価値を意識しておらず、《Minecraft》にはまさにこの欠点がある。他の代替品がある状況で、ユーザーはなおプロプライエタリソフトウェア《Minecraft》へ心血を注ぎ、作品を開発している。
この議題を探討するには、まず自由ソフトウェアとModの定義から始め、その後Modと《Minecraft》の関係を論じる必要がある。続いて、自由ソフトウェアを支持するなら《Minecraft》を遊び続けるべきではない理由を説明する。
0. 用語紹介#
プロプライエタリソフトウェアとはクローズドソースソフトウェアであり、ユーザーはプログラムのソースコードを閲覧・変更できず、自由に配布することもできない。そうすれば海賊版を構成する。
対照的に、オープンソースソフトウェアとは自由ソフトウェアであり、コードが公開されている。一部の条項では、配布後にコードを変更した場合、オープンソースとしてコミュニティへ還元しなければならないと規定している。
自由ソフトウェアは価格とは無関係だ。無料のソフトウェアが必ずしも自由ソフトウェアとは限らない。一方で、自由ソフトウェアはソースコードを公開していれば料金を取ることもできる。
Modはゲームプレイを変更するソフトウェア形式の一種である。プレイヤーが自分でゲームを解析して発展させたものもあれば、公式がAPIを提供してプレイヤーにModを作らせるものもある。通常、多くのModを持つゲームでは、ゲーム開発会社はプレイヤーをあまり管理しない。彼らが主客転倒して、ゲームとModを組み合わせて売りに出さない限りは。
1. 《Minecraft》はプロプライエタリソフトウェアである#
《Minecraft》はオープンソースソフトウェアなのか?否。それはずっとプロプライエタリソフトウェアである。Mojangが書いたEULAを見てほしい。そこには購入者が守るべき義務が規定されており、「本ゲームを自由に配布してはならない」こと、また「Modの配布は許可するが、ゲームクライアントまたはサーバーソフトウェアのクラック版やMod化版を配布してはならない」こと、さらに「貴ユーザーはあなたが制作したコンテンツのみを所有し、私たちのコードまたはコンテンツを所有したことは一度もない」ことが含まれている。
《Minecraft》は自由な配布を認めておらず、ソースコードも公式に公開されたことはない。Java版/統合版/教育版/Raspberry Pi版/中国版のいずれも同じだ。Raspberry Pi版が無料で取得できるとしても、あるのはバイナリファイルだけで、ソースコードはない。だから《Minecraft》はプロプライエタリソフトウェアである。
ではなぜ、オープンソースだと言う人がいるのか?通常それは、ModコミュニティがMod開発を便利にするため、Java版《Minecraft》を逆コンパイルし、さらにマッピング表を作ってModローダーと組み合わせて動くバージョンを得ることを指している。たとえばForgeとFabricの開発者はそれぞれのマッピング表を提供している。
たとえModローダー(modloader)がオープンソースであっても、《Minecraft》本体がプロプライエタリソフトウェアである本質は変わらない。
2. 《Minecraft》Modとプロプライエタリソフトウェアの関係#
《Minecraft》にはJava版と統合版があり、分けて論じる必要がある。Java版は俗に言うPC版で、統合版はC++で書かれたクロスプラットフォーム版であり、Windows/スマートフォン/ゲーム機を含む。
MojangはEULAの中で、Modおよびプレイヤーが制作したコンテンツについてこう書いている:
貴ユーザーがゲームに対して再制作したいかなるModも貴ユーザーの所有物であり(事前実行Modおよびメモリ内Modを含む)、貴ユーザーには絶対的な処理権がある。ただし、貴ユーザーはそれを販売/利益獲得の試みに用いてはならず、Mod版のゲームを配布してはならない。覚えておいてほしい。Modとは貴ユーザーのオリジナルコンテンツを指し、それらのコンテンツには私たちのコードまたはコンテンツの重要部分は含まれていない。貴ユーザーはあなたが制作したコンテンツのみを所有し、私たちのコードまたはコンテンツを所有したことは一度もない。
Java版#
Forge ModローダーはLGPLv2ライセンスで、一部コードを引用しても作品をオープンソースにしないことを許している。FabricはApache 2.0ライセンスであり、こちらも使用後にソースコードを公開しなくてもよい。
有名な大型Modは知名度の上昇につれて、多くが徐々にオープンソース化する。実際、Mod開発者がソースコードを隠して公開しない現象も見てきた。その結果、他のModと衝突し、作者とコミュニケーションして修正しなければならない状況が生じる。たとえば初期のGregTech ModとTinkers’ Construct Modの紛争だ。
さらに、プレイヤー制作のModは有料にできる。ただしMojangのEULAではModを「売る」ことはできないと規定している。そのため技術的には、Mod作者はPatreonのようなプラットフォームを使い、ユーザーに「支援」してもらうことでModファイルを取得させる。これなら販売の問題はない。もっと簡単な方法は、ダウンロードリンクを広告だらけの短縮URLにして、受動的に収入を得ることだ。
ここまで話したのはJava版の話であり、統合版の状況は異なる。
統合版#
統合版にはかつて、Forgeに似たサードパーティModローダーに頼ってModを遊ぶ時代があった。Zhouwei Zhangの「BlockLauncher」、別名「ModPE Script」時代であり、Androidプラットフォームでのみ動作した。BlockLauncherはオープンソースソフトウェアで、Apache 2.0ライセンスである。作者は無料版と有料版を作って機能を区別していたが、ソースコードはGithub上で公開されていた。
その後流行したMod形式は「Add-On」で、Mojang公式がサポートするAPIになり、各プラットフォームの統合版で動作することが保証された。これらのAPIは安定しているため、制作者にMojang公式運営のマーケットプレイスへ作品を出して金を稼ぐ機会を与えた。ただしMinecraftのEULAは依然としてModを売ることを禁じているので、マーケットプレイスで売れるのはせいぜいMod入りのマップである。プレイヤーもJava版のようにModを開発して無料共有できるようになり、統合版は徐々にネット上のModコミュニティを形成し、マーケットプレイスで買わなくてもよくなった。
また、統合版には現在もロシアのInnerCoreコミュニティがBlockLauncherに似たModを開発している。そのModローダーはプロプライエタリライセンスだが、勢いは公式が推進するAdd-Onには遠く及ばない。
したがって、統合版Add-Onの状況はJava版Modローダーとは完全に異なる。統合版のModローダーはゲーム内蔵であり、つまりModローダーでさえオープンソースではない。オープンソース度から見ると、Java版のModエコシステムよりさらに悪い。
3. 《Minecraft》Modの正面と負面の影響#
Mod作者が適切なオープンソース協議を選ばなければ、著作権はall rights reservedのままだ。ただし《Minecraft》のEULAによれば、プレイヤー制作Modは商業用途に使えない。
Mod開発者は多かれ少なかれオープンソースにするかどうかの問題に直面する。主流Mod APIは強制的なオープンソースを要求していないからだ。さらにひどい場合、Mod開発者同士が知らせずにコードを盗用したり、法意識の薄い国で、オープンソースModを盗用して商業販売し、クローズドソースソフトウェアに変えてしまう人がいたりする。
Mod界隈の乱象についてはここまでにして、正面の影響を話そう。《Minecraft》のMod発展は今日までに、このゲームへさらに高い人気をもたらした。《Minecraft》原版のゲームはすでに長く遊べるが、Modを入れるとまた別世界になる。さらにサーバーのようなマルチプレイと組み合わせればなおさらだ!MojangはModに対して開放的な態度を取り、統合版においてさえ公式サポートのMod APIを公開している。これはゲームの生命力を延ばす助けになる。多くの開発者はMod制作を通じてプログラミングの楽しさを発見し、《Minecraft》を教育性のあるツールにもした。さらには《Minecraft》プログラミングキャンプまで現れた。
4. Modを中心に遊ぶ《Minecraft》も、なおプロプライエタリソフトウェアを支持している#
本文冒頭で探討した問題に戻る。なぜ人々はクローズドソースソフトウェア上でオープンソースModを作ることを楽しむのか?
この問題はおそらくコミュニティ要因による。十分なプレイヤーがいて、十分な受け手がいるからこそ、さらに多くの開発者を引き寄せ、一種の大者恒大的循環を形成する。Mojang公式のJava版&統合版セット販売の宣伝動画にはModが登場しており、Mojang公式がModに対して今も肯定的な態度を持っていることがわかる。Mod制作は、自分の名前を多くの人に知ってもらえる名誉感を与える。
