なぜオープンソースにしているのか
moorestechは「人類の技術進化を辿る自動化工業ゲーム」というコンセプトで作られていますが、そのソースコードはオープンソースとして公開されています。 ここでは、なぜオープンソースにしているのか、その理由とメリットを詳細に説明していきます。
mod開発の自由度を上げるため
このゲームはmod開発コミュニティに重点を置いており、プレイヤーが自分の好みやアイデアに合わせてゲームをカスタマイズできるようにしたいと考えています。 私もMinecraftのmodを作った経験がありますが、modは多くの場合、既存コードを改変しなければならない場面があります。
しかし、既存コードが閉じられていると、どこにインジェクションしたら良いかわかりづらくなりますし、バージョンアップや互換性の問題も起こりやすくなります。 そこでmoorestechでは、ソースコードをオープンにすることで、以下のメリットを提供したいと考えました。
ゲームの実装について理解しやすくする
ソースコードを読むことで、ゲームの内部構造や仕様が明確になるため、mod開発者は自分の目的に合った箇所を改変することができます。
拡張ポイントを設けるプルリクエストを出せるようにする
ゲーム本体に影響しないようにmod用のAPIやフックポイントを提案することができます。これによって、mod開発者は既存コードを改変せずに済みますし、ゲーム本体も柔軟性が高まります。
mod開発者同士が協力しやすくする
ソースコードが公開されていれば、他のmod開発者と情報交換したり相互レビューしたりすることが容易です。また、共通のライブラリやツールなども作成・共有できます。
オープンソースの理念に賛同するため
またmoorestechはオープンソースの理念にも賛同しています。 私は、オープンソースを通じてユーザーに以下のようなメリットを提供したいと考えています。
他のOSSへ貢献する第一歩にしてほしい
解決しやすいissueを一定数ストックしておき、貢献したい人のために残しておくという方法で、OSSへの参加を促進したいと考えています。
これは、私がとあるOSSについて貢献したいと思ったときに、良いissueが見つからず、良い貢献の仕方がわからなかったという原体験に基づいています。 moorestechでは、このような壁を取り除き、気軽に楽しくOSSに貢献できるような環境を整えようと思っています。
コードの書き方や設計について学ぶ学習機会にしてほしい
moorestechのコードをオープンソース化することでコードの透明性を高めています。 これは、ユーザーがmoorestechのコードを読んで勉強したり、改善したりできるようにするためです。
また、moorestechではドキュメントやコミュニティも充実化させることで、コードの書き方や設計について学べる情報や人々を提供したいと思っています。
自身のスキルアップやキャリアアップのために活用して欲しい
moorestechではオープンソース活動はエンジニアとしての強みになると考えており、ユーザーがmoorestechへの貢献を自身のスキルアップやキャリアアップのために活用できるようサポートしていきたいと思っています。
特に、新卒で入社するエンジニア志望の学生にとって、OSSの貢献は面接官の記憶にも残りやすく、有利に働くかもしれません。