Bitsocial و ActivityPub
ActivityPub استاندارد W3C است که Fediverse بر پایهٔ آن کار میکند. کاربران یک سرور انتخاب میکنند که به آن نمونه (instance) میگویند و میزبان حسابشان است، و سرورها پستها را با یکدیگر مبادله میکنند. Mastodon شناختهشدهترین نرمافزار میکروبلاگینگ آن است؛ Lemmy یک گردآورندهٔ پیوند و فروم به سبک Reddit است که از انجمنهای موضوعی ساخته شده، و همین آن را به نزدیکترین معادل Fediverse برای اپهای Bitsocial مانند Seedit تبدیل میکند.
ActivityPub چگونه کار میکند
- صندوق ورودی و خروجی. هر حساب یک صندوق ورودی (inbox) و یک صندوق خروجی (outbox) دارد. سرورها فعالیتها را به صندوقهای ورودی روی سرورهای دیگر تحویل میدهند، و هر سرور گیرنده نسخهٔ خودش را از آنچه کاربرانش دنبال میکنند نگه میدارد.
- هویتِ متعلق به سرور. شناسههای حساب و پست نشانیهای HTTPS روی دامنهٔ سرور مبدأ هستند. هندل
Mastodon به شکل
@user@domainاست و با WebFinger یافته میشود، و سرور پیامهای فدراسیون را از طرف کاربر امضا میکند. - کلاینتها. اپها و مرورگرها فقط با سرور خود کاربر و از طریق API همان سرور ارتباط برقرار میکنند.
- انجمنهای Lemmy. هر انجمن یک کنشگر گروهی (group actor) است که روی یک نمونه میزبانی میشود. کاربران پستها را به انجمن میفرستند و انجمن آنها را برای دنبالکنندگانش بازپخش میکند؛ طبق استاندارد مشترک فرومها (FEP-1b12)، انجمن میتواند ابتدا پستها را اعتبارسنجی کند، حتی تا حد تأیید دستی توسط ناظران.
- نظارت بر محتوا. نظارت در هر سرور محلی است. مدیران میتوانند حسابها را تعلیق کنند، کل سرورها را مسدود کنند یا فقط با سرورهای یک فهرست مجاز فدره شوند؛ Lemmy برای هر انجمن ناظرانی هم دارد.
- مهار اسپم. ActivityPub هیچ سازوکار ضد اسپمی تعریف نمیکند. Mastodon و Lemmy ثبتنام را با تأیید، دعوتنامه، پرسشهای درخواست عضویت، کپچا و بررسی ایمیل محدود میکنند و پس از آن به محدودیت نرخ، گزارشها و نظارت تکیه دارند.
تفاوتها کجاست
هویت متعلق به یک دامنه است
حساب Fediverse به دامنهٔ سرورش تعلق دارد. Mastodon میتواند دنبالکنندگان را به حسابی تازه هدایت کند، اما پستها منتقل نمیشوند، جابهجایی باید از سرور قبلی آغاز شود و یک دورهٔ انتظار 30 روزه وجود دارد. در Bitsocial، پروفایلها و انجمنها جفتکلیدند، پس تغییر میزبان یا اپ هویت را تغییر نمیدهد. هویت و مالکیت انجمنها را ببینید.
انجمن کجا زندگی میکند
انجمن Lemmy از نظر ساختاری به انجمن Bitsocial نزدیک است: پستها به انجمن میروند و انجمن میتواند پیش از بازپخش، آنها را بررسی کند. تفاوت در جایی است که انجمن در آن زندگی میکند. انجمن Lemmy را فقط میتوان روی نمونهٔ خانگیِ سازندهاش ایجاد کرد، مدیر آن نمونه کنترل کامل بر آن دارد، و هیچ راه مستندی برای انتقال آن به نمونهای دیگر وجود ندارد. انجمن Bitsocial خودش یک جفتکلید است: مالک میتواند گرهاش را هر جایی اجرا کند و هیچ مدیر سروری بالاتر از آن نیست.
مهار اسپم
سرورهای Fediverse عمدتاً اسپم را هنگام ثبتنام متوقف میکنند و پس از آن نظارت میکنند. انجمن Bitsocial پیش از پذیرفتن هر پست یک چالش روی آن اجرا میکند، و هر انجمن چالش خودش را انتخاب میکند: کپچا، فهرست مجاز، پرداخت یا هر کد دیگری. چالشهای ضد اسپم سفارشی را ببینید.
اداره کردن زیرساخت
اداره کردن یک نمونه یعنی سروری همیشه روشن با دامنه، TLS و ایمیل. Mastodon افزون بر این به
PostgreSQL، Redis و پردازشهای پسزمینه نیاز دارد؛ Lemmy سبکتر است و طبق ارقام خودش حدود 150
مگابایت RAM مصرف میکند. هر نمونه نسخههایی از محتوای راه دوری را که کاربرانش دنبال میکنند ذخیره
میکند. گرهٔ انجمن Bitsocial به دامنه یا گواهی نیاز ندارد و از اپ دسکتاپ یا bitsocial-cli اجرا
میشود.
سرورها در عوض چه میدهند
سرورهای Fediverse تاریخچهٔ کامل را نگه میدارند و آن را بهطور قابلاعتماد ارائه میکنند، و Mastodon ابزارهای نظارتی پختهای دارد که طی سالها شکل گرفتهاند. Bitsocial ماندگاری همیشگی محتوای قدیمی را تضمین نمیکند، و ابزارهای نظارتیاش در هر اپ قرار دارند.
مقایسه
| پرسش | ActivityPub (Mastodon، Lemmy) | Bitsocial |
|---|---|---|
| دسته | سرورهای فدرال | شبکهٔ انجمنی همتا به همتا |
| هویت | حساب روی دامنهٔ یک سرور، با امضای سرور | جفتکلیدهای Ed25519 برای کاربران و انجمنها |
| پستها کجا نگهداری میشوند | سرور مبدأ، بهعلاوهٔ نسخههایی روی هر سروری که دنبالکننده دارد | گرهٔ مالک انجمن و همتاهایی که آن را میخوانند و seed میکنند |
| چه کسی آنلاین نگهش میدارد | مدیران نمونهها | گرهٔ مالک انجمن بهعلاوهٔ seederهای کمکی |
| انجمنها | انجمنهای Lemmy که روی یک نمونه میزبانی میشوند | اشیای درجهیک که گرهشان پستها را میپذیرد یا رد میکند |
| مهار اسپم | دروازههای ثبتنام، محدودیت نرخ، گزارشها و نظارت | چالش هر انجمن پیش از پذیرفته شدن یک پست |
| نظارت بر محتوا | مدیران سرور و ناظران انجمن، محلی در هر سرور | مالکان انجمن بر انجمن خود نظارت میکنند؛ اپها انتخاب میکنند چه چیزی را نشان دهند |
| نامها | هندلهای @user@domain و !community@domain | نامهای .bso و .eth که به کلید نگاشت میشوند |
| مرورگر | کلاینت سرور خود کاربر | گرهٔ همتا به همتا درون یک زبانهٔ معمولی مرورگر |
| معاوضهٔ اصلی | تاریخچهٔ قابلاعتماد و نظارت پخته، اما هویت و انجمنها متعلق به یک سرورند | بینیاز از سرور یا دامنه، اما محتوای قدیمی برای همیشه تضمین نمیشود |