Δεν ήταν ένα σφάλμα στον Linux kernel, αλλά ένα που υπήρχε στον Enlightenment window manager E16 από το 2006, όταν η Kamila Szewczyk ήταν μόλις ενός έτους.
Η Kamila, που τώρα είναι 21 χρονών μεταπτυχιακή φοιτήτρια στο Πανεπιστήμιο Saarland στη Γερμανία, χρησιμοποιεί καθημερινά τον Enlightenment window manager.
Τι είναι το Enlightenment E16;
Για όσους δεν γνωρίζουν, το Enlightenment είναι ένας window manager (διαχειριστής παραθύρων) για Linux, το λογισμικό που είναι υπεύθυνο για τη σχεδίαση και τη διαχείριση των παραθύρων στην οθόνη σας.
Εμφανίστηκε για πρώτη φορά το 1997, καθιστώντας τον παλαιότερο window manager του Linux. Η E16, είναι η έκδοση που χρησιμοποιεί η Kamila, και κυκλοφόρησε το 1999. Απέκτησε γρήγορα φήμη για την υψηλή προσαρμογή και την εντυπωσιακή εμφάνισή της, σε μια εποχή που οι περισσότεροι επιτραπέζιοι υπολογιστές Linux δεν ήταν και πολύ χρηστικοί.
Το Enlightenment δεν είναι τόσο γνωστό όσο το KDE ή το GNOME, αλλά υπάρχουν πολλοί που το επιλέγουν ακόμη. Έχει ένα αφοσιωμένο κοινό και μπορεί να βρεθεί σε εξειδικευμένες διανομές όπως το Pentoo ή το Bodhi Linux. Το Bodhi χρησιμοποιεί στην πραγματικότητα το Moksha, ένα fork του Enlightenment, σαν προεπιλεγμένη επιφάνεια εργασίας.
Με την πάροδο του χρόνου, η ομάδα του Enlightenment ξεκίνησε μια πλήρη επανεγγραφή του project χρησιμοποιώντας ένα νέο αρθρωτό framework που ονομάζεται EFL (Enlightenment Foundation Libraries). Αυτή η επανεγγραφή διήρκεσε πάνω από μια δεκαετία και τελικά έγινε η έκδοση E17, που κυκλοφόρησε τον Δεκέμβριο του 2012. Η έκδοση E17 εξελίχθηκε από ένα απλό window manager σε ένα πλήρες desktop shell με σύγχρονη σύνθεση και βελτιωμένη υποστήριξη hardware.
Αλλά δεν ακολούθησαν όλοι. Ένα μέρος της κοινότητας παρέμεινε στην έκδοση E16, συνεχίζοντας να την συντηρούν και να την αναπτύσσουν ανεξάρτητα. Η τελευταία έκδοση είναι η έκδοση 1.0.30.
Η Kamila είναι μέρος αυτής της κοινότητας.
Δεν έψαχνε για σφάλματα. Έκανε κάτι συνηθισμένο: προετοίμαζε διαφάνειες διαλέξεων για ένα μάθημα σαν μεταπτυχιακή φοιτήτρια. Είχε δημιουργήσει μερικά PDF σε LaTeX, άνοιξε ένα από αυτά στο Atril, ένα πρόγραμμα προβολής εγγράφων, και πάγωσε ολόκληρη η επιφάνεια εργασίας.
Δεν ήταν ένα σφάλμα που “έτυχε”. Το πάγωμα ήταν αναπαραγώγιμο, κάτι απογοητευτικό, αλλά για έναν προγραμματιστή, πολύ συναρπαστικό.
Αφού έψαξε στη βάση του κώδικα, η Kamila εντόπισε το πάγωμα στον τρόπο με τον οποίο η έκδοση E16 χειριζόταν τα πολύ μεγάλα ονόματα αρχείων.
Όταν ένας τίτλος παραθύρου ήταν πολύ μεγάλος και έπρεπε να περικοπεί, ο αλγόριθμος που ήταν υπεύθυνος για αυτό δεν το έκανε. Έτσι, κολλούσε επ’ αόριστον, κλειδώνοντας εντελώς την επιφάνεια εργασίας. Το σφάλμα βρισκόταν εκεί, αδρανές, από το 2006, περιμένοντας να εμφανιστούν οι κατάλληλες συνθήκες.
Το διόρθωσε και η διόρθωση είναι διαθέσιμη στο ιστολόγιό της.
Γιατί έχει σημασία αυτή η ιστορία
Επιφανειακά, είναι μια εξειδικευμένη ιστορία για έναν άγνωστο διαχειριστή παραθύρων που οι περισσότεροι χρήστες του Linux δεν έχουν δει ποτέ. Όμως είναι κάτι περισσότερο από αυτό.
Η Kamila γεννήθηκε το 2004. Το σφάλμα που διόρθωσε ήταν ήδη δύο ετών μέχρι τότε. Μεγάλωσε, πήγε στο πανεπιστήμιο, έγινε μεταπτυχιακή φοιτήτρια και το σφάλμα ήταν εκεί, σε μια βάση κώδικα που συντηρείται από λίγους προγραμματιστές. Χρειάστηκε κάποιος που χρησιμοποιεί πραγματικά το E16 για να το ανακαλύψει τελικά και να το διορθώσει.
Αυτό είναι το πνεύμα του ανοιχτού κώδικα. Δεν χρειάζεται μια μεγάλη εταιρεία, ούτε ένα πρόγραμμα ανταμοιβής για εύρεση ευπαθειών, ούτε καν ένα CVE. Χρειάζεται ένα άτομο, ένας υπολογιστής, μια παγωμένη επιφάνεια εργασίας και η περιέργεια του να βρει το γιατί.
Υπάρχουν άνθρωποι που διατηρούν αυτόν τον κώδικα εδώ και δεκαετίες. Υπάρχουν και αυτοί που τον χρησιμοποιούν. Πού και πού, ένας από αυτούς τους χρήστες εντοπίζει κάτι που δεν μπόρεσε να βρει κανείς άλλος, και σιωπηλά βελτιώνει το λογισμικό πριν συνεχίσει την ημέρα του.
Αυτό είναι όλο το νόημα.
Αν και τα δελτία τύπου θα είναι από πολύ επιλεγμένα έως και σπάνια, είπα να περάσω … γιατί καμιά φορά κρύβονται οι συντάκτες.
