マストドン (ミニブログ)
自分のアカウントへのフォローを承認制にできる機能である。承認制アカウントはプロフィールのユーザー名の横に鍵のマークが表示される。承認制アカウントをフォローしようとすると「フォローリクエスト」が送られ、当該アカウントがフォローリクエストを承認することでフォローが成立する。
この機能、またはこの機能を有効にしているアカウントは俗に「鍵垢」とも呼ばれている。ただしこれは、例えばTwitterの"鍵垢"が「フォローを承認制にする」他に「フォロワーにならないとその投稿を見ることができない」機能でもあるのに対して、マストドンの"鍵垢"は単に「フォローを承認制にする」のみの機能でしかない。前述のように投稿範囲を指定することが必要である。これは逆に言えば、マストドンでは「通常のアカウントだがフォロワー限定の投稿をする」「"鍵垢"だが公開投稿をする」といったTwitterではできない芸当が可能であることを意味する。
また、その様なサービスの運営者はソースコードを公開していないため他の管理者が同一のサービスを運営していることは基本的に無く、クライアントソフトにも運営者を切り替える機能は搭載されていない。
マストドンは管理者も設置場所も異なる多数のサーバーで運用されており、利用者は自分自身でサーバーを選ぶか、自身でサーバーを開設し、アカウントを作成、これにログインする。管理者は自身のインスタンスを自由に操作出来る。また、APIが広く公開されており、クライアントや関連アプリケーションの製作が単一の管理者によって制限されることはない。
なお、バージョンアップに際し、運用するサーバーは管理者の任意のタイミングにバージョンアップが可能となっている。そのため、バージョンが異なるサーバー間や独自で変更を加えているサーバーとの間で不具合が生じる場合もある。
AGPL-3.0に基づき、各サーバーによる独自の改良が可能となっている。これにより、企業向けツールの土台としても利用されている。#使用技術も参照。
名前について、GitHubで公開されているFAQにおいて、ロホコは「私は同名のプログレッシブバンドのファンで、そこからマストドンという動物に興味を持つようになった。この動物とマストドンという名前は大変クールであると考えた」としている。
サーバーサイドの言語としてRubyとJavaScript (Node.js)、データベースとしてPostgreSQLとRedisを使用。フレームワークとしてサーバーサイドにはRuby on Railsが、フロントエンドにはReact.jsとReduxが使用されている。サーバー間の通信プロトコルにはActivityPubが使用されているため、通信はマストドンのサーバー間に限定されず、GNU socialやPleromaのような同標準に準拠した他のミニブログのサーバーと相互運用可能となっている。ただしActivityPubはあくまでサーバー間通信を規定するプロトコルであり、クライアントAPIの互換性は保証しない。GNU socialのクライアントでマストドンのサーバーにログインする事はできない。
かつては通信プロトコルとしてOStatusが使用されていた。バージョン1.6.0よりActivityPubへの置き換えが開始、バージョン2.0.0からは公開範囲が非公開またはダイレクトであるトゥートがOStatusに配信されないという制限が設けられた。バージョン3.0.0にてOstatusサポートは廃止された。