Top Chef, Master Chef, η μαγειρική και το ανοιχτό λογισμικό

Τι σχέση έχει το Top Chef και το Master Chef ή, η μαγειρική με το ανοιχτό λογισμικό;

Όπως όλες οι συζητήσεις με την παρέα που ξεκινάνε από κάπου αλλά δενLinux vs Windows είναι σίγουρο πώς και πού θα φτάσουν έτσι είναι άπειρες οι φορές που η κουβέντα μπορεί να καταλήξει σε θέματα που έχουν να κάνουν με την τεχνολογία και τους υπολογιστές. Εκεί είναι που αρχίζουν να με βομβαρδίζουν με ερωτήσεις. Το αποκορύφωμα των ερωτήσεων εμφανίζεται όταν η συζήτηση καταλήγει σε θέματα που περιλαμβάνουν τα τρία γνωστότερα λειτουργικά συστήματα των υπολογιστών Linux, Windows και Mac OS.
Οι περισσότεροι μπερδεύονται ή δυσκολεύονται με διάφορες έννοιες όπως: λειτουργικό σύστημα, κώδικας, λογισμικό, ελεύθερο και ανοιχτό λογισμικό, κλειστό λογισμικό, πυρήνας Linux κ.λ.π. Παρατήρησα λοιπόν ότι αν δεν αποσαφηνιστούν με απλό τρόπο όλες η παραπάνω έννοιες-κλειδιά, η συζήτηση καταλήγει σε αδιέξοδο. Το αξιοσημείωτο είναι ότι αν κατανοήσουν τι είναι “κώδικας” και τι “εκτελέσιμα” τότε όλα τα υπόλοιπα σιγά σιγά αρχίζουν να δένουν !

Εδώ μπαίνει στο παιχνίδι η μαγειρική…

Εκμεταλλευόμενος την μόδα με τις εκπομπές μαγειρικής, τους περιγράφω το εξής παράδειγμα:
Φανταστείτε ότι τα προγράμματα που χρησιμοποιείτε στον υπολογιστή σας είναι το κάθε ένα και ένα διαφορετικό πιάτο με φαγητό. Για να φτιαχτεί αυτό το φαγητό κάποιος έκατσε, σκέφτηκε τι υλικά θα χρησιμοποιήσει και τελικά έγραψε την συνταγή που περιγράφει τον τρόπο παρασκευής αυτού του φαγητού. Αυτή η συνταγή στη γλώσσα των υπολογιστών ονομάζεται “κώδικας” και το αποτέλεσμα που παράγει όταν το παρασκευάζουμε είναι το φαγητό ή στη γλώσσα των υπολογιστών ονομάζεται “εκτελέσιμο”, “λογισμικό” ή “πρόγραμμα”.
Αν τώρα σας καλούσα σπίτι μου και σας ετοίμαζα ένα φαγητό που δεν είχατε δοκιμάσει πότε, δεν θα μου ζητούσατε και την συνταγή για να εντυπωσιάσετε το αγόρι/κορίτσι σας ? Αν σας την δώσω τότε μιλάμε για μια συνταγή ελεύθερη και ανοιχτή σε όλους αυτούς που θέλουν να δούνε τα υλικά και τον τρόπο παρασκευής αυτού του φαγητού. Το αντίστοιχο στη γλώσσα τις πληροφορικής ονομάζεται ελεύθερο και ανοιχτό λογισμικό. Το αντίθετο, δηλαδή αν δεν σας δώσω τη συνταγή και την κρατάω κρυφή τότε μιλάμε για ιδιόκτητη και κλειστή συνταγή. Αντίστοιχα στον κόσμο των υπολογιστών αυτό ονομάζεται ιδιόκτητο και κλειστό λογισμικό.

Linux Tux as a chefΤώρα, ας μεγεθύνουμε το παράδειγμα. Φανταστείτε ότι έχετε μπροστά σας εκατοντάδες διαφορετικά πιάτα και εκατοντάδες ανθρώπους να ετοιμάζουν και να σερβίρουν διάφορα πιάτα υπό την επίβλεψη ενός διευθυντή. Αυτό που έχετε τώρα είναι ουσιαστικά ένα πολυτελές restaurant. Αν το μεταφέρουμε στο κόσμο των υπολογιστών τότε αυτό το ονομάζουμε λειτουργικό σύστημα. Εδώ τα διάφορα πιάτα με φαγητά είναι τα διάφορα λογισμικά ή προγράμματα που περιέχονται στο λειτουργικό σύστημα, οι σερβιτόροι θα λέγαμε ότι είναι οι υπηρεσίες στο παρασκήνιο που σας επιτρέπουν να εκτελείτε αυτά τα προγράμματα που απεικονίζονται στην οθόνη σας ενώ ο επιβλέπων διευθυντής είναι ο πυρήνας του λειτουργικού. Αν στο restaurant σας δίνανε το δικαίωμα να ζητάτε με το κάθε πιάτο που παραγγέλνετε να σας φέρνουν και τη συνταγή του τότε το αντίστοιχό στο κόσμο των υπολογιστών θα ήταν αν τα πρόγραμμα που έχετε στον υπολογιστή σας να συνοδεύονται και από τον κώδικά του. Αυτό όμως είναι δυνατό μόνο στον κόσμο του ανοιχτού λογισμικού και στο λειτουργικό σύστημα που ονομάζεται Linux. Για αυτό και έχουμε τόσες διαφορετικές κουζίνες και restaurant (κινέζικό, γαλλικό, ιταλικό, ελληνικό κλπ) διότι όλες οι συνταγές στο κόσμο είναι διαθέσιμες και κάθε χώρα ή chef διαμόρφωσαν τα δικά τους φαγητά. Αυτός είναι και ο λόγος που έχουμε τόσες διαφορετικές διανομές Linux (ubuntu, debian, suse, fedora, gentoo κλπ) διότι ο κάθε άνθρωπος διαμόρφωσε τη δικιά του διανομή για κάθε ανάγκη και γούστο.

Καταλαβαίνετε τώρα ότι κάποια πράγματα όλοι θα θέλουμε να είναι προσβάσιμα από όλους. Όπως και με τις συνταγές έτσι και με το λειτουργικό, όσο περισσότεροι θα βλέπουν τον κώδικα τόσο πιοClosed source is like poison ασφαλές και καλύτερο αποτέλεσμα θα είχαμε. Σε αντίθεση με το Windows και το Mac, μόνο στο Linux μπορούν εκατοντάδες χιλιάδες ανεξάρτητοι προγραμματιστές να δούνε τον κώδικά του και να τον βελτιώνουν για την ασφάλεια, την ποιότητα του λειτουργικού συστήματος και την ανεξαρτησία μας από τις μονοπωλιακές εταιρίες.

8 thoughts on “Top Chef, Master Chef, η μαγειρική και το ανοιχτό λογισμικό

  1. Εδώ ταιριάζει η παροιμία «Στο σπίτι του κρεμασμένου δέν μιλάνε για σχοινί» ή το «φάτε μάτια ψάρια»

    Ξέχασες να αναφέρεις οτι υπάρχουν:
    1) «φαγητά» που «παχαίνουν»,
    2) που «δέν παχαίνουν»,
    3) οι «δίαιτες»,
    4) η » νευρική ανορεξία» (π.χ. αρρώστια….που ταιριάζει σε linuxαδες…)
    5) τα «SIMECO»,
    6) αποτυχημένες προσπάθειες για να παραχθεί μια νέα συνταγή…(αλήθεια ποιός πληρώνει τα «υλικά» για αυτές τις προσπάθειες?),
    7) τα κακά, μέτρια και καλά «εστιατόρια»-στα τελευταία μάλιστα μια πετυχημένη συνταγή την καλο-πληρώνεις και αυτό το ξέρεις,
    8) την «τροφική δηλητηρίαση» (ειδικά όταν δέν την περιμένεις….),
    9) κάποιοι που γράφουν ανοιχτό κώδικα και πληρώνονται απο τον πατέρα τους κάθε πρώτη του μηνός,
    10) και τέλος ΚΑΠΟΙΟΙ ΠΟΥ ΑΓΟΡΑΖΟΥΝ ΕΝΑ ΒΙΒΛΙΟ ΣΥΝΤΑΓΩΝ, ΜΑΓΕΙΡΕΥΟΥΝ ΚΑΤΙ ΝΑ ΧΟΥΝ ΝΑ ΛΕΝΕ ΚΑΙ ΞΑΦΝΙΚΑ ΤΙΜΟΥΝ ΜΟΝΟ ΤΙΣ ΣΥΝΤΑΓΕΣ ΠΟΥ ΚΑΤΑΦΕΡΑΝ ΝΑ ΕΚΤΕΛΕΣΟΥΝ ΕΠΙΤΥΧΩΣ….(αυτό πάει στους mirosoftαδες)

    Να αναφερόμαστε σε όλα έστω και αν δέν τα χρησιμοποιούμε κυριολεκτικώς….

    Με τιμή,
    Ένας «πεινασμένος»

    • 🙂 Γιάννη, είναι αναμενόμενο ότι ως προγραμματιστής που είσαι, το παράδειγμα δεν θα το έβρισκες χαριτωμένο😛. Αλλά στους μη προγραμματιστές και μη γνώστες του αντικειμένου, εμπειρικά το λέω, γίνεται κατανοητό…😉

  2. Εδώ ταιριάζει η παροιμία "Στο σπίτι του κρεμασμένου δέν μιλάνε για σχοινί" ή το "φάτε μάτια ψάρια"

    Ξέχασες να αναφέρεις οτι υπάρχουν:
    1) "φαγητά" που "παχαίνουν",
    2) που "δέν παχαίνουν",
    3) οι "δίαιτες",
    4) η " νευρική ανορεξία" (π.χ. αρρώστια….που ταιριάζει σε linuxαδες…)
    5) τα "SIMECO",
    6) αποτυχημένες προσπάθειες για να παραχθεί μια νέα συνταγή…(αλήθεια ποιός πληρώνει τα "υλικά" για αυτές τις προσπάθειες?),
    7) τα κακά, μέτρια και καλά "εστιατόρια"-στα τελευταία μάλιστα μια πετυχημένη συνταγή την καλο-πληρώνεις και αυτό το ξέρεις,
    8) την "τροφική δηλητηρίαση" (ειδικά όταν δέν την περιμένεις….),
    9) κάποιοι που γράφουν ανοιχτό κώδικα και πληρώνονται απο τον πατέρα τους κάθε πρώτη του μηνός,
    10) και τέλος ΚΑΠΟΙΟΙ ΠΟΥ ΑΓΟΡΑΖΟΥΝ ΕΝΑ ΒΙΒΛΙΟ ΣΥΝΤΑΓΩΝ, ΜΑΓΕΙΡΕΥΟΥΝ ΚΑΤΙ ΝΑ ΧΟΥΝ ΝΑ ΛΕΝΕ ΚΑΙ ΞΑΦΝΙΚΑ ΤΙΜΟΥΝ ΜΟΝΟ ΤΙΣ ΣΥΝΤΑΓΕΣ ΠΟΥ ΚΑΤΑΦΕΡΑΝ ΝΑ ΕΚΤΕΛΕΣΟΥΝ ΕΠΙΤΥΧΩΣ….(αυτό πάει στους mirosoftαδες)

    Να αναφερόμαστε σε όλα έστω και αν δέν τα χρησιμοποιούμε κυριολεκτικώς….

    Με τιμή,
    Ένας "πεινασμένος"

    • 🙂 Γιάννη, είναι αναμενόμενο ότι ως προγραμματιστής που είσαι, το παράδειγμα δεν θα το έβρισκες χαριτωμένο😛. Αλλά στους μη προγραμματιστές και μη γνώστες του αντικειμένου, εμπειρικά το λέω, γίνεται κατανοητό…😉

  3. Το ζήτημα είναι να μήν θεωρήσει κάποιος λανθασμένα οτι:
    καλό λογισμικο=ανοιχτό λογισμικο.

    Αυτό πρέπει να ξεκαθαρίσει…. ανεξάρτητα απο την ελαφρότητα μιας παρομοίωσης.

    Με τιμή,
    I.M.

    • Συμφωνώ Γιάννη, εννοείται ότι ανοιχτό λογισμικό δεν σημαίνει και καλό λογισμικό, όπως και κλειστό λογισμικό δεν σημαίνει και καλό λογισμικό. Υπάρχουν αμέτρητοι παράγοντες που το καθορίζουν αυτό. Όμως το αν είναι κάποιο λογισμικό καλό μπορείς σίγουρα να το δεις σε ανοιχτού κώδικα λογισμικό. Εκεί αν είναι άχρηστος ο προγραμματιστής θα το δουν όλοι και θα τον κρίνουν όταν θα πει στην κοινότητα : «Έχω φτιάξει ένα πρόγραμμα που κάνει αυτό και τούτο, ορίστε δείτε τον κώδικα «…. Εκεί ή θα ξεφτιλιστεί αν είναι άχρηστος ή θα δοξαστεί για τις προγραμματιστικές, περιγραφικές και αλγοριθμικές ικανότητές του.
      Στο κλειστό λογισμικό αυτό είναι αδύνατο… λόγο φύσης. Εκεί μπορούν να κρύψουν οποιαδήποτε ανικανότητα έχουν. Το κρίμα είναι ότι αν είναι ικανότατοι προγραμματιστές αυτό δεν μπορεί να φανεί επειδή είναι κλειστός ο κώδικας…
      Μεγάλη κουβέντα….
      Με το θέμα έχει ασχοληθεί ο Καθ. Diomidis D. Spinellis : http://www.spinellis.gr/index.html.var και συγκεκριμένα είχα παραβρεθεί στην παρουσίασή του με θέμα Code Quality in Windows, Linux, BSD/Unix, Solaris and Mac OS Kernels.

  4. Το ζήτημα είναι να μήν θεωρήσει κάποιος λανθασμένα οτι:
    καλό λογισμικο=ανοιχτό λογισμικο.

    Αυτό πρέπει να ξεκαθαρίσει…. ανεξάρτητα απο την ελαφρότητα μιας παρομοίωσης.

    Με τιμή,
    I.M.

    • Συμφωνώ Γιάννη, εννοείται ότι ανοιχτό λογισμικό δεν σημαίνει και καλό λογισμικό, όπως και κλειστό λογισμικό δεν σημαίνει και καλό λογισμικό. Υπάρχουν αμέτρητοι παράγοντες που το καθορίζουν αυτό. Όμως το αν είναι κάποιο λογισμικό καλό μπορείς σίγουρα να το δεις σε ανοιχτού κώδικα λογισμικό. Εκεί αν είναι άχρηστος ο προγραμματιστής θα το δουν όλοι και θα τον κρίνουν όταν θα πει στην κοινότητα : "Έχω φτιάξει ένα πρόγραμμα που κάνει αυτό και τούτο, ορίστε δείτε τον κώδικα "…. Εκεί ή θα ξεφτιλιστεί αν είναι άχρηστος ή θα δοξαστεί για τις προγραμματιστικές, περιγραφικές και αλγοριθμικές ικανότητές του.
      Στο κλειστό λογισμικό αυτό είναι αδύνατο… λόγο φύσης. Εκεί μπορούν να κρύψουν οποιαδήποτε ανικανότητα έχουν. Το κρίμα είναι ότι αν είναι ικανότατοι προγραμματιστές αυτό δεν μπορεί να φανεί επειδή είναι κλειστός ο κώδικας…
      Μεγάλη κουβέντα….
      Με το θέμα έχει ασχοληθεί ο Καθ. Diomidis D. Spinellis : http://www.spinellis.gr/index.html.var και συγκεκριμένα είχα παραβρεθεί στην παρουσίασή του με θέμα Code Quality in Windows, Linux, BSD/Unix, Solaris and Mac OS Kernels.

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

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

Λογότυπο WordPress.com

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

Φωτογραφία Twitter

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

Φωτογραφία Facebook

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

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

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

Σύνδεση με %s