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

دایرکتوری‌ها

در Reddit، نامی مانند r/opensource فقط می‌تواند به یک انجمن تعلق داشته باشد و هر کس آن را در اختیار دارد، نام را نگه می‌دارد. اگر ناظران آن تصمیم‌هایی بگیرند که کاربران نمی‌پسندند، تنها راه دیگر ساختن r/opensource2 است. انجمن تازه با صفر مشترک شروع می‌کند، هرچند بیشتر کسانی که مشترک r/opensource شده بودند به متن‌باز اهمیت می‌دادند، نه به آن تیم نظارت خاص.

اپ‌های Bitsocial با دایرکتوری‌ها از این وضع پرهیز می‌کنند. دایرکتوری یک نام موضوعی است، مانند opensource، که انجمن‌ها بر سر آن رقابت می‌کنند. مسیر کوتاه آن نام، انجمنی را باز می‌کند که در آن لحظه رتبه‌ی اول را دارد، بنابراین انجمنی بهتر می‌تواند بدون اجازه‌ی هیچ‌کس نام را از آنِ خود کند.

چگونه کار می‌کند​

  1. کد دایرکتوری یک نام موضوعی است. Seedit از مسیرهایی مانند /s/funny استفاده می‌کند. 5chan از مسیرهای ایمیج‌بوردی مانند /g/ استفاده می‌کند.
  2. انجمن‌ها به‌عنوان نامزد رقابت می‌کنند. هر دایرکتوری فهرستی از انجمن‌های نامزد دارد که هر کدام آدرس دقیق خود را دارند، مانند funny-posting.bso.
  3. نامزدی که بالاترین رتبه را دارد مسیر را می‌برد. باز کردن /s/funny برنده‌ی فعلی را نشان می‌دهد.
  4. باختن چیزی را پاک نمی‌کند. انجمنی که برنده نیست آدرس، پست‌ها و مشترکانش را نگه می‌دارد و هر کسی همچنان می‌تواند آن را مستقیماً باز کند.

نام درِ ورودی است، نه هویت​

کد دایرکتوری فقط یک مسیر برای کشف است. هر چیز ماندگاری به یک انجمن مشخص اشاره می‌کند:

  • اشتراک از طریق /s/funny شما را مشترک آدرس دقیق برنده‌ی فعلی می‌کند. خود کد دایرکتوری هرگز به‌عنوان اشتراک ذخیره نمی‌شود.
  • پیوند پست‌ها همیشه از آدرس دقیق انجمن استفاده می‌کند، بنابراین یک پیوند قدیمی نمی‌تواند پس از تغییر برنده به انجمن دیگری اشاره کند.
  • وقتی برنده تغییر می‌کند، Seedit به اشتراک‌های موجود دست نمی‌زند و از هر مشترک می‌پرسد که آیا می‌خواهد به برنده‌ی تازه منتقل شود، هر دو را نگه دارد یا انجمن فعلی را حفظ کند. جابه‌جایی خودکار تنظیمی اختیاری برای هر دایرکتوری است که باید فعالش کرد، و هر جابه‌جایی خودکار اعلانی همراه با امکان واگرد نشان می‌دهد.

بنابراین یک انجمن رقیب اشتراک کسی را نمی‌گیرد. نام را می‌برد: بازدیدکنندگان تازه به آن می‌رسند و مشترکان فعلی با یک کلیک انتخاب می‌کنند. کسانی که انجمن قدیمی را ترجیح می‌دادند آن را نگه می‌دارند.

چرا نام‌ها به اولین مدعی نمی‌رسند​

  • نام‌ها را نمی‌شود احتکار کرد. داشتن یک نام خوب کافی نیست. انجمن باید همچنان بهترین نامزد برای آن بماند.
  • هیچ ادمینی نام تخصیص نمی‌دهد. تخصیص به دست یک ادمین همان حق وتوی مرکزی را بازمی‌گرداند که Bitsocial برای حذف آن ساخته شده است.
  • رقبا راهی به مخاطبان دارند. یک انجمن رقیب همان نام را هدف می‌گیرد، به‌جای آنکه با نامی بدتر از صفر شروع کند.
  • کلاینت‌ها بر سر برنده توافق دارند. Seedit نامزدها را به‌شکل قطعی رتبه‌بندی می‌کند، بنابراین هر کلاینتی که همان اسنپ‌شات نهایی‌شده‌ی دایرکتوری را بخواند همان برنده را نشان می‌دهد. Seedit فقط به این دلیل که برنده موقتاً از اتصال یک کاربر در دسترس نیست، نامزد دیگری را جایگزین آن نمی‌کند.

برندگان امروز چگونه انتخاب می‌شوند​

نامزدها به‌صورت فایل‌های JSON در مخزن bitsocialnet/lists منتشر می‌شوند، برای هر دایرکتوری یک فایل، و یک انجمن از راه یک pull request روی فایل آن دایرکتوری به آن می‌پیوندد. این یک گام راه‌اندازی موقت است. هدف این است که رأی‌گیری جای pull requestها را به‌عنوان روش تعیین برندگان بگیرد.

  • Seedit نامزدهای یک دایرکتوری را ابتدا بر اساس امتیاز، سپس بر اساس زمان افزوده شدن و در آخر بر اساس آدرس رتبه‌بندی می‌کند. هر فایل دایرکتوری یک شماره‌ی بازبینی دارد و هر تغییری در نامزدها یا برنده‌ی آن، بازبینی تازه‌ای منتشر می‌کند.
  • 5chan برای هر دایرکتوری یک رقابت رأی‌گیری با @bitsocial/pubsub-voting برگزار می‌کند. کلاینت‌ها برگه‌های رأی امضاشده را از طریق libp2p gossipsub مبادله می‌کنند و نتیجه را خودشان محاسبه می‌کنند، بی‌آنکه سروری رأی‌ها را بشمارد. برای رأی دادن باید یک 5chan Pass داشته باشید، که توکنی غیرقابل انتقال است، و هر دارنده یک رأی دارد. رأی دادن به بوردی که هنوز در فهرست نیست آن را نامزد می‌کند. این رقابت‌ها فعلاً روی شبکه‌ی آزمایشی Base Sepolia اجرا می‌شوند و تا زمانی که از شبکه‌ی آزمایشی خارج نشوند، نتایج شمارش نمایش داده می‌شوند اما ترتیب فهرست را تغییر نمی‌دهند.

پروتکل یا اپ؟​

دایرکتوری‌ها بخشی از PKC، یعنی لایه‌ی همتا به همتایی که انجمن‌ها را ذخیره و جابه‌جا می‌کند، نیستند. آن‌ها قراردادی هستند که کلاینت‌ها بالاتر از آن لایه، در کنار فهرست‌های پیش‌فرض و جستجو، به کار می‌گیرند؛ کشف محتوا را ببینید. یک کلاینت می‌تواند همان فایل‌های دایرکتوری را بخواند، فایل‌های خودش را منتشر کند یا کلاً از دایرکتوری‌ها صرف‌نظر کند، و کاربران همچنان می‌توانند هر انجمنی را با آدرسش باز کنند.