Ο Greg Kroah-Hartman εξηγεί τη σημασία του Linux και το πως μπορείς να συνεισφέρεις στον πυρήνα

dimitris | Δευ, 07/23/2018 - 12:04 | 12'

O Greg Kroah-Hartman (GKH) είναι ένας από τους βασικούς συντελεστές της επιτυχίας του πυρήνα Linux. Συντηρεί εδώ και χρόνια το σταθερό κλάδο του πυρήνα, μαζί με ένα σωρό άλλα υποσυστήματα. Σε αυτή τη συνέντευξη στο Linux Foundation (LF) εν όψει του Open Source Summit που θα γίνει τον Αύγουστο στο Βανκούβερ του Καναδά, ο GKH εξηγεί πόσο σημαντικό είναι το Linux για πολλά πράγματα που χρησιμοποιούμε καθημερινά (και δεν το συνειδητοποιούμε). Παράλληλα, μιλά για τη σημασία της προσωπικής επαφής μεταξύ των προγραμματιστών και δίνει ένα παράδειγμα για το πως μπορεί κανείς να εμπλακεί ενεργά στην ανάπτυξη του πυρήνα.

LF: Νέες τεχνολογίες (cloud, containers, machine learning, serverless) εμφανίζονται συνεχώς, ποια είναι η σημασία του Linux σε αυτό το μεταβαλλόμενο τοπίο;

GΚH: Υπάρχει ένα παλιό αστείο, "Από τι είναι φτιαγμένο ένα “σύννεφο”; Από Linux servers!" Αυτό είναι πιο αληθινό από ό,τι συνειδητοποιούν οι περισσότεροι. Όλα αυτά τα πράγματα που ανέφερες βασίζονται στο Linux και “χτίζουν” πάνω του. Έτσι, ενώ δεν πολυσκεφτόμαστε τον "πυρήνα Linux" όταν μιλάμε για "containers", "serversless" και τις άλλες μόδες που εμφανίζονται, τίποτε από αυτά δεν θα ήταν εφικτό χωρίς το Linux να εξασφαλίζει ότι υπάρχει μια σταθερή βάση για όλους να χτίσουν πάνω του.

Ο στόχος ενός λειτουργικού συστήματος είναι να παρέχει μια υπολογιστική πλατφόρμα στους χρήστες που να είναι ίδια ανεξάρτητα από το hardware πάνω στο οποίο τρέχει. Εξαιτίας αυτού του γεγονότος, οι προγραμματιστές μπορούν να δημιουργήσουν όλες αυτές τις εφαρμογές χωρίς να ενδιαφέρονται εάν θα τρέχουν σε ένα Raspberry Pi ή στο cloud σε ένα γιγαντιαίο cluster από PowerPC, γιατί το API είναι πάντα και παντού το ίδιο.

Έτσι, το Linux είναι απαραίτητο για να δουλεύουν σωστά όλες αυτές οι νέες τεχνολογίες, να επεκτείνονται και να μετακινούνται σε διαφορετικά μέρη όταν αυτό απαιτείται. Χωρίς το Linux, θα ήταν πολύ δύσκολο να δουλέψει οποιοδήποτε από αυτά τα πράγματα.

LF: Ασχολείσαι ενεργά με τον πυρήνα Linux εδώ και πολύ καιρό. Έχει αλλάξει ο ρόλος σου μέσα στην κοινότητα; Φαίνεται να εστιάζεις πολύ στην ασφάλεια αυτές τις μέρες.

GKH: Ξεκίνησα αρχικά να γράφω drivers, έπειτα - πολλά χρόνια πριν- βοήθησα να στήσουμε την υποδομή ασφάλειας του πυρήνα. Από εκεί ξεκίνησα να συντηρώ το υποσύστημα USB και στη συνέχεια συν-δημιούργησα το μοντέλο για τους drivers. Κατέληξα να αναλαμβάνω όλο και περισσότερα υποσυστήματα drivers και όταν έπεσε η ιδέα για τις σταθερές κυκλοφορίες του πυρήνα το 2005, ήμουν ένας από τους προγραμματιστές που το ανέλαβαν αυτό.

Επομένως, τα τελευταία 13 χρόνια, έκανα σχεδόν το ίδιο πράγμα. Δεν άλλαξαν πολλά από τότε, εκτός από το ότι συντηρώ περισσότερα stable trees κώδικα για να είναι οι διάφορες συσκευές που κυκλοφορούν ασφαλείς.

Συμμετέχω στην ομάδα ασφάλειας του πυρήνα, νομίζω από τότε που ξεκίνησε στις αρχές του 2000, αλλά ο ρόλος μου είναι περισσότερο να δείχνω σε ποιον πρέπει να πάει ένα bug. Η ομάδα ασφαλείας του πυρήνα λαμβάνει αναφορές προβλημάτων ασφαλείας και τις δρομολογεί στον σωστό προγραμματιστή, αυτόν που συντηρεί ή γνωρίζει καλύτερα το συγκεκριμένο κομμάτι του πυρήνα. [...]

LF: Το Linux αναπτύσσεται από ανθρώπους σε όλο τον κόσμο, αλλά κάπου-κάπου είναι καλό να συναντάς αυτούς τους ανθρώπους αυτοπροσώπως. Οπότε, ποιος είναι ο ρόλος που παίζει το Open Source Summit (Σύνοδος Κορυφής Ανοικτού Κώδικα) για να φέρει κοντά όλους αυτούς τους προγραμματιστές;

GKH: Επειδή όλα τα έργα ανοιχτού κώδικα αναπτύσσονται από ανθρώπους που εργάζονται σε διαφορετικές εταιρείες και ζουν σε διαφορετικά μέρη, είναι σημαντικό να βρισκόμαστε μαζί όποτε μπορούμε για να συναντάμε τους ανθρώπους που βρίσκονται πίσω από μια διεύθυνση email. Η ανάπτυξη κώδικα είναι μια αλληλεπιδραστική διαδικασία που εξαρτάται από την εμπιστοσύνη. Εάν δεχτώ patches από εσένα, είμαι υπεύθυνος και εγώ για αυτές τις αλλαγές. Αν εξαφανιστείς τότε τις φορτώνομαι αποκλειστικά εγώ. Έτσι είτε πρέπει να βεβαιωθώ ότι είναι σωστές οι αλλαγές σου, ή ακόμα καλύτερα, να ξέρω ότι θα είσαι εδώ γύρω για να διορθώσεις τον κώδικα αν υπάρχει κάποιο μελλοντικό πρόβλημα. Με την άμεση επαφή, δημιουργείς ένα πρόσωπο πίσω από το ηλεκτρονικό ταχυδρομείο, πράγμα που βοηθά στην εξομάλυνση τυχόν διαφωνιών που μπορεί να προκύψουν εξαιτίας της έλλειψης "τόνου" στην ηλεκτρονική επικοινωνία.

Είναι επίσης σπουδαίο να συναντάς προγραμματιστές από άλλα έργα για να ακούς τους τρόπους με τους οποίους... κακοποιούν το δικό σου project για να το φέρουν στα μέτρα τους ή για να μάθεις τα προβλήματα που αντιμετωπίζουν, τα οποία εσύ δεν γνωρίζεις. Ή απλώς για να μάθεις νέα πράγματα που αναπτύσσονται από εντελώς διαφορετικές ομάδες. [...]

Είναι επίσης σπουδαίο να συναντάς προγραμματιστές από άλλα έργα για να ακούς τους τρόπους με τους οποίους... κακοποιούν το δικό σου project για να το φέρουν στα μέτρα τους

LF: Προφανώς συναντάς πολλούς ανθρώπους κατά τη διάρκεια του Summit. Είχες ποτέ κάποιο περιστατικό όπου κάποιος κατέληξε να στέλνει κώδικα ή να αναλάβει κάποιο υποσύστημα του Linux εξαιτίας των ευκαιριών για αλληλεπίδραση που δίνει μια τέτοια συγκέντρωση προγραμματιστών;

GKH: Σε μια από τις συνεδρίες του Sumit πέρσι, συνάντησα έναν φοιτητή που είχε έρθει στο συνέδριο για πρώτη φορά. Ανέφερε ότι έψαχνε για ιδέες όπου κάποιος με το δικό του επίπεδο δεξιοτήτων θα μπορούσε να βοηθήσει. Σε μια ομιλία αργότερα την ίδια ημέρα κάποιος έριξε μια νέα ιδέα για το πώς να ενοποιήσεις ένα συγκεκριμένο υποσύστημα του πυρήνα και πώς θα χρειαζόταν "απλώς πολύ δουλειά" για να γίνει αυτό. Αργότερα το ίδιο βράδυ, είδα τον φοιτητή και πάλι και του ανέφερα την ιδέα υποδεικνύοντας τον άνθρωπο που ζήτησε τη βοήθεια. Πήγαν και μίλησαν σε μια γωνία για τις λεπτομέρειες όσων έπρεπε να γίνουν.

Λίγες εβδομάδες αργότερα, άρχισαν να εμφανίζονται πολλά patches από τον φοιτητή αυτόν και μετά από μερικούς γύρους διορθώσεων, έγιναν όλα δεκτά από τον συντηρητή. Ακολούθησαν περισσότερα patches και τελικά το μεγαλύτερο κομμάτι της δουλειάς ολοκληρώθηκε, κάτι που ήταν πολύ ωραίο, μια και ο πυρήνας επωφελήθηκε πραγματικά από τη συμβολή του.

Φέτος, πέτυχα ξανά τον φοιτητή σε άλλο συνέδριο και τον ρώτησα τι κάνει τώρα. Αποδείχτηκε ότι είχε βρει δουλειά σε μια εταιρεία που δουλεύει στον πυρήνα Linux γράφοντας κώδικα για νέα προϊόντα κατά τη διάρκεια του καλοκαιριού. Χωρίς εκείνη την πρώτη αλληλεπίδραση στο Summit, τη συνάντηση με τους προγραμματιστές που εργάζονταν απευθείας στο συγκεκριμένο υποσύστημα που χρειαζόταν δουλειά, θα ήταν πολύ πιο δύσκολο να βρει μια τέτοια θέση εργασίας.

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

Δεν λέω ότι όλοι όσοι παρακολουθούν ένα συνέδριο για Linux και ανοικτό κώδικα θα βρουν άμεσα δουλειά, αλλά σίγουρα θα έχουν ευκαιρία να αλληλεπιδράσουν με προγραμματιστές που ξέρουν τι πρέπει να γίνει

 

Δώσε αστέρια!

MO: 4 (ψήφοι: 10)