Minecraft:Java Editionの一部ソースコードがオープンソース化されます!

Minecraft:Java Editionの一部ソースコードがオープンソース化されます!

プログラムにおいてソースコードは重要で最も機密性の高いものです。

何故ならば、仮にソースコードが一般に流出してしまった場合、そのプログラムは中身が解析され、量産され、自分たち独自のものではなくなってしまうからです。

オープンソースとは

オープンソースは、プログラムの心臓部とも言われるソースコードの開発を商用、非商用の目的を問わず利用、修正、頒布することを容認し、誰でもソフトウェア開発に参加できるようにするソフトウェア開発形態の一つです。

詳細はWikipediaを見ていただくのが早いかと思います。

オープンソースには、オープンソースライセンスというものが存在しており、ライセンスが定義されている場合、それらを準拠することで利用者は自由にソースコードを利用することができます。

オープンソース化されるライブラリ

オープンソース化の対象となるのはMinecraft:Java Editionのソースコードの一部で、各ソースコードはMITライセンス下で提供が行われます。

MITライセンスとは

ソフトウェアのコピー・配布・変更・変更後の配布・商用利用・有料販売等を許可されているライセンスです。

ソフトウェアに関する著作権表記及び、MITライセンスの全文を表記するという条件さえクリアしていれば基本的に何をやっても許されます。

ただし、ソフトウェアを利用したことにより発生した一切の責任は製作者は一切負わない事となっています。

今回オープンソース化が行われたライブラリは「Brigadier」と「DataFixerUpper」の二種類です。

ライブラリとは

ライブラリとはプログラムを作る上で必要となるであろう部品が集められているソースコードです。

単体では機能せず、他のプログラムから呼び出され定義されることによって機能を発揮します。

Brigadier

Brigadier(ブリガディア)はMinecraft:Java Edition用に設計・開発されたコマンドの構文解析やディスパッチャを行っているゲームコマンドエンジンです。

ディスパッチャとは

処理をキューしていきそれらを古い順にジョブとして処理していく仕組みのことです。

DataFixerUpper

DataFixerUpperはMinecraft:Java Editionが異なるバージョンのデータを最新のものへ変換する為に開発されたライブラリです。

ゲーム開発においてバージョンを追うごとのシステムの変更に伴い、データ形式やゲームファイルが変更されることはよくある話なのでそれらの問題をリセットではなく引き継げる形で解消するために用いることが可能です。

今後のオープンソース化

今後もMinecraft Javaチームは数多くのライブラリをオープンソース化する予定があるようです。

その中の一つが「Blaze3D」というMinecraft 1.14で実装される予定の新しく書き直されたレンダリングエンジンとのことです。

今後も数多くのライブラリによりMinecraftがより幅の持ったゲームとなり同じ系統のゲームも発展すると思うので楽しみに待っていたいと思います。