Ἀξίζει ἡ συμβολὴ στὸ FOSS;

Συμμετεῖχα σὲ ἀρκετὰ ἔργα FOSS. Τελευταία ἔχω ἀποσυρθεῖ ἀπὸ ἀρκετά, ἰδίως ἀπὸ ἐκεῖνα ὅπου ἡ προσοχὴ ποὺ ἀπαιτεῖτο ἄρχισε νὰ φαίνεται δυσανάλογη πρὸς αὐτὸ ποὺ ἔπαιρνα πίσω.

Πάρε γιὰ παράδειγμα δουλειὰ συσκευασίας γιὰ τὸ GNU Guix, ὅπου ἐνεπλάκην γιὰ λίγο. Αὐτὸ τὸ PR ἐνημέρωσε ἕνα πακέτο ποὺ συντηρῶ, τὸ emacs-jabber. Ἡ συνταγὴ χρειάστηκε περίπου πέντε λεπτά. Μετὰ ἀπὸ μιὰ ἀρχικὴ θετικὴ κριτική, τὸ νῆμα ἐπεκτάθηκε σὲ μακρύτερη συζήτηση γιὰ χειρισμὸ ἐξαρτήσεων, ἀναδρομικὲς λήψεις καὶ ἐνσωματωμένο ἀντίγραφο κρυπτογραφικοῦ κώδικα τρίτων. Δὲν ὑπῆρχε σαφὴς ἰδιοκτήτης τῆς κριτικῆς οὔτε προφανὲς σημεῖο λήξης. Τὸ συνολικὸ κόστος προσοχῆς κατέληξε πολλαπλάσιο τῆς ἀρχικῆς συμβολῆς.

Δὲν ἀναφέρομαι μόνο στὸ Guix. Πολλὰ ἔργα ἔχουν τὸ ἴδιο δομικὸ πρόβλημα: διαδικασίες κριτικῆς ποὺ μποροῦν νὰ μετατρέψουν μικρὲς διορθώσεις σὲ ἀνοιχτὲς «καταβόθρες» προσοχῆς. Ὅταν μπορῶ νὰ ἀναθέσω τὴν ἴδια ἐργασία σὲ πράκτορα καὶ νὰ ἐπαναλαμβάνω γρήγορα, ἢ ἁπλῶς νὰ συντηρῶ τὸ πακέτο ἔξω ἀπὸ τὴν κύρια διανομή, ὁ παλιὸς ὑπολογισμὸς παύει νὰ βγάζει νόημα.

Τὸ ἐρώτημα δὲν εἶναι πλέον «μπορῶ νὰ τὸ κάνω;» Γίνεται: Ἀξίζει περισσότερο νὰ διαθέσω τὴν περιορισμένη μου προσοχὴ ἐδῶ παρὰ κάπου ἀλλοῦ;

Αὐτὸ δὲν καθιστᾶ κάθε συμβολὴ στὸ FOSS ἄσκοπη. Ἁπλῶς ὑψώνει τὸν πήχη. Μιὰ συμβολὴ ἀξίζει τὴν προσοχή μου ὅταν μὲ διδάσκει κάτι καινούργιο, βελτιώνει οὐσιαστικὰ ἕνα ἐργαλεῖο ποὺ πραγματικὰ χρησιμοποιῶ, ἢ μὲ συνδέει μὲ ἀνθρώπους τῶν ὁποίων τὴν κρίση ἐκτιμῶ. Ἐκεῖνο τὸ νῆμα δὲν ἔκανε τίποτα ἀπὸ αὐτά.

Κανεὶς δὲν γίνεται καλύτερος Schemer γράφοντας ἄλλη μία συνταγὴ πακέτου καὶ διαβάζοντας ἀρχεῖα καταγραφῆς μεταγλώττισης. Ἕνας πράκτορας μὲ ἕνα ἀξιοπρεπὲς μοντέλο θὰ μποροῦσε νὰ χειριστεῖ τὸ μεγαλύτερο μέρος αὐτοῦ τοῦ βρόχου καὶ νὰ πιάσει τὰ προφανῆ σημεῖα κριτικῆς. Χωρὶς σαφῆ πολιτικὴ καὶ ρητὲς προσδοκίες κριτικῆς, ἀκόμα καὶ ἕνας πράκτορας μὲ κατάλογο ἐλέγχου μπορεῖ νὰ εἶναι χρησιμότερος ἀπὸ ἀδόμητη ἀνθρώπινη κριτική.

Αὐτὸ ἰσχύει γιὰ κάθε συμβολὴ ὅπου ἡ ἴδια ἡ δουλειὰ ἔχει φτηνύνει ἀρκετὰ ὥστε ἕνα μοντέλο νὰ τὴν κάνει γιὰ λίγα λεπτὰ τοῦ νομίσματος, ἀλλὰ ὁ ἀνθρώπινος συντονισμὸς γύρω της ἔχει μείνει ἀκριβός. Σὲ ἐκεῖνο τὸ σημεῖο, νὰ τὸ κάνεις μὲ τὸ χέρι δὲν εἶναι πλέον αὐτονόητο ὅτι ἀξίζει τὴν προσοχή σου.

Ὁ κώδικας ἔχει φτηνύνει

Ὁ ESR ἔγραψε πρόσφατα ὅτι ἡ ἐποχὴ τοῦ χειρόγραφου κώδικα ἔχει στὸ μεγαλύτερο μέρος τελειώσει. Νομίζω ὅτι κατὰ βάση ἔχει δίκιο. Ἡ πραγματικὴ ἀλλαγὴ δὲν εἶναι ὅτι οἱ ἄνθρωποι σταματοῦν νὰ γράφουν κώδικα. Εἶναι ὅτι ὁ κώδικας ἔχει φτηνύνει ἀρκετὰ ὥστε νὰ αὐξάνει οὐσιαστικὰ τὴν ἀτομικὴ αὐτονομία.

Ὅταν ἤδη ξέρω τί θέλω νὰ κάνει ἕνα ἐργαλεῖο, ποιὰ τεχνολογικὴ στοίβα νὰ χρησιμοποιεῖ καὶ πῶς νὰ ταιριάζει στὴ ροὴ ἐργασίας μου, δὲν χρειάζεται πιὰ νὰ κυνηγῶ ἕνα ὑπάρχον ἔργο, νὰ ἀξιολογῶ τὶς ἀφαιρέσεις του, νὰ προσαρμόζω τὴ διαδικασία μου σὲ αὐτὸ ἢ νὰ κληρονομῶ τὸ βάρος συντήρησής του. Ἕνα τοπικὸ μοντέλο μπορεῖ ἁπλῶς νὰ μοῦ παραγάγει μιὰ στοχευμένη ὑλοποίηση.

Αὐτὸ ἀλλάζει τὴ σχέση ἐξάρτησης. Ἀντὶ νὰ βασίζομαι σὲ τρίτους προγραμματιστὲς ποὺ δὲν γνωρίζω, τῶν ὁποίων οἱ προτεραιότητες, ἡ κρίση καὶ ἡ μακροπρόθεσμη δέσμευση εἶναι πάντα ἀβέβαιες, μπορῶ νὰ παραγάγω ἀκριβῶς αὐτὸ ποὺ χρειάζομαι. Τὸ ἀποτέλεσμα εἶναι συχνὰ ὑψηλότερης ποιότητας γιὰ προσωπικὴ χρήση, διότι περιέχει μόνο τὴ συμπεριφορὰ ποὺ θέλω καὶ καμία ἀπὸ τὶς ὑποθέσεις ἢ τὸ βάρος ποὺ δὲν θέλω.

Ὁ φτηνὸς κώδικας δὲν κάνει ἁπλῶς τὴν ἀνάπτυξη ταχύτερη. Μειώνει τὴν ἀνάγκη νὰ ἀναθέτω μικρὰ ἀλλὰ σημαντικὰ κομμάτια τοῦ ὑπολογιστικοῦ μου περιβάλλοντος σὲ ξένους.