Το Ελεύθερο λογισμικό στην εποχή των App Store

scale14xΣτο φετινό SCALE14x, o Mark Shuttleworth, ιδρυτής της Canonical και του Ubuntu, μίλησε για την σημασία του ελεύθερου λογισμικού στην εποχή των App Store αλλά και των έξυπνων συσκευών και των υποδομών Cloud που τα διαχειρίζονται.

Λίγα λόγια για το SCALE14x

Το Southern California Linux Expo (SCALE14x το 14 σε σειρά) είναι ένα ετήσιο συνέδριο με κεντρικό θέμα το Linux, το ανοικτό και ελεύθερο λογισμικό και το οποίο πραγματοποιείται στο Λος Άντζελες της Καλιφόρνια, από το 2002. Παρά το γεγονός ότι φέρει Linux στο όνομά του, το SCALE14x καλύπτει όλα τα λειτουργικά συστήματα και λογισμικά.

Σχεδόν κάθε «έξυπνη συσκευή» σήμερα τρέχει Linux, αλλά αν συνδεθείτε σε αυτά (π.χ. σε ένα Android λειτουργικό σύστημα) μπορεί να βρείτε τον εαυτό σας διαφορετικό κόσμο, όπου τίποτα δεν λειτουργεί με τον τρόπο που έχετε συνηθίσει όπως στον Linux server σας ή τον υπολογιστή γραφείου. Τρέχουν και αυτά Linux, αλλά όχι όπως το ξέρετε. Είναι έτσι επειδή οι συσκευές χρειάζονται μια εντελώς διαφορετική προσέγγιση για το λογισμικό και τη διαχείριση τους σε μεγάλη κλίμακα χρηστών. Το σημαντικό είναι ότι μπορούμε ολόκληρη η κοινότητα του ελεύθερου λογισμικού να συμμετάσχει σε αυτό το επόμενο κύμα της εφεύρεσης και της επανάστασης.

Σύνοψη της ομιλίας

Επειδή η ομιλία στο SCALE14x είναι περίπου 35 λεπτά, έκανα μια σύνοψη απο τα όσα λέχθηκαν για όποιον δεν έχει χρόνο να δει όλη την ομιλία. Να σημειώσω όμως ότι τα παρακάτω, τα παραθέτω με δικά μου λόγια οπότε για περισσότερες λεπτομέρειες καλύτερα να δείτε την ομιλία.

Στην ομιλία του λοιπόν στο SCALE14x, ο Mark Shuttleworth μίλησε για 3 θέματα:

  • Τις νέου τύπου εφαρμογές snappy
  • Την σημασία του ελεύθερου λογισμικού
  • To Juju ως App Store εφαρμογών Cloud

scale14xΣτην αρχή της ομιλίας αναφέρθηκε στον παραδοσιακό τρόπο με τον οποίο λαμβάνουμε το λογισμικό μας στους υπολογιστές μας και πως αυτή η μέθοδος, σε μια εποχή που τα smartphones κυριαρχούν την αγορά θα πρέπει να αλλάξει και να προσαρμοστεί στα νέα δεδομένα. Για παράδειγμα όταν κάνουνε apt-get για λήψη ενημερώσεων η εγκατάσταση εφαρμογών, αυτά τα πακέτα έχουν πλήρη δικαιώματα εγγραφής στο λειτουργικό σύστημα. Πλέον όμως, όλοι οι κατασκευαστές λειτουργικών συστημάτων για υπολογιστές, κινητά κλπ, περνάνε σε ένα ταχύτερο και ασφαλέστερο μοντέλο ανάπτυξης, δημιουργίας πακέτων λογισμικών και αποστολής τους στους χρήστες. Αυτό το μοντέλο περιλαμβάνει απομόνωση του λειτουργικού συστήματος σε 3 ανεξάρτητα μη επηρεαζόμενα τμήματα:

  • Πυρήνας και drivers (ψηφιακά υπογεγραμμένος και μη εγγράψιμος)
  • Λειτουργικό σύστημα (βιβλιοθήκες και υπηρεσίες με απομονωμένο εγγράψιμο μέρος για αποθήκευση ρυθμίσεων)
  • Λογισμικά (αυτά που εγκαθιστά ο χρήστης και είναι απομονωμένα μεταξύ τους)

Τώρα θα μου πείτε τι μας είπε ο ποιητής… και με το δίκιο σας. Με λίγα λόγια λοιπόν, ο στόχος του Mark Shuttleworth, είναι κάποια στιγμή όπως ανέφερε στο SCALE14x (στο μέλλον… έχουμε πολύ δρόμο ακόμα) το Ubuntu να περάσει σε αυτό το μοντέλο όπου το λογισμικό θα έρχεται ως ενιαίο αρχείο (και όχι διάσπαρτα πακέτα και εξαρτήσεις) και θα γίνεται η εγκατάστασή του, με τη εκτέλεσή του να γίνεται σε απομονωμένο περιβάλλον που δεν μπορεί να επηρεάσει ούτε την σταθερότητα του υπόλοιπου λειτουργικού αλλά ούτε και την ασφάλεια του. Σε ένα παράδειγμα που έδωσε, είπε ότι αν και θεωρεί το Google Chrome ως εξαιρετικό web browser, παρόλα αυτά επειδή έχει τόσο μεγάλη διάδοση το θεωρεί ως μια πλατφόρμα υποψήφια για επιθέσεις σε υπολογιστές των χρηστών. Με την νέα μορφή πακέτων snappy το Google Chrome θα μπορεί να κατεβαίνει ως πακέτο, να γίνεται εγκατάσταση και να λειτουργεί σε απομονωμένο περιβάλλον με συγκεκριμένα δικαιώματα επί του λογαριασμού του χρήστη και των συσκευών του.

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

Το snappy θα δημιουργείται από την τελευταία έκδοση του κώδικα του προγραμματιστή και δεν επηρεάζεται από την έκδοση του λειτουργικού του χρήστη. Όπως αναφέρθηκε στο θέμα των PPA, είπε πως με αυτά προσπαθήσαμε να λύσουμε το πρόβλημα των παλιών εκδόσεων λογισμικού που διαθέτει μια έκδοση Ubuntu όταν αυτή κυκλοφορήσει. Προσπαθήσαμε είπε με τα PPA να λύσουμε το πρόβλημα αλλά ουσιαστικά παρουσιάσαμε ένα νέο πρόβλημα αφού εμπιστευόμαστε με root δικαιώματα στο σύστημά μας τον διαχειριστή PPA με τα πακέτα του.
Δυστυχώς με τα PPA, είναι συχνό το φαινόμενο να αναβαθμίζεται ένα κομμάτι του λειτουργικού συστήματος (π.χ. μια βιβλιοθήκη) και να επηρεάζονται αρνητικά κάποια άλλα λογισμικά. Με το snappy, λόγο της απομονωτικής ιδιότητάς του αυτά θα λυθούν και θα βοηθούν, όπως είπε, τις κοινότητες σαν το Kubuntu να έχουν πάντα τις τελευταίες εκδόσεις των λογισμικών τους χωρίς να ανησυχούν για το ποιος θα τα πακετάρει όλα αυτά και την κοινότητα.

Μέχρι να γίνει όμως αυτή η αλλαγή, θα πρέπει οι δύο αυτοί κόσμοι (apt-get και snappy) να συνυπάρξουν για καιρό μαζί. Στο demo του στο SCALE14 o Shuttleworth, έκανε παρουσίασή το πως συνυπάρχουν αυτά κάνοντας εγκατάσταση πακέτα με apt-get αλλά και με snappy.

Περνάμε σε μια εποχή που το ελεύθερο λογισμικό έχει στον έλεγχό της όλες τις έξυπνες συσκευές, τα αυτοκίνητα, την ρομποτική αλλά και τις συσκευές σε ένα σπίτι. Σε μια νέα εποχή που δημιουργεί νέες ευθύνες στους προγραμματιστές.  Την ευθύνη για γρήγορη ανταπόκριση σε μια ταχέως εξελισσόμενη τεχνολογία, την ασφάλεια και την ευχρηστία. Ιδιαίτερα δε στην άλλη πλευρά του νομίστματος που είναι είναι το «μεγάλο λογισμικό». Λογισμικά και υποδομές όπως το Openstack, docker, mesos, kubernetes, tensflow κλπ. που εκτελούνται σε τεράστια κλίμακα. Μερικά απο αυτά είναι τόσο πολύπλοκα που την στιγμή που κάποιος έχει καταφέρει να το κατανοήσει π.χ. το Openstack, ήδη αυτό έχει αλλάξει δύο φορές στις εκδόσεις του και πολλά από αυτά που κατανόησε θέλουν αναθεώρηση. Με το Juju, όπως είπε, προσπαθήσαμε να δημιουργήσουμε ένα App Store διαχειριστικών εφαρμογών ώστε οι διαχειριστές αυτών των υποδομών να μπορούν να μοιράζονται τα αυτοματοποιημένα scripts τους (charms όπως ονομάζονται στο juju) και να μπορεί ο καθένας να στήνει με την βοήθεια του LXD, 50 εικονικές μηχανές στο laptop του προσομοιώνοντας μια cloud υποδομή.

Τέλος, η ομιλία του στο SCALE14x έκλεισε με ερωτοαπαντήσεις σχετικά με το LXD και το μέλλον των containers αλλά και της ανάπτυξης κώδικα. Σε αυτά απάντησε πως, είναι στα σχέδια των κατασκευαστών CPU/Μητρικής να ενσωματώσουν στο hardware τους κάποιου τύπου σύστημα εικονικών μηχανών όπως το LXD, για να μπορεί π.χ. ένας χρήστης Windows να χρησιμοποιήσει εφαρμογές Linux χωρίς κάποιο πρόσθετο λογισμικό. Ενώ για την ανάπτυξη κώδικα στο μέλλον ανέφερε ότι πιστεύει πως στο μέλλον οι μηχανές θα γράφουν των απαραίτητο κώδικα για εμάς και όχι τα παιδιά μας…. scale14x-mark-shuttleworth

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

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

Λογότυπο WordPress.com

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

Φωτογραφία Twitter

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

Φωτογραφία Facebook

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

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

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

Σύνδεση με %s