Linux: το… μπάχαλο της “ελευθερίας επιλογής”

Βλέπετε, αν κάποιος χρήστης “ανακαλύψει τον τροχό”, δεν χρειάζεται και οι υπόλοιποι να πρέπει να τον ξανα-ανακαλύψουν από την αρχή. Όταν ο καθένας “χτίζει” επάνω στις γνώσεις του άλλου, ο ρυθμός προόδου αυξάνεται. Πάρτε, για παράδειγμα, οποιονδήποτε επιστημονικό τομέα – π.χ. την Ιατρική. Φαντασθείτε να έπρεπε κάθε γιατρός να… ξανα-ανακαλύψει την πενικιλίνη! Το ίδιο, λοιπόν, συμβαίνει με τον κώδικα: αν ο Μπάμπης φτιάξει κάποιες ρουτίνες “που παρουσιάζουν ένα κινούμενο κόκκινο τετράγωνο στην οθόνη”, γιατί να πρέπει ο Μιχαλιός να φτιάξει από το μηδέν κώδικα “που να παρουσιάζει ένα κινούμενο μπλε τετράγωνο στην οθόνη”; Μπορεί να πάρει τον κώδικα του Μπάμπη και, προσαρμόζοντας τον στις δικές του ανάγκες, να αλλάξει το χρώμα του τετραγώνου από μπλε σε κόκκινο. Και μετά να έρθει ο Χάνς και να βάλει ανάμεσα τους έναν κίτρινο κύκλο, ο Φρίντριχ να προσθέσει ένα πράσινο τρίγωνο, και στο τέλος να έρθει ο “μάγκας” Carmack, να τα πάρει όλα αυτά, να τα συνδυάσει και να “χτίσει” με αυτά έναν ολόκληρο τρισδιάστατο κόσμο.

Τέτοια “πακέτα ρουτινών” στα Windows συνδυάζονται στα αρχεία DLL. Ένα από αυτά αναλαμβάνει, π.χ., την παρουσίαση κειμένου στην οθόνη. Ένα άλλο να προβάλλει “εκείνα τα κουμπάκια που σε ρωτάνε Γιές ή Νόουπ”. Άλλο να παρέχει ηχητικά εφέ. Παλαιότερα, λοιπόν, μπορεί ένα παιχνίδι ή μια εφαρμογή στα Windows να ζητούσαν κάποια από αυτά τα αρχεία. Αν και, τώρα πια, τα περισσότερα συμπεριλαμβάνονται στο “πακέτο” ενός παιχνιδιού ή μιας εφαρμογής, όσο… παλαιότερα ταξιδεύουμε στο χρόνο, όλο και περισσότερες πιθανότητες υπήρχαν να ζητηθεί από το χρήστη να εντοπίσει κάποιο από αυτά ή, συνήθως, μια “συλλογή” από τέτοια. Τις περισσότερες φορές, απαιτούνταν μια έκδοση των DirectX. Άλλες, μια έκδοση των Visual Basic Runtimes (αν ένα πρόγραμμα ήταν γραμμένο σε Visual Basic) κ.λπ. κ.λπ.

Πολύ-πολύ παλαιότερα, λοιπόν, και ενώ στα Windows οι χρήστες μπορεί να καλούνταν να εντοπίσουν ένα, άντε δυο τέτοια “πακέτα” αρχείων, ο μέσος χρήστης Linux έπρεπε να εντοπίσει και εγκαταστήσει “με το χέρι” καμιά… δεκαριά (και βάλε) για πολλές-πολλές εφαρμογές. Και επειδή η διανομή της Red Hat ήταν μια από τις δημοφιλέστερες, αλλά και με αρκετά έντονο το πρόβλημα, δόθηκε και… ονοματάκι στο πρόβλημα: “RPM Hell”, αφού “RPMs” ήταν (και είναι) τα αντίστοιχα “αρχεία εγκατάστασης” στη συγκεκριμένη διανομή (και τις συμβατές με αυτή).

Στα Windows το πρόβλημα λύθηκε, ως ένα σημείο, με την ενοποίηση όλο και περισσότερων τέτοιων “πακέτων” σε μεγαλύτερα πακέτα, αλλά και την προσπάθεια, από πλευράς Microsoft, να συμπεριλαμβάνει όλα “τα βασικά” στα ίδια τα Windows. Ακριβώς, όμως, επειδή στο Linux δεν υπάρχει κάποιος “κεντρικός οργανωτής” και ο καθένας έχει την ελευθερία να κάνει το κοντό και το μακρύ του, δεν είναι εύκολο (ή, μάλλον, “πολιτικώς ορθό”) να δημιουργούνται τέτοια πολυ-πακέτα. Και αυτό ως ένα σημείο έχει να κάνει με την ιδεολογία του “ανοιχτού κώδικα”, της “ελευθερίας επιλογής”. Σου λέει ο λινουξάς developer “γιατί να αναγκάσω το χρήστη να επιλέξει το Χ, όταν μπορεί να προτιμά το ψ”;

Έλα, όμως, που έπρεπε να βρεθεί και ένας τρόπος να επιλυθούν προβλήματα όπως το RPM Hell, και γενικότερα να απλουστευθεί η διαδικασία της εγκατάστασης λογισμικού, ώστε να μην χρειάζεσαι… πτυχίο για να την ολοκληρώσεις. Και έτσι δημιουργήθηκαν τα λεγόμενα “συστήματα διαχείρισης πακέτων”. Και αποτελούν μια πανέξυπνη λύση.

Page 2 of 612345...Last »
...γνωστός και ως Οδυσσέας Κουράφαλος, αρχικός υπεύθυνος για το unregistered. Συντάκτης, γραφίστας, "μαλτιμηντιάς", φανατικός της science fiction και των αστείων γατιών στου ιντερνέτ. "Δηλώνω graphics whore" (παίζω Ms. Pac-Man στο MAME με 2xSAL και το πρώτο Max Payne με FXAA antialiasing). Load "unreg*",8,1.