Κατάλογοι
Στο Reddit, ένα όνομα όπως το r/opensource μπορεί να ανήκει σε μία μόνο κοινότητα, και όποιος την ελέγχει το κρατά. Αν οι συντονιστές της πάρουν αποφάσεις που δεν αρέσουν στους χρήστες, η μόνη εναλλακτική είναι να δημιουργηθεί το r/opensource2. Η νέα κοινότητα ξεκινά με μηδέν συνδρομητές, παρόλο που οι περισσότεροι συνδρομητές του r/opensource ενδιαφέρονταν για το ανοιχτό λογισμικό και όχι για τη συγκεκριμένη ομάδα συντονισμού.
Οι εφαρμογές Bitsocial το αποφεύγουν αυτό με τους καταλόγους. Ένας κατάλογος είναι ένα θεματικό όνομα, όπως το opensource, που διεκδικούν οι κοινότητες. Η σύντομη διαδρομή για αυτό το όνομα ανοίγει όποια κοινότητα βρίσκεται εκείνη τη στιγμή στην πρώτη θέση, οπότε μια καλύτερη κοινότητα μπορεί να πάρει το όνομα χωρίς να χρειαστεί την άδεια κανενός.
Πώς λειτουργεί
- Ένας κωδικός καταλόγου είναι ένα θεματικό όνομα. Το Seedit χρησιμοποιεί διαδρομές όπως το
/s/funny. Το 5chan χρησιμοποιεί διαδρομές τύπου imageboard όπως το/g/. - Οι κοινότητες διαγωνίζονται ως υποψήφιες. Κάθε κατάλογος έχει μια λίστα υποψήφιων κοινοτήτων, καθεμία με τη δική της ακριβή διεύθυνση, όπως το
funny-posting.bso. - Η υποψήφια με την υψηλότερη κατάταξη κερδίζει τη διαδρομή. Ανοίγοντας το
/s/funnyεμφανίζεται η τρέχουσα νικήτρια. - Η ήττα δεν διαγράφει τίποτα. Μια κοινότητα που δεν είναι η νικήτρια κρατά τη διεύθυνσή της, τις αναρτήσεις της και τους συνδρομητές της, και ο καθένας μπορεί ακόμα να την ανοίξει απευθείας.
Το όνομα είναι η κεντρική είσοδος, όχι ταυτότητα
Ένας κωδικός καταλόγου είναι απλώς μια διαδρομή ανακάλυψης. Ό,τι είναι μόνιμο δείχνει σε μια συγκεκριμένη κοινότητα:
- Η εγγραφή συνδρομής από το
/s/funnyγίνεται στην ακριβή διεύθυνση της τρέχουσας νικήτριας. Ο ίδιος ο κωδικός καταλόγου δεν αποθηκεύεται ποτέ ως συνδρομή. - Οι σύνδεσμοι αναρτήσεων χρησιμοποιούν πάντα την ακριβή διεύθυνση της κοινότητας, ώστε ένας παλιός σύνδεσμος να μην μπορεί να αρχίσει να δείχνει σε άλλη κοινότητα όταν αλλάξει η νικήτρια.
- Όταν αλλάζει η νικήτρια, το Seedit αφήνει ανέγγιχτες τις υπάρχουσες συνδρομές και ρωτά κάθε συνδρομητή αν θέλει να μεταβεί στη νέα νικήτρια, να κρατήσει και τις δύο ή να μείνει στην τρέχουσα κοινότητα. Η αυτόματη μετάβαση είναι μια ρύθμιση που ενεργοποιείται προαιρετικά ανά κατάλογο, και κάθε αυτόματη μετάβαση εμφανίζει μια ειδοποίηση με δυνατότητα αναίρεσης.
Μια ανταγωνίστρια κοινότητα λοιπόν δεν παίρνει τις συνδρομές κανενός. Κερδίζει το όνομα: οι νέοι επισκέπτες καταλήγουν σε αυτήν και οι υπάρχοντες συνδρομητές έχουν μια επιλογή με ένα κλικ. Όσοι προτιμούσαν την παλιά κοινότητα την κρατούν.
Γιατί όχι ονόματα για όποιον προλάβει
- Καμία κατάληψη ονομάτων. Δεν αρκεί να κατέχει κανείς ένα καλό όνομα. Μια κοινότητα πρέπει να παραμένει η καλύτερη υποψήφια για αυτό.
- Κανένας διαχειριστής δεν αναθέτει ονόματα. Η κατανομή από έναν διαχειριστή θα αναδημιουργούσε το κεντρικό βέτο που το Bitsocial σχεδιάστηκε για να καταργήσει.
- Οι ανταγωνιστές διατηρούν πρόσβαση στο κοινό. Μια αντίπαλη κοινότητα στοχεύει στο ίδιο όνομα αντί να ξεκινήσει από την αρχή με ένα χειρότερο.
- Τα προγράμματα-πελάτες συμφωνούν για τη νικήτρια. Το Seedit κατατάσσει τις υποψήφιες ντετερμινιστικά, οπότε κάθε πρόγραμμα-πελάτης που διαβάζει το ίδιο οριστικοποιημένο στιγμιότυπο του καταλόγου εμφανίζει την ίδια νικήτρια. Το Seedit δεν βάζει άλλη υποψήφια στη θέση της επειδή η νικήτρια είναι προσωρινά απρόσιτη από τη σύνδεση ενός χρήστη.
Πώς επιλέγονται σήμερα οι νικήτριες
Οι υποψήφιες δημοσιεύονται ως αρχεία JSON στο αποθετήριο bitsocialnet/lists, ένα αρχείο ανά κατάλογο, και μια κοινότητα εντάσσεται σε έναν κατάλογο μέσω pull request στο αντίστοιχο αρχείο. Πρόκειται για ένα προσωρινό βήμα εκκίνησης. Ο στόχος είναι η ψηφοφορία να αντικαταστήσει τα pull requests ως τον τρόπο με τον οποίο αποφασίζονται οι νικήτριες.
- Το Seedit κατατάσσει τις υποψήφιες ενός καταλόγου με βάση τη βαθμολογία, μετά με βάση τον χρόνο προσθήκης τους και μετά με βάση τη διεύθυνση. Κάθε αρχείο καταλόγου φέρει έναν αριθμό αναθεώρησης, και κάθε αλλαγή στις υποψήφιες ή στη νικήτρια δημοσιεύει νέα αναθεώρηση.
- Το 5chan διεξάγει μία ψηφοφορία ανά κατάλογο με το
@bitsocial/pubsub-voting. Τα προγράμματα-πελάτες ανταλλάσσουν υπογεγραμμένα ψηφοδέλτια μέσω libp2p gossipsub και υπολογίζουν μόνα τους το αποτέλεσμα, χωρίς κάποιον διακομιστή να μετρά τις ψήφους. Για να ψηφίσει κανείς χρειάζεται ένα 5chan Pass, ένα μη μεταβιβάσιμο token, και κάθε κάτοχος έχει μία ψήφο. Η ψήφος για έναν πίνακα που δεν είναι ακόμα στη λίστα τον προτείνει ως υποψήφιο. Οι ψηφοφορίες διεξάγονται προς το παρόν στο δοκιμαστικό δίκτυο Base Sepolia και, μέχρι να μεταφερθούν εκτός δοκιμαστικού δικτύου, τα αποτελέσματα εμφανίζονται αλλά δεν αλλάζουν τη σειρά της λίστας.
Πρωτόκολλο ή εφαρμογή;
Οι κατάλογοι δεν αποτελούν μέρος του PKC, του peer-to-peer επιπέδου που αποθηκεύει και μεταφέρει τις κοινότητες. Είναι μια σύμβαση που εφαρμόζουν τα προγράμματα-πελάτες πάνω από αυτό το επίπεδο, μαζί με τις προεπιλεγμένες λίστες και την αναζήτηση· δείτε την Ανακάλυψη περιεχομένου. Ένα πρόγραμμα-πελάτης μπορεί να διαβάζει τα ίδια αρχεία καταλόγων, να δημοσιεύει δικά του ή να παραλείπει εντελώς τους καταλόγους, και οι χρήστες μπορούν πάντα να ανοίξουν οποιαδήποτε κοινότητα μέσω της διεύθυνσής της.