پرش به مطلب اصلی

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 که به کلید نگاشت می‌شوند
مرورگرکلاینت سرور خود کاربرگرهٔ همتا به همتا درون یک زبانهٔ معمولی مرورگر
معاوضهٔ اصلیتاریخچهٔ قابل‌اعتماد و نظارت پخته، اما هویت و انجمن‌ها متعلق به یک سرورندبی‌نیاز از سرور یا دامنه، اما محتوای قدیمی برای همیشه تضمین نمی‌شود