Τι είναι διανομές, ποιές οι διαφορές τους και τι είναι κοινότητες

«Τι είναι όλα αυτά βρε παιδί μου, κοινότητες, διανομές… γκ..γρ… γνού πως το λές…» μου λέει με μάτια όλο απορία ο κύριος Κώστας, παίρνοντας μια ρουφηξιά από τον παγωμένο του φραπέ. Και συνεχίζει «…..δεν μπορώ να τα καταλάβω, εγώ τώρα έχω αυτό το Ουμπούντου 11 στον υπολογιστή μου… τα υπόλοιπα που συζητάτε για διανομές, για Λίνουξ και κωδικούς (“κώδικα”) με έχουν μπερδέψει…» Ένα χαμόγελο σχηματίζεται στο πρόσωπό του και με αποτελειώνει λέγοντας «…και δεν μπορώ να καταλάβω γιατί μαλώνετε ? Τι’χτε να χωρίσετε …..»

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

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

Όπως είπα και άλλη φορά το 2011 θα μείνει χαραγμένο στη μνήμη όλων μας με τις επαναστατικές αλλαγές στο Gnome, Ubuntu, Linux 3.0, Android, Meego, εξάπλωση των smartphone/tablets, την εμφάνισή των διαδικτυο-υπολογιστών (chromebooks)…. το Linux απο το μονοπώλιο στους διακομιστές και στα κρίσιμου σκοπού υπολογιστικά “τέρατα” συστήματα θα εξαπλωθεί σε κάθε πτυχή της τεχνολογικής ζωής μας.

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

Τι είναι η διανομή

Η παρακάτω εικόνα είναι αυτό που ονομάζουμε διανομή Linux και μπερδεύει αρκετό κόσμο που προσπαθεί να καταλάβει τι είναι το Linux.

distribution-arch

Το σύνολο όλων των παραπάνω στοιχείων ονομάζουμε “διανομή Linux”, δίνοντάς του και ένα όνομα όπως OpenSuse, Ubuntu, Fedora και λοιπά. Γιατί όμως έχουμε διαφορετικά ονόματα για κάτι που απαρτίζεται από τα ίδια βασικά στοιχεία ;

Πολύ απλά γιατί όλα αυτά τα στοιχεία δεν “κατασκευάζονται” από έναν οργανισμό/εταιρεία αλλά απο πολλές και ανεξάρτητες ομάδες. Για να δέσει το κάθε στοιχείο μεταξύ τους, να πακεταριστεί και να μετατραπεί σε εκτελέσιμο στοιχείο από τον υπολογιστή, θα χρειαστούν κάποια εργαλεία:

  • Εργαλεία GNU
  • Εργαλεία Πακεταρίσματος

Τα εργαλεία GNU είναι εργαλεία προγραμματισμού που χρησιμοποιείται για την ανάπτυξη εφαρμογών και λειτουργικών συστημάτων. Είναι όλα τα εργαλεία που χρησιμοποιούνται από μηχανικούς για να μετατρέψουν κάθε πρόγραμμα και κάθε κομμάτι της παραπάνω εικόνας σε εκτελέσιμο στοιχείο κάτι δηλαδή που μπορεί να τρέξει ο υπολογιστής μας.

Το πακετάρισμα μπορεί να γίνει με διάφορους τρόπους. Οι 3 δημοφιλέστερες μέθοδοι είναι οι DEB (Debian Software Package), RPM (Red Hat Package Manager) SRC (Source Code Based)

Αυτοί λοιπόν που θα μαζέψου όλα τα στοιχεία και θα τα “πακετάρουν” ως ενιαίο σώμα δηλαδή διανομή, θα του δώσουν και ένα όνομα. Μερικά παραδείγματα διανομών ανάλογα με την μέθοδο πακεταρίσματος:

DEB:

  • Debian
  • Ubuntu

RPM:

  • OpenSuse
  • Fedora

SRC:

  • Gentoo
  • Slackware

Τι διαφορές έχουν οι διανομές ;

Αρκετή ώρα τώρα κοιτάω έξω από το παράθυρο του σπιτιού μου… γιατί δυσκολεύομαι να απαντήσω αυτή την ερώτηση κάθε φορά που με ρωτάνε. Ας τα πάρουμε ένα-ένα από χαμηλά προς τα επάνω στα ορατά από τον χρήστη επίπεδα.

Πυρήνας Linux

Linux-kernel-300x196

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

Τερματικό Περιβάλλον Εντολών

xterm-300x212

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

Μηχανή Γραφικών

unix_xwindow

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

Διαχειριστής παραθύρων

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

Μερικοί δημοφιλείς διαχειριστές παραθύρων ανάλογα με το γραφικό περιβάλλον τους είναι :

  • Kwin για το KDE
  • Metacity για το Gnome
  • Metacity και Kwin για το Unity 2D
  • Compiz για το Unity 3D

Γραφικό περιβάλλον

Εδώ κάθε διανομή επιλέγει συνήθως μια από όλες τις διαθέσιμες και παρουσιάζει στο κοινό την ολοκληρωμένη μορφή της διανομής. Όμως, αυτό δεν σημαίνει οτι δεν επιτρέπει την εγκατάσταση άλλου γραφικού περιβάλλοντος. Είναι ίδιες και διαθέσιμες για όλες τις διανομές με προσωρινή εξαίρεση το Unity που υπάρχει πιθανότητα εκτός από το Ubuntu να είναι διαθέσιμο και για το OpenSuse. Τα υπόλοιπα μπορούν να εγκατασταθούν στο υπάρχον λειτουργικό σύστημα/διανομή του τελικού χρήστη με μερικά κλικ από την Προσθαφαίρεση Λογισμικού της διανομής.

Τα πιο συνηθισμένα γραφικά περιβάλλοντα είναι :

  • Gnome
  • KDE
  • Unity
  • XFCE
  • LXDE

Εν τέλει όλες οι διανομές είναι απλά διαφορετικές συνθέσεις με διαφορετικό όνομα των ίδιων στοιχείων που απαρτίζουν μια διανομή. Τα στοιχεία που “φαίνονται” διαφορετικά στο μάτι του τελικού χρήστη είναι το γραφικό περιβάλλον και ο τρόπος που κάνει εγκατάσταση τα προγράμματά του (deb, rpm, src).

Για παράδειγμα:

  • Ubuntu : Unity, Kubuntu(KDE), Lubuntu(LXDE) Xubuntu(XFCE) με διαχειριστή εγκατάστασης προγραμμάτων “APT” (Software Center)
  • Fedora : Gnome, KDE, LXDE Xfce με διαχειριστή εγκατάστασης προγραμμάτων “YUM” (Add/Remove Software)
  • OpenSuse : Gnome, KDE, LXDE Xfce με διαχειριστή εγκατάστασης προγραμμάτων “Zypper” (YaST Software Management)

Τι είναι οι κοινότητες

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

Όπως συμβαίνει σε άλλου τύπου κοινότητες πολλές φορές δημιουργούνται προστριβές μεταξύ των ατόμων της ίδιας κοινότητας αλλά και των άλλων κοινοτήτων. Επειδή προσωπικά, όταν ξεκίνησα να ασχολούμαι με το Linux, ξεκίνησα σχεδόν μαζί με τον Κωνσταντίνο, στο παλιό Linux Format Forum. H ιδιαιτερότητα αυτού του forum ήταν οτι υπήρχαν υποκατηγορίες για όλες τις διανομές με αποτέλεσμα να υπάρχει μια ομόνοια γύρω από μια κοινή βάση που είναι το Linux. Εκεί γράφαμε και συζητούσαμε χρήστες που ο καθένας είχε άλλη διανομή από τους άλλους. Ο καθένας βοηθούσε όσο μπορούσε άσχετα με την διανομή που χρησιμοποιεί. Για παράδειγμα κάποιος έμπειρος χρήστης του OpenSuse βοηθούσε κάποιον αρχάριο χρήστη που είχε πρόβλημα με κάποια συσκευή στο Ubuntu ή το αντίστροφο. Άλλος βοηθούσε κάποιον που είχε Mandriva ενώ ο ίδιος χρησιμοποιούσε Gentoo. Αυτή η ιδιαιτερότητα της κοινότητας , όπου προσωπικά έκανα τα πρώτα μου βήματα, έπλασε στην αντίληψή μου τη ρήση

Ένας για όλους και όλοι για έναν, άσχετα με την διανομή που αρέσει στον καθένα.

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

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

Επίλογος

Τα προβλήματα συνήθως ξεκινάνε όταν άτομα-ομάδες-κοινότητες προσπαθούν να επιβάλλουν την αντίληψη που έχουν για το φιλοσοφικό/ιδεολογικό περιτύλιγμα του linux και των διανομών. Λόγο όμως της διαφορετικότητας στην αντίληψη που έχουμε ο καθένας, είναι πολύ εύκολο να προκύψουν συγκρούσεις ιδεών. Πολλές φορές μάλιστα ξεχνάμε το γεγονός ότι από τα 100 άτομα-ομάδες που χρησιμοποιούν κάποια διανομή Linux, οι 90 το χρησιμοποιούν γιατί απλά “δουλεύει” και δεν τους νοιάζει τίποτα άλλο. Αυτό σε γενικό σύνολο “ως εικόνα” δημιουργεί πολλές παρεξηγήσεις. (δείτε σχετικά : Γιατί οι χρήστες Linux είναι παρεξηγημένοι )

Θα κλείσω με την απάντηση που είχε δώσει ο δημιουργός του Linux, Linus Torvalds όταν ρωτήθηκε για το ποια είναι η φιλοσοφία/ιδεολογία που αντιπροσωπεύει το Linux:

Δεν νομίζω ότι υπάρχει μία ιδεολογία, και δεν νομίζω ότι πρέπει να υπάρχει μία ιδεολογία. Και το σημαντικό στοιχείο αυτής είναι το «ένα» – νομίζω ότι μπορεί να υπάρξουν πολλές ιδεολογίες. Εγώ το κάνω για τους δικούς τους λόγους μου, άλλοι άνθρωποι το κάνουν για τους δικούς τους λόγους. Οι άνθρωποι είναι ενδιαφέροντα και περίπλοκα όντα που κάνουν πράγματα για σύνθετους λόγους. Και γι ‘αυτό δεν νομίζω ότι πρέπει να υπάρξει «μία ιδεολογία». Νομίζω ότι είναι πολύ αναζωογονητικό να βλέπεις ανθρώπους να εργάζονται για το Linux, επειδή πιστεύουν ότι μπορούν να κάνουν τον κόσμο ένα καλύτερο μέρος με τη διάδοση της τεχνολογίας και την διάθεσή της σε ανθρώπους ευρύτερα – και πιστεύουν ότι ο ανοιχτός κώδικας είναι ένας καλός τρόπος να το κάνουμε αυτό. Αυτό είναι ΜΙΑ Ιδεολογία και νομίζω ότι είναι εξαίρετη ιδεολογία.

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

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

 

Αν διαβάσατε το παραπάνω άρθρο (ελπίζω :P) δείτε και τα παρακάτω για να έχετε μια ολοκληρωμένη εικόνα:

  1. Σύντομο λεξικό ορολογίας για νέους χρήστες στο Linux
  2. Η μαγειρική και ο ανοιχτός κώδικας
  3. Τι είναι το Linux και γιατί να ασχοληθώ με αυτό
  4. Γιατί οι χρήστες Linux είναι παρεξηγημένοι
  5. Γιατί το μοντέλο ανάπτυξης της Apple είναι καταδικασμένο να αποτύχει

9 thoughts on “Τι είναι διανομές, ποιές οι διαφορές τους και τι είναι κοινότητες

  1. Μπράβο Salih! Εξαιρετικά καλογραμμένο, κατατοπιστικό και εύστοχο άρθρο. Και ο επίλογος, το κερασάκι στην τούρτα. Καλή συνέχεια!!

  2. Μπράβο φίλε. Έχω μιαν ένσταση μόνο.
    Παθολογίες πότε θα περάσουμε😉

  3. "Από την άλλη κατσουφιάζω και με ενοχλεί το γεγονός οτι υποβαθμίζει τις «εργατοώρες» που έχουν αφιερώσει εθελοντικά χιλιάδες αν όχι εκατομμύρια ανά τον κόσμο, για να βελτιώσουν την διανομή τους ." όπως δλδ υποβαθμιζετε τις εργατοωρες των χιλιαδων υπαλληλων της Microsoft…😛

    με τις διανομες τυπου iQunix τι γινεται? αφου εχει ολα τα σημεια της εικονας κοινα με μια αλλη διανομη (στην προκειμενη περιπτωση Ubuntu) 

    • Έχει διαβάσει/ακούσει για κάποια επίσημη διανομή να κατηγορεί *επίσημα* την Microsoft;

        • Και αν οι χρήστες Windows βρίζουν τους Mac και οι Mac τους Windows κ.ο.κ. Δεν λέει αυτό κάτι. Αν εγώ χρησιμοποιώ Arch Linux και αρχίσω να βρίζω μία άλλη διανομή σημαίνει πως όλοι Arch-αδες  σκέφτονται σαν εμένα; Όχι. 

Απορίες, παρατηρήσεις, ιδέες... Ελεύθερα ! Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s