Αρχική σελίδα » πως να » Τα μειονεκτήματα του λογισμικού ανοιχτού κώδικα

    Τα μειονεκτήματα του λογισμικού ανοιχτού κώδικα

    Το CyanogenMod είναι νεκρό, σκοτώθηκε από την μητρική εταιρεία Cyanogen. Η κοινότητα προσπαθεί να πάρει τα κομμάτια και να δημιουργήσει ένα νέο έργο, το LineageOS, με βάση τον κώδικα. Αλλά είναι μια υπενθύμιση ότι το λογισμικό ανοιχτού κώδικα δεν είναι όλος ο ήλιος, ουράνια τόξα και σταθερότητα: στην πραγματικότητα, μπορεί συχνά να είναι πολύ βρώμικο.

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

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

    Η ανοιχτή πηγή συχνά υποφέρει από καθυστερήσεις και έναν ρυθμό ανάπτυξης του παγετού

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

    Απλά εξετάστε τις προσπάθειες του Ubuntu να ξεκινήσει τον εξυπηρετητή Unity 8 desktop και Mir, επιτρέποντας το όραμά του για "σύγκλιση". Αυτή η νέα έκδοση της επιφάνειας εργασίας Linux υποτίθεται ότι ήταν σταθερή πριν από πολλά χρόνια, και εξακολουθεί να μην είναι. Το έργο έχει κινηθεί με έναν παγετώδη ρυθμό, τόσο πολύ ώστε η Canonical χτυπήθηκε στη διάτρηση από τη Microsoft, η οποία ανακοίνωσε το δικό της όραμα PC-powered-by-smartphone πριν από τα Windows 10 και παραδίδονται σε αυτό. Canonical εξακολουθεί να μην έχει παραδώσει το όραμα που έχει υποσχεθεί ακόμα. Ίσως να είναι σταθερό σε λίγα ακόμη χρόνια.

    Η Mozilla είχε επίσης κάποια δυσκολία κατά την ιεράρχηση προτεραιοτήτων. Δεν έχουν ακόμα παραδώσει λειτουργίες πολλαπλών διεργασιών και sandboxing στο Firefox. Αυτά είναι ζωτικής σημασίας για να διατηρήσετε ασφαλή το πρόγραμμα περιήγησης, να αποφύγετε την κατάρρευση ολόκληρου του προγράμματος περιήγησης και να χρησιμοποιήσετε καλύτερα CPU πολλαπλών διεργασιών. Όλα τα άλλα μεγάλα προγράμματα περιήγησης έχουν παραδώσει αυτές τις δυνατότητες, συμπεριλαμβανομένου του μισητού Internet Explorer. Η Mozilla δημιούργησε το έργο "Electrolysis" για να προσθέσει αυτά τα χαρακτηριστικά, αλλά το σταμάτησε το 2011 επειδή ήταν πολύ δύσκολο. Στη συνέχεια, το Mozilla έπρεπε να το ξεκινήσει ξανά το 2013. Το χαρακτηριστικό αυτό φαίνεται να φτάνει το 2017 - πράγμα που είναι πραγματικά πολύ αργά. Εν τω μεταξύ, το Mozilla σπαταλούσε χρόνο εργασίας στο Firefox OS, ένα αποτυχημένο λειτουργικό σύστημα smartphone.

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

    Το εσωτερικό δράμα ξεκινά με τα πιρούνια, τα πιρούνια και τα περισσότερα πιρούνια

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

    Για παράδειγμα, όταν το GNOME 3 ξεκίνησε και πολλοί χρήστες του GNOME 2 δεν ήταν ευχαριστημένοι, δεν υπήρχε άμεση προφανής πορεία. Οι προγραμματιστές χρειάστηκαν να διαγράψουν τον κώδικα GNOME σε άλλα έργα όπως το MATE και η κανέλα. Ένα περιβάλλον επιφάνειας εργασίας μετατράπηκε σε τρεις και οι αναπτυξιακοί πόροι είναι πιο διάσπαρτοι μεταξύ των έργων. Ως αποτέλεσμα, χρειάστηκε αρκετός χρόνος για την κοινότητα να προχωρήσει σε αυτά τα νέα έργα.

    Ομοίως, η κοινότητα του OpenOffice δεν ήταν ευχαριστημένη όταν η Oracle απέκτησε Sun. Η Oracle, έστω και για σύντομο χρονικό διάστημα, μετονομάστηκε σε ιδιόκτητη σουίτα γραφείου StarOffice, που δεν είναι ανοιχτού κώδικα, στο "Oracle Open Office". Η κοινότητα έπρεπε να δημιουργήσει ένα νέο διανομέα, το LibreOffice, με βάση τον κώδικα του OpenOffice. Έχει γίνει η de facto σουίτα γραφείου ανοικτού κώδικα για πολλούς ανθρώπους, αλλά άλλοι εξακολουθούν να χρησιμοποιούν το OpenOffice επειδή δεν γνωρίζουν το καλύτερο πιρούνι και το δράμα που τον περιβάλλει. Το OpenOffice έχει απλώς πολύ μεγάλη αναγνώριση ονόματος.

    Και, φυσικά, υπάρχει CyanogenMod. Η Cyanogen Inc έβγαλε απλώς το βύσμα στις online υπηρεσίες του CyanogenMod, κάτι που σημαίνει ότι προτιμούν να σκοτώσουν το δημοφιλέστερο Android ROM τρίτου κατασκευαστή παρά να το παραδώσουν στην κοινότητα, αναγκάζοντας την κοινότητα να δημιουργήσει μια νέα πιρούνι CyanogenMod με την ονομασία LineageOS. Γιατί ο Cyanogen απλά δεν παραδίδει το πρόγραμμα CyanogenMod στην κοινότητα; Η απάντηση φαίνεται να είναι εσωτερικό δράμα (βλέπετε εδώ ένα πρότυπο;). Η Cyanogen ήταν η εταιρεία της οποίας ο Διευθύνων Σύμβουλος υποσχέθηκε ότι θα "βάλει μια σφαίρα στο κεφάλι της Google", τελικά. Κατέληξε να βάλει μια σφαίρα στο κεφάλι του CyanogenMod.

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

    Δεν είναι όλα τα έργα ανοιχτού κώδικα είναι κοινοτικά

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

    Το CyanogenMod είναι ένα καλό παράδειγμα αυτού. Μόλις η Cyanogen Inc. ήρθε περίπου, δεν ενδιαφερόταν πραγματικά για το CyanogenMod. Ο νέος στόχος της Cyanogen έγινε η εμπορία της πλατφόρμας Cyanogen Modular OS στους κατασκευαστές, οι οποίοι διαπραγματεύονταν την μεγάλη αναγνώριση ονόματος του CyanogenMod μετά τη δολοφονία του έργου. Ίσως αυτό είναι ακριβώς όπου τα χρήματα είναι.

    Η Oracle δεν ενδιαφέρθηκε ποτέ για το OpenOffice, αλλά αρχικά ήθελε να χρησιμοποιήσει το όνομά της για να αυξήσει τις πωλήσεις της ιδιόκτητης σουίτας γραφείου της StarOffice, τοποθετώντας το με το όνομα "Open Office". Στη συνέχεια έδωσε το έργο στο Apache μετά την αποχώρηση των περισσότερων εθελοντών προγραμματιστών.

    Η Google δεν ενδιαφέρεται πραγματικά για το Android ως πλήρες έργο ανοιχτού κώδικα, γι 'αυτό και όλο και περισσότερα τμήματα του "Android Open Source Project" (ή "AOSP") παραμένουν πίσω. Η Google θέλει να διατηρήσει το Android ανοιχτό, ώστε να είναι εύκολο για τους κατασκευαστές να προσαρμόσουν, αλλά οι εφαρμογές ανοιχτού κώδικα, όπως το πληκτρολόγιο και ο τηλεφωνητής, γίνονται ολοένα και πιο ξεπερασμένες. Σε μια συσκευή Android για καταναλωτές, η Google συνδέει μόνο το δικό της πληκτρολόγιο κλειστού πηγαίου κώδικα, το πληκτρολόγιο και άλλες εφαρμογές. Η Google φαίνεται δεσμευμένη σε έναν πυρήνα ανοιχτού κώδικα Android, αλλά δεν μπορεί να χρησιμοποιήσει ολόκληρο το λειτουργικό σύστημα ανοιχτού κώδικα χωρίς τα λογισμικά και τις υπηρεσίες της Google. Μετά από όλα, η βελτίωση του Android Open Source Project απλά βοηθά το Amazon's Fire OS, έναν ανταγωνιστή στις συσκευές Android της Google. Ποιο είναι το θέμα;?

    Το Open Source μπορεί να στερήσει σοβαρό ανθρώπινο δυναμικό, παρά το γεγονός ότι χρησιμοποιείται από εκατομμύρια

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

    Είδαμε τα αποτελέσματα αυτού του γεγονότος με την τρύπα ασφαλείας Heartbleed το 2014. Η Heartbleed εκμεταλλεύτηκε μια ευπάθεια στο OpenSSL. Το OpenSSL είναι μια σημαντική βιβλιοθήκη κρυπτογράφησης που χρησιμοποιείται από πολλές γιγαντιαίες εταιρείες τεχνολογίας και εκατοντάδες χιλιάδες διακομιστές ιστού. Αλλά είχε μόνο έναν υπάλληλο πλήρους απασχόλησης χωρίς εξωτερική απασχόληση και $ 2000 ετησίως σε δωρεές. Το έργο έλαβε επιπλέον χρήματα από συμβάσεις εμπορικής στήριξης και διαβούλευση, αλλά μόνο ένας εργαζόμενος πλήρους απασχόλησης φαίνεται συγκλονιστικά χαμηλός για ένα κρίσιμο κομμάτι υποδομής που χρησιμοποιείται από εταιρίες πολλών δισεκατομμυρίων δολαρίων όπως το Google και το Facebook.

    Η Heartbleed επέστησε την προσοχή στο πόσο ανεπαρκές ήταν αυτό το κρίσιμο κομμάτι του λογισμικού, τόσο μεγάλες εταιρείες τεχνολογίας δεσμεύτηκαν να χρεώνουν χρήματα κάθε χρόνο για να χρηματοδοτήσουν την ανάπτυξη του OpenSSL και άλλων σημαντικών έργων στο πλαίσιο της "Πρωτοβουλίας Υποδομής Υποδομών".

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

    Image Credit: snoopsmaus