Misskeyをフォーク・カスタマイズする際の注意点

Misskeyが採用するGNU Affero General Public License v3.0(AGPL-3.0)は、Misskeyのソースコードを変更した場合、その変更点を公開することを義務付けています。

Misskey v2024.2.0以降では、このライセンスへの適合をかんたんにできるようにする機能を実装しています。ここではその設定方法をご紹介します。

注意

もちろん、それ以前のバージョンをベースにする場合でも、ライセンスに適合するための措置を講じる必要があります。

Misskeyをそのまま使う場合

Misskeyのコードベースに一切変更を加えることなく、内蔵の機能だけを使用する場合は、特に何もする必要はありません。

Misskeyのコードに何らかの変更を加え、その変更したバージョンをGitHubなどで公開する場合

Misskeyのコードに何らかの変更を加え、その変更したバージョンをGitHubなどで公開する場合は、以下の点を確認してください。

  • リポジトリを公開しておくこと(アクセス制限などを行わず、誰でもアクセスできるようにすること)

では、早速設定を行いましょう。

  1. 変更したバージョンのMisskeyをビルドし、本番環境で稼働させます。
  2. Adminアカウントでログインした状態で 管理画面 を開きます。
  3. 「リポジトリURL」の欄に、あなたのMisskeyのリポジトリへのURLを入力します。

Misskeyのコードに何らかの変更を加えるが、その変更したバージョンをGitHubなどで公開しない(できない)場合

この場合でも、ソースコードをMisskeyのインターフェイス上から直接アクセスできるようにする必要があります。Misskey v2024.2.0以降では、ビルド時に自動的にソースコードを書庫ファイルにまとめる機能が実装されています。

ヒント

なお、ソースコードを要求されたときにだけ開示するという処置はライセンスの履行には不十分だとされています。

Misskey内蔵のソースコード提供機能を使用しない場合でも、何らかの方法で、動作中のバージョンのMisskeyのソースコードへのリンクをMisskey Webのインターフェイス上から直接アクセスできるようにしてください。

では、早速設定を行いましょう。

  1. Misskeyのコンフィグファイル(デフォルトは .config/default.yml )を開きます。
  2. publishTarballInsteadOfProvideRepositoryUrltrue に設定します(コンフィグファイル内の指定のコメントアウト部分を外すだけでもOKです)。
  3. Misskeyをビルドします(この際ソースコードのtarballが生成されます)。
  4. 生成された書庫ファイルを開き、トークンなどの機密情報が配布用のソースコードに含まれていないかを確認してください。
  5. 機密情報が含まれていた場合は、scripts/tarball.mjs を編集して、それらの情報を除外するようにしてください。
注意

ソースコードの書庫ファイル生成はビルド時に行われます。scripts/tarball.mjs に変更を加えた際には必ず再度ビルドを行ってください。