Που βαδίζουμεν κύριοι; Σκέψεις για το πως θα είναι οι μελλοντικές διανομές

O πολύ «αγαπητός» σε πολλούς εδώ μέσα Lennart Poettering περιγράφει την ιδανική Linux διανομή για χρήση Desktop. Κάποια από τα πράγματα που περιγράφει όπως το immutable /usr υπάρχουν ήδη σε διανομές που ορίζουν το μέλλον, άλλα όπως η πλήρη κρυπτογραφική επαλήθευση είναι σήμερα όνειρο θερινής νυχτός. Κάποια άλλα θα μας κάνουν να ξανα ξεχάσουμε όσα ξέραμε.

Δεν ξέρω αν συμφωνώ με όσα γράφει, θέλει πολύ διάβασμα και σκέψη, και η υλοποίησή πάντα μετράει καθώς και ο έλεγχος που θα μου δίνει σαν διαχειριστής του υπολογιστή μου. Αλλά είμαστε στο κατώφλι σπουδαίων πραγμάτων και προσωπικά βρίσκω σημαντικό που κάποιος έχει ένα όραμα (είτε συμφωνείς είτε διαφωνείς με αυτό) για το «που βαδίζουμεν κύριοι»

Είναι πολύ μεγάλο κείμενο (33 σελίδες σε ντεμοντε μέσο, το χαρτί) και θα βρεθεί εδώ:

Προσωπικά θεωρώ ότι διανομές σαν τις Clear Linux, Fedora SirverBlue, NixOS και Qubes OS δείχνουν το μέλλον. Αρκετά από αυτά που περιγράφει το κείμενο τα έχω σκεφτεί σαν την ιδανική διανομή που θα ήθελα στο μέλλον (αλλά όχι σήμερα είναι δύσχρηστες και προβληματικές στο να τις φέρεις στα μέτρα σου). Άλλα δεν τα έχω σκεφτεί ακόμα σε βάθος. Και διατηρώ αναφαίρετο δικαίωμα μου να αναθεωρήσω τις απόψεις μου αύριο :grin: Η αρχή έγινε και ελπίζω να υπάρξουν και άλλες γόνιμες ιδέες. Τα παραπάνω είναι ιδανικά για κάτι σαν ένα WRT ή παρόμοιες συσκευές, καμία αντίρρηση σε αυτό και πολύ χρήσιμα σε server. Αλλά για Desktop χρήση, δεν είμαι απόλυτα πεπεισμένος.

Αλλά νομίζω πως πρέπει κάποια στιγμή σιγά σιγά να απομακρυνθούμε από το «παραδοσιακό» μοντέλο του UNIX. Έχουμε αλλάξει χιλιετία διάλοε.

Εσείς τι λέτε; Πώς φαντάζεστε μια διανομή σε 10 χρόνια από τώρα;

Δείτε και τη σχετική συζήτηση στο lwm.net: Poettering: Fitting Everything Together [LWN.net]

4 «Μου αρέσει»

Λέω οτι έχουμε να δούμε πολλές διαφωνίες ακόμα μπροστά μας και αν κάποιοι θέλουν να επιβάλλουν πράματα, όπως έχουμε δει να συμβαίνει σε πολλές πτυχές της ζωής μας, θα έχουμε πρόβλημα. Η φάση χρειάζεται ένα ελάχιστο ενότητας για να προχωρήσει.
Από εκεί και πέρα λέω οτι έχουμε να δούμε και καλές προσπάθειες να υλοποιούντε και αυτό είναι συναρπαστικό.
Το πως φαντάζομαι μια διανομή σε δέκα χρόνια είναι θολό. Μπορεί να είναι πολύ πιο βαριά. Μπορεί να είναι πολύ πιο ελαφριά γιατί δε θα κάνει κάτι άλλο πέρα από το να συνδέεται στο cloud. Ίσως πρέπει να αναρωτηθούμε πως θα είναι οι σέρβερς σε 10 χρόνια… Μπορεί μια διανομή να τρέχει μόνο ένα βαρύ πράμα σε σέρβερ για παράδειγμα και για να κάνουμε αυτά που κάνουμε σήμερα, να πρέπει να συνδεόμαστε σε 10 σέρβερ σε 10 χρόνια. Δεν μπορούμε να ξέρουμε… Ελπίζω πάντως να προχωρήσει το risc-v και άλλα παρόμοια πράματα…

Δεν ξέρω βέβαια κατά πόσο το Qubes μπορεί να θεωρηθεί διανομή (Linux) εφόσον αποτελεί πλήθος διανομών που τρέχουν σε Xen. Επίσης λόγο σχεδιασμού (ασφάλεια μετά απομόνωσης εφαρμογών σε VMs) δεν μπορώ να το θεωρήσω το μέλλον παρά ως απόδειξη αδυναμίας για παροχή υψηλής ασφάλειας στο τωρινό Linux.

Για το άρθρο του Lennard, image-based Linux αλά Silverblue βασικά σαν ιδέα είχε πρωτοεμφανισθεί από την ίδια τη Red Hat πριν από σχεδόν 20 χρόνια αλλά πήρε περίπου τόσο για να εξελιχθούν οι απαραίτητες τεχνολογίες για να γίνει δυνατό. Αξιοσημείωτο πως στο ενδιάμεσο η Google με το Android υιοθέτησε αποτελεσματικά αυτό το μοντέλο και βασικά τα περισσότερα στοιχεία τα οποίο ο Lennard αναφέρει.

Κάποια κομμάτια που θα ήθελα να σχολιάσω.

For robustness and security it is essential to operate with reproducible, immutable images that describe the OS or large parts of it in full, rather than operating always with fine-grained RPM/dpkg style packages.

Ή ένα σύστημα που συνδυάζει και τα δύο, όπως NixOS/GuixSD. Βασικά τα συστήματα αυτά καλύπτουν αρκετούς από τους αναφερόμενους στόχους και για κάποιους ίσως καλύτερα. Οι διαφορές προκύπτουν από το αν έχεις πραγματικό image (Lennard/Android, όπως να μπορεί να κάνεις dd κάθε update στο δίσκο) ή αν έχεις packages που συμπεριφέρονται σαν image (Nix/Guix, που βασικά κάθε system upgrade κάνει λινκ ένα νέο tree πακέτων).

Να προσθέσω πως το image κομμάτι μπορεί να γίνει είτε με μια νέα τεχνολογία/λογισμικό όπως ostree ή darch είτε με χρήση σύγχρονων filesystems (zfs, btrfs). Για το τελευταίο νομίζω είχα διαβάσει ένα blog post που κάποιος έτρεχε image-based Arch με zfs disk images.

Everything should be self-updating.

Θα προσθέσω το optionally όπως και το reversibly. Για παράδειγμα ένα πρόγραμμα μπορεί να αφαίρεσε σε νεώτερη έκδοση μια λειτουργία που σε κάποιον είναι απαραίτητη.

2 «Μου αρέσει»

Συμφωνώντας με τον @raik, θα συμπληρώσω ένα ακόμα σημαντικό παράγοντα που διαφεύγει.
Ή, μάλλον, θα το θέσω όπως το είχε πει κάποτε ένας ωραίος τύπος:

Αυτό είναι το ένα που είναι καθοριστικό καθώς θα αλλάξει τα πάντα. Η ΑΙ δηλαδή.

Το άλλο έχει να κάνει με τις εταιρείες. Έχουμε συνηθίσει να τα χώνουμε στη Canonical - και δικαίως μερικές φορές - αλλά οι περισσότεροι θεωρούν ταμπού να αναφερθούν στη RedHat και στον διττό της ρόλο.
Αν αύριο το πρωί ξυπνούσαμε και βλέπαμε ότι όλα, όπως τα ξέρουμε, είχαν αλλάξει και πλέον το κάθε τι σχετικά με το Linux ήταν κάτω από τον έλεγχό της, τότε θα είχαμε μια απόλυτη δυστοπία όσον αφορά το «οικιακό desktop» (κάτι θα ξέρουν εκεί στο KDE που ναι μεν, αλλά κρατούν και τις αποστάσεις).

Όμως, αυτές οι διανομές είναι απόλυτα ειδικευμένες και δεν έχουν σχέση με το απλό desktop.
Εκτός βέβαια, αν εννοείς κάποια επί μέρους στοιχεία τους που θα μπορούσαν να υιοθετηθούν.

To Qubes ναι αλλά οι υπόλοιπες είναι απολύτως λειτουργικές σε desktop και μάλιστα το Silverblue στοχεύει μόνο desktop συστήματα. Επιπλέον μόνο το Nix διαφέρει αρκετά ενώ τα Clear και Silverblue προσφέρουν πλεονεκτήματα χωρίς. Συγκεκριμένα το Clear (i) έχει bundles αντί για ξεχωριστά πακέτα και (ii) κάθε πρόγραμμα έχει κάποιες default ρυθμίσεις με το χρήστη να εισάγει τις δικές του αντιγράφοντας τις default στο /etc κατάλογο, ενώ το Silverblue (i) έχει ένα κομμάτι που είναι layered images και (ii) οι εφαρμογές που εγκαθιστά ο χρήστης είναι ολοκληρωμένα πακέτα (Flatpaks). Δηλαδή δύο διαφορές ξεχωρίζουν αυτές από τις διαδεδομένες διανομές.