Σημαντικό: Οι πληροφορίες αυτές έχουν πλέον καταστεί παρωχημένες. Δες το νεότερο άρθρο μας στο blog για ενημερωμένες λεπτομέρειες.
TL;DR; Αφιερώνουμε μερικούς μήνες για να επανασχεδιάσουμε το μοντέλο εθελοντισμού μας και να δώσουμε στους βασικούς εθελοντές μας ένα διάλειμμα από τη δουλειά της αξιολόγησης των συνεισφορών της κοινότητας. Αν χρησιμοποιείς το Exercism μόνο για να μάθεις ή να καθοδηγήσεις, δεν υπάρχει τίποτα εδώ που χρειάζεται να ξέρεις (αν και διάβασέ το αν σε ενδιαφέρει!). Αν είσαι συντηρητής διαδρομής, θέλεις να συνεισφέρεις στο Exercism ή θέλεις να αναφέρεις ένα bug/πρόβλημα, τότε θεώρησέ το απαραίτητο ανάγνωσμα 🙂
Τους τελευταίους 6 μήνες αφιερώσαμε πολύ χρόνο εξερευνώντας το μέλλον του Exercism, φανταζόμενοι πώς θα ήταν αν κάθε γλωσσική διαδρομή γινόταν η καλύτερη δυνατή. Είμαστε απίστευτα περήφανοι για ό,τι έχουμε χτίσει μέχρι τώρα. Οι 85.000 μαρτυρίες που έχουν δοθεί μιλούν για το καταπληκτικό έργο που έχει κάνει η κοινότητά μας, χτίζοντας τις γλωσσικές διαδρομές μας και καθοδηγώντας τόσους μαθητές μέσα από αυτές. Το πιο σημαντικό: πιστεύουμε ότι αγγίζουμε μόλις την επιφάνεια του τι είναι δυνατό. Έχουμε τεράστιες ιδέες, ελπίδες και ενθουσιασμό για όλα όσα μπορεί να γίνει το Exercism. Αλλά για να τα καταφέρουμε, πρέπει πρώτα να λύσουμε κάποια θεμελιώδη προβλήματα που παραμένουν κάτω από την επιφάνεια.
Κυριότερο από αυτά είναι η ανάγκη να λύσουμε την πρόκληση της κλιμάκωσης της εθελοντικής μας κοινότητας με υγιή και βιώσιμο τρόπο. Το Exercism χτίστηκε πάνω στις πλάτες εκατοντάδων αφοσιωμένων εθελοντών, αλλά ένα μεγάλο ποσοστό από αυτούς αισθάνεται τώρα εξουθενωμένο και πολλοί έχουν φύγει ως αποτέλεσμα. Οι λόγοι είναι μύριοι: κάποιοι σχετίζονται άμεσα με το Exercism, κάποιοι με τις πιέσεις χρόνου της ζωής και κάποιοι με το φόντο όλων όσων συμβαίνουν στον κόσμο αυτή τη στιγμή. Αλλά μας έχει γίνει πλέον απολύτως σαφές ότι πρέπει να σχεδιάσουμε και να αναπτύξουμε έναν καλύτερο τρόπο για να χτίζουμε την πλατφόρμα μας μαζί.
Ιστορικά, προσπαθήσαμε να χτίσουμε το Exercism με ένα μοντέλο Λογισμικού Ανοιχτού Κώδικα (OSS), όπου συντηρητές αναλαμβάνουν να αξιολογούν τις συνεισφορές της ευρύτερης κοινότητας. Αυτό μας δημιούργησε πολλά προβλήματα και προκάλεσε απογοήτευση τόσο στους συντηρητές όσο και στους συνεισφέροντες. Το αναλύω παρακάτω, αν θέλεις λεπτομέρειες, αλλά το TL;DR; είναι ότι οι βασικοί εθελοντές μας περνούν πλέον τον χρόνο τους λειτουργώντας ως φύλακες που απλώς αντιδρούν, αντί να είναι καινοτόμοι δημιουργοί. Αυτό είναι πολύ λιγότερο διασκεδαστικό γι’ αυτούς και σημαίνει ότι το Exercism χάνει τη μαγεία που έφερναν παλιότερα αυτοί οι άνθρωποι στην πλατφόρμα.
Υπάρχουν δύο πράγματα που πρέπει να κάνουμε για να το διορθώσουμε:
- Πρέπει να σχεδιάσουμε ένα νέο σύστημα εθελοντισμού που ταιριάζει στο Exercism καλύτερα από το παραδοσιακό μοντέλο OSS. Έχουμε ξοδέψει αρκετή ενέργεια προσπαθώντας να το κάνουμε μέχρι τώρα και αποτύχαμε. Έτσι, θα πάρουμε λίγο χρόνο για να δουλέψουμε με τους εθελοντές μας ώστε να το σχεδιάσουμε σωστά μέσα στους επόμενους μήνες.
- Θα θέσουμε σε μεγάλο βαθμό σε παύση τις συνεισφορές της ευρύτερης κοινότητας για τους επόμενους μήνες, ώστε οι βασικοί εθελοντές μας να επικεντρωθούν στο χτίσιμο και την ανάπτυξη των διαδρομών με τον τρόπο που θέλουν (ή να πάρουν άδεια, αν θέλουν απλώς να ξεκουραστούν!)
Η ελπίδα μου είναι ότι, κάνοντας ένα βήμα πίσω και σχεδιάζοντας το σωστά, παράλληλα με τη συγκέντρωση χρημάτων για να διευρύνουμε την εκπαιδευτική μας ομάδα, μπορούμε να κάνουμε το Exercism ένα υπέροχο μέρος για να προσφέρεις εθελοντικά και να βοηθήσουμε να εξασφαλίσουμε το μέλλον του. Στο μεταξύ, αυτές οι αλλαγές θα πρέπει να σημαίνουν ότι οι διαδρομές μπορούν να βελτιωθούν και να αναπτυχθούν περισσότερο απ’ ό,τι κατάφεραν τον τελευταίο χρόνο, και ότι οι συντηρητές μας θα σταματήσουν να εξουθενώνονται και θα αισθάνονται πιο χαρούμενοι, πιο γεμάτοι ενέργεια και πιο συνδεδεμένοι δουλεύοντας στο Exercism.
Συγκεκριμένες αλλαγές
Υπάρχουν τρεις συγκεκριμένες αλλαγές που εφαρμόζουμε.
Χρησιμοποίησε το φόρουμ, όχι τα GitHub Issues
Θα ελευθερώσουμε το GitHub εξ ολοκλήρου, ώστε οι συντηρητές μας να δουλεύουν στα issues που θέλουν να ολοκληρώσουν. Θα κλείσουμε πλήθος issues που είχαμε δημιουργήσει παλιότερα για να δουλέψει η κοινότητα (και θα προσθέσουμε μια ετικέτα ώστε να μπορούν εύκολα να ξανανοίξουν στο μέλλον, αν το θελήσουμε), ενώ δεν θα επιτρέπουμε νέα, αζήτητα issues ή PR στα περισσότερα αποθετήρια. Αν θέλεις να συζητήσεις ή να αναφέρεις κάτι, χρησιμοποίησε το φόρουμ. Αν ανοίξεις ένα αζήτητο issue ή PR, θα κλείσει αυτόματα και θα σε παραπέμψουμε στο φόρουμ.
Παύση των συνεισφορών της ευρύτερης κοινότητας
Οι διαδρομές θα χωριστούν σε τρεις κατηγορίες:
- Στις περισσότερες διαδρομές με ενεργούς συντηρητές, οι συνεισφορές της κοινότητας θα τεθούν σε παύση, ώστε οι συντηρητές να είναι αυτόνομοι ή να ξεκουραστούν. (Οι συντηρητές αυτών των διαδρομών μπορούν να ζητήσουν να αρθεί η υποχρεωτική απαίτηση της μίας αξιολόγησης. Για αυτό, μίλησε με τον Erik στο Slack)
- Κάποιες διαδρομές με ενεργούς συντηρητές που θέλουν πραγματικά να συνεχίσουν να δέχονται συνεισφορές της κοινότητας θα παραμείνουν ανοιχτές (αν είσαι συντηρητής και προτιμάς αυτή τη λειτουργία από την (1), επικοινώνησε με τον Jonathan Middleton στο Slack για να το συζητήσετε).
- Στις διαδρομές όπου δεν υπάρχουν ενεργοί συντηρητές, η ανάπτυξη της διαδρομής θα τεθεί ουσιαστικά σε παύση για αυτή την περίοδο.
Σε κάθε περίπτωση, ο Erik και εγώ θα συνεχίσουμε να κάνουμε έλεγχο εμπιστοσύνης στα PR προς τα αποθετήρια Εργαλείων πριν από τη συγχώνευση.
Η μόνη εξαίρεση είναι ότι θα συνεχίσουμε να δεχόμαστε PR για Προσεγγίσεις και Άρθρα, και θα εφαρμόσουμε μια πολιτική αισιόδοξης συγχώνευσης σε όλο τον οργανισμό, με στόχο να δημιουργηθεί μια βάση Προσεγγίσεων σε όλο το Exercism και να επιτρέπονται σταδιακές βελτιώσεις, με τους εξής κανόνες:
- Αν ο κώδικας λύνει την άσκηση και είναι συντακτικά και σημασιολογικά ιδιωματικός (δηλαδή μοιάζει με κώδικα $LANG), θα πρέπει να συγχωνεύεται. Αν όχι, θα πρέπει να τον διορθώσει ο συγγραφέας του PR.
- Αν ένας συντηρητής θέλει να κάνει αλλαγές στο περιεχόμενο (π.χ. να βελτιώσει τις συμβουλές, να πειράξει κάτι, να αναδείξει καλύτερες/εναλλακτικές/πιο ιδιωματικές προσεγγίσεις), τότε αυτό θα πρέπει να γίνει σε επόμενο PR.
Σχεδιάζοντας ένα νέο σύστημα εθελοντισμού
Θα συγκροτήσουμε ένα Συμβούλιο της Κοινότητας για να συν-σχεδιάσουμε ένα βιώσιμο και υγιές πλαίσιο εθελοντισμού για το μέλλον, που θα ξεκλειδώσει τις δυνατότητες του Exercism. Αν πιστεύεις στο μέλλον του Exercism και θέλεις να είσαι μέρος αυτής της διαδικασίας, επικοινώνησε με τον Jonathan.
Θα προχωρήσουμε με αυτές τις ενέργειες τους επόμενους μήνες. Θα τα εξετάζουμε όλα καθ’ όλη τη διάρκεια και σχεδιάζουμε να πάρουμε νέες αποφάσεις μέχρι τον Ιούνιο του 2023. Αν έχεις κάποιες σκέψεις, άνοιξε ένα θέμα στο φόρουμ!
Επίλογος: Γιατί το μοντέλο OSS μας είναι σπασμένο
Το ιστορικό μοντέλο μας χτίστηκε γύρω από το μοντέλο OSS. Βασιζόταν σε εθελοντές που έμπαιναν στο Exercism, έκαναν σπουδαία δουλειά χτίζοντας διαδρομές και στη συνέχεια αποκτούσαν δικαιώματα συντηρητή, ώστε να μπορούν να δέχονται συνεισφορές από την ευρύτερη βάση χρηστών μας για να τις βελτιώνουν.
Ενώ στα χαρτιά φαίνεται υπέροχο, έχει κάποια σημαντικά προβλήματα. Κυριότερο από αυτά είναι ότι οι άνθρωποι που προσθέτουν τη μεγαλύτερη μαγεία στο Exercism καταλήγουν να μην έχουν χρόνο να γράψουν κώδικα ή να δημιουργήσουν το Exercism, επειδή ο χρόνος τους αναλώνεται απαντώντας σε συνεισφορές της κοινότητας. Αυτός δεν ήταν σχεδόν ποτέ ο λόγος που οι συντηρητές ασχολήθηκαν με το Exercism εξαρχής, και δεν είναι δουλειά που απολαμβάνουν. Μοιάζει λίγο με κάποιον που αγαπά τον προγραμματισμό και "προάγεται" σε επικεφαλής ομάδας, όπου διαχειρίζεται ανθρώπους αντί να γράφει κώδικα. Μπορεί να φαίνεται σαν ωραία προαγωγή εκείνη τη στιγμή, αλλά συχνά αποδεικνύεται ότι οι άνθρωποι δεν απολαμβάνουν να είναι μάνατζερ ούτε τη μισή από όσο απολαμβάνουν να γράφουν κώδικα.
Βασίζεται επίσης στην υπόθεση ότι το άθροισμα των συνεισφορών της ευρύτερης κοινότητας είναι μεγαλύτερο από τη μεμονωμένη συνεισφορά που θα μπορούσε να κάνει ο ίδιος ο συντηρητής. Αλλά στο Exercism, αυτό δεν ισχύει σχεδόν ποτέ. Το Exercism είναι πολύπλοκο και η εκπαίδευση είναι δύσκολη, και μαζί κάνουν τη συνεισφορά στο Exercism ένα πολύπλοκο και δύσκολο πράγμα να χτιστεί. Υπάρχουν πάρα πολλά να μάθει και να κατανοήσει κανείς, τόσο για το πώς λειτουργεί τεχνικά το Exercism όσο και για την προσέγγισή του στην εκπαίδευση, κι έτσι οι περισσότερες πρώτες συνεισφορές είναι άνθρωποι που ψάχνουν τον δρόμο τους. Αυτό σημαίνει ότι οι αρχικές τους συνεισφορές είναι σχετικά μικρές, αλλά και ότι σχεδόν πάντα χρειάζονται πολλή δουλειά σε αξιολόγηση και διορθώσεις. Αυτή είναι δουλειά που καταναλώνει πολύ χρόνο για τους συντηρητές. Στην πραγματικότητα, ο συνολικός χρόνος που δαπανάται στην αξιολόγηση (καθώς και η αλλαγή πλαισίου που απαιτείται) σημαίνει ότι ο συντηρητής συνήθως καταβάλλει περισσότερη προσπάθεια για να αξιολογήσει το PR απ’ ό,τι αν το είχε κάνει απλώς ο ίδιος. Υπάρχουν, φυσικά, κάποιες εξαιρέσεις, αλλά ισχύει στο 99% των περιπτώσεων. Και συχνά αυτό είναι ακόμα πιο επώδυνο για τον συντηρητή, καθώς το πρόβλημα που λύνει το PR δεν ήταν κοντά στην κορυφή της λίστας προτεραιοτήτων του, με αποτέλεσμα να μη γίνονται τα πράγματα που γνωρίζει ότι είναι πραγματικά απαραίτητα.
Τέλος, το μοντέλο OSS βασίζεται στο ότι οι συνεισφέροντες ξεκινούν από μικρά πράγματα και τελικά αποκτούν αρκετές γνώσεις και συνέπεια ώστε να γίνουν συντηρητές. Σε έργα OSS όπως οι βιβλιοθήκες λογισμικού, αυτό λειτουργεί σχετικά καλά (π.χ. κάποιος χρησιμοποιεί μια βιβλιοθήκη σε παραγωγή και συνεχίζει να προσθέτει βελτιώσεις, μέχρι που τελικά αποκτά τόση γνώση όση ο αρχικός δημιουργός της). Ωστόσο, στο Exercism αυτό απλώς δεν έχει συμβεί. Παρά τη συγχώνευση PR από χιλιάδες συνεισφέροντες τους τελευταίους 12 μήνες, μόνο μια μικρή χούφτα συνέχισαν ως τακτικοί συνεισφέροντες και ακόμα λιγότεροι έγιναν συντηρητές. Αυτό οφείλεται και πάλι κυρίως στην πολυπλοκότητα του Exercism, αλλά και στο ότι δεν είναι ένα αυτοτελές κομμάτι λογισμικού, όπου το μοντέλο αυτό λειτουργεί παραδοσιακά.
Όλα αυτά είναι απίστευτα αποθαρρυντικά για τους συντηρητές και επιζήμια για το Exercism.
Οι διαδρομές έχουν κολλήσει, και οι βασικοί μας εθελοντές, που είχαν πάθος για τη δημιουργία, το έχασαν σε μεγάλο βαθμό όταν η δουλειά τους έγινε η αξιολόγηση της δουλειάς άλλων, η διαπραγμάτευση ανταγωνιστικών προτεραιοτήτων και η διαχείριση απρόσμενων αιτημάτων. Κατά τη διάρκεια της ανάπτυξης της v3, οι συντηρητές μπορούσαν να δουλεύουν με σχετική αυτονομία, καθώς η δουλειά τους ήταν ως επί το πλείστον στα παρασκήνια, κάτι που οδήγησε σε τεράστια παραγωγικότητα και σήμαινε ότι η πλειονότητα των ανθρώπων απολάμβανε πραγματικά τη συνεισφορά. Από την κυκλοφορία της v3, παρά το ότι πολλοί εθελοντές αφιέρωναν εξίσου πολύ χρόνο στο Exercism, ήταν μια περίοδος πολύ λιγότερο ευχάριστη και παραγωγική, κυρίως λόγω της ενέργειας που δαπανήθηκε για να απαντάμε σε συνεισφορές ή issues άλλων. Οι εθελοντές μας περνούν τώρα τον χρόνο τους λειτουργώντας ως φύλακες που απλώς αντιδρούν αντί για καινοτόμοι, και αυτό είναι πολύ λιγότερο διασκεδαστικό.
Αυτές είναι οι προκλήσεις που πρέπει να λύσουμε, και είναι δύσκολες. Πρέπει να βρούμε έναν τρόπο ώστε οι άνθρωποι που θέλουν να περάσουν εκατοντάδες ώρες χτίζοντας τις γλωσσικές διαδρομές του Exercism να μπορούν να το κάνουν και να το αγαπούν. Πρέπει να βρούμε έναν τρόπο ώστε οι διορθώσεις bugs και οι μικρές συνεισφορές να φτάνουν στη βάση κώδικα μας χωρίς να χρειάζονται την προσοχή αυτών των βασικών εθελοντών. Και πρέπει να βρούμε έναν τρόπο να προσελκύσουμε νέους εθελοντές στο Exercism και να τους στηρίξουμε αν επιλέξουν να δεσμευτούν σε συνεχείς συνεισφορές. Πρέπει να περιορίσουμε γενικά τον ρόλο του φύλακα-ελεγκτή, σεβόμενοι ταυτόχρονα ότι όσοι έχουν επενδύσει τόση προσπάθεια στις διαδρομές έχουν ισχυρές και πολύ καλά μελετημένες απόψεις. Πρέπει να κάνουμε διασκεδαστική τη διαχείριση και τη λειτουργία όλου αυτού του συστήματος εθελοντισμού. Και πρέπει να λύσουμε και ένα σωρό άλλα πράγματα. Θα πάρει χρόνο και θα είναι πρόκληση, αλλά όταν τα καταφέρουμε, θα είναι καταπληκτικό.