Misskeyのメジャーバージョンの違いとフォークのまとめ
Misskeyはオープンソースですので、様々なフォーク(改造したソフトウェア)が存在します。
今回は、代表的なフォークの紹介とその前提をとなるMisskeyのメジャーバージョンについてまとめたいと思います。
まず、Misskeyバージョンとフォークの関係の図をご覧ください。
Misskey本家のバージョンの変遷
Misskey v10は、Misskeyの歴史のなかでもかなり長い期間にわたって開発・使用されたバージョンです。
misskey.ioになってから、MongoDBだとインスタンス管理や開発の面で都合が悪いということで、データベースをPostgreSQLに変更しメジャーバージョンがv11になりました。
さらにその後、UIを一から作り直すことにし、メジャーバージョンをv12としました。
以降現在まで大きな変更はなく、マイナーバージョンアップを続けています。
v10とv12ではMFMがかなり異なっていることにご注意ください。
フォーク紹介
代表的なフォークを紹介します。
フォークの個々の機能についてはフォローできていません……。
めいすきー
めいめい氏が開発しているv10ベースのフォークです。
書ききれないほど様々な機能が搭載されており、古いフォークながら現在も活発に開発が行われています。
めいめい氏は、Misskey本家でも主に連合実装をメンテナンスしている重要なコントリビューターの一人です。
twista
Acid Chicken (硫酸鶏) 氏が開発していたフォークです。
硫酸鶏氏の時間が取れないためか、近年はほとんど開発されていません。
v10フォークであるめいすきーと並んで書かれがちですが、改造の方向性は全く違います。
mei23/misskey-v11
めいめい氏がメンテナンスしてるMisskey v11のリポジトリです。
Misskeyメインリポジトリのv11はメンテナンスされていません。
どうしてもv11を使いたい場合にはこちらをご利用ください。
Groundpolis
Xeltica (ぜるちか) 氏が開発しているv12ベースのフォークです。
本家との違いは様々ですが、ペイント機能があったりメインタイムラインに表示するタブをカスタマイズできたりします。
本家への追従にはあまり積極的ではありません。
CherryPick
NoriDev氏が開発しているv12ベースのフォークです。
Groundpolisなどのフォークの機能を"cherry-pick"するなどして、CherryPickとしてブランディングを行い新たなソフトウェアとして打ち出しています。
現状、本家の追従は積極的に行われています。
本家への機能の取入れは?
フォークの良い機能を本家に取り入れられるのがAGPLライセンスの良いところです。
ただ、IssueやPull Requestをあまり処理できていない現状ではフォークの機能を取り入れるようなことはあまりできていません(しゅいろが勤労しているのでMisskey開発にかけられる時間が少ないのが主要因)。
また、しゅいろはしゅいろで開発したい機能があったり、UIが合わず改良する必要があったりするので、しゅいろが完全にMisskeyにコミットできる状況であっても難しいのかなとは思います。
(あくまで趣味のソフトウェアなのでそこまで焦って開発しても……とは思います。ただ、心理的にバグで問い合わせが来るとちょっと焦ってしまう部分はあります。)
フォークを作りたい!
ちゃんとしたフォークを作るには、機能の開発、名前やアイコンの作成、本家とのコンフリクトの解消といった根気が要ります。がんばってください。