ActivityPubは自作実装しよう!

タイトル通り、ActivityPubは自作実装がおすすめ、というのが今回のエントリ。
ActivityPubとかフェディバース(Fediverse)とか言うとなんか難しそうだけど、ざっくり言うと2ちゃんねるにちょっと今どきの機能を追加した掲示板みたいなもんだ。
平成の頃のインターネット、レンタルサーバーにフリーの掲示板CGIをFTPでアップロードして設置したことのあるひとなら、何をしてるのかイメージしてもらえると思う。
ネットの記事なんかを見てみると。
ActivityPubを自作するのは大変なだけなのでやめた方がいい、そして、どうしても自分で設置したいならいろんな機能が用意されたパッケージやフレームワークを使うべき、らしい。
言いたいことは理解するけど、届けたい相手の設定を間違ってる。
そもそも、MastodonやMisskeyといったパッケージをインストールして設定できたり、フレームワークを利用してオリジナルなサーバーを立ち上げたりできるスキルを持っているひとなら、ActivityPubを自作する方が早いだろう。
もちろん、いろんなサーバーの機能フルスペックは難しいけど、「ひとりで使う」「欲しい機能を限定する」という前提でいうと、自由度の高い/最低限の仕様だけが決められているActivityPubはハードルが低くて思ってるより簡単。
わたしはperlだけで作ったけど、今どきならrubyやphpだけでもっと簡単に作れると思う。
なんならデータベースも不要だし、メールサーバーやキャシュサーバーも不要。
フロント側もWEBプッシュだの非同期で情報取得なんかも不要。F5で再読み込みするのが昔の掲示板の流儀。
perlやruby、phpといったレンタルサーバーでも利用できる、いわゆる軽量プログラミング言語ひとつで実装できる。ほかに必要なものはない。
そしてなにより、しょっちゅう引用させてもらってる
「Webhook的に ActivityPub に投稿する実装を作った」
オープンな仕様 ActivityPub の力を借りて自前実装で他の実装とつながれる体験は心躍るものがあり、テキストを発信するだけのBOTを動かすだけでも動いたときは感動を覚えた
ほんと、これにつきる。自作すればこの楽しみを全身で享受できる。

ここんとこのエントリで書いているHTTP Signatureが面倒くさいんだけど、ここさえクリアしてしまえば、あとは昔ながらの掲示板CGIと同じようなものだ。
ActivityPubの実装についてホームページにコーナーを作って紹介してます。よろしければどうぞ
これだけのことで、自分だけの掲示板を持てるんだからActivityPubという仕様には大感謝!

