דלג לתוכן הראשי

ספריות

ב-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 requests כדרך להכריע מי הזוכות.

  • Seedit מדרג את המועמדות של ספרייה לפי ניקוד, אחר כך לפי מועד ההוספה שלהן, ואחר כך לפי כתובת. כל קובץ ספרייה נושא מספר גרסה, וכל שינוי במועמדות או בזוכה שלו מפרסם גרסה חדשה.
  • 5chan מקיים תחרות הצבעה אחת לכל ספרייה באמצעות @bitsocial/pubsub-voting. הלקוחות מחליפים ביניהם פתקי הצבעה חתומים דרך libp2p gossipsub ומחשבים את הספירה בעצמם, בלי שרת שסופר את הקולות. כדי להצביע צריך להחזיק ב-5chan Pass, אסימון שאינו ניתן להעברה, וכל מחזיק מקבל קול אחד. הצבעה בעד לוח שעדיין לא מופיע ברשימה מעמידה אותו כמועמד. התחרויות רצות כרגע ברשת הבדיקה Base Sepolia, ועד שיעברו ממנה, תוצאות הספירה מוצגות אך אינן משנות את סדר הרשימה.

פרוטוקול או אפליקציה?​

ספריות אינן חלק מ-PKC, שכבת העמית לעמית שמאחסנת ומעבירה קהילות. הן מוסכמה שהלקוחות מיישמים מעליה, לצד רשימות ברירת מחדל וחיפוש; ראו גילוי תוכן. לקוח יכול לקרוא את אותם קובצי ספרייה, לפרסם קבצים משלו או לוותר על ספריות לגמרי, והמשתמשים עדיין יכולים לפתוח כל קהילה לפי הכתובת שלה.