Προγραμματισμός

Ξεμπλέκοντας την έντονη πολιτική πίσω από το Node.js

Τα νέα που ξέσπασαν στη Σύνοδο Κορυφής του Node την περασμένη εβδομάδα - ότι η Joyent και άλλοι προτείνουν να δημιουργήσουν ένα Ίδρυμα Node.js - δεν προκάλεσε έκπληξη σε κανέναν που παρακολουθεί τη διαμάχη σχετικά με την αγαπημένη πλατφόρμα JavaScript από την πλευρά του διακομιστή. Είναι ξεκάθαρο για λίγο ότι το Node.js έχει ξεπεράσει τις ρίζες του και έχει γίνει ένα σημαντικό δομικό εργαλείο για τη βιομηχανία λογισμικού.

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

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

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

Ωστόσο, η ευρεία υιοθέτηση δημιουργεί επίσης νεοσύστατες επιχειρήσεις που θέλουν να εκμεταλλευτούν νέες ανάγκες και να δημιουργήσουν έσοδα από την επίλυσή τους. Πολλές από αυτές τις νεοσύστατες εταιρείες εμπλέκονται στο πιρούνι του io.js του Node.js, ζητώντας συχνές κυκλοφορίες για να υποστηρίξουν τις καινοτομίες και τα επιχειρηματικά τους σχέδια. Οι προγραμματιστές και οι επιχειρηματίες σε αυτό το στρατόπεδο έχουν εκφράσει την αγανάκτησή τους ότι το Joyent δεν έχει οδηγήσει σε πολλές κυκλοφορίες.

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

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

Η δημιουργία ενός αναγνωρισμένου από την κυβέρνηση μη κερδοσκοπικού οργανισμού ήταν ιστορικά σημαντική σε ανοιχτό κώδικα για δύο σκοπούς:

  1. Ως πρόσκρουση του «ανοίγματος» από μια κατά τα άλλα ιδιόκτητη δραστηριότητα από μία εταιρεία που τυχαίνει να περιλαμβάνει κώδικα ανοιχτού κώδικα
  2. Ως ένας τρόπος για να βάλουμε σε άμμο την πολιτική των επιχειρήσεων από τις πρακτικές της ανάπτυξης, δημιουργώντας έναν ουδέτερο χώρο για πραγματική συνεργασία μεταξύ των συνομηλίκων

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

Το Node.js χρειάζεται ένα ίδρυμα για την επίβλεψή του. Η κοινότητά της είναι πιθανώς ήδη αρκετά μεγάλη για να καταστήσει την ιδέα της ένταξης σε μια υπάρχουσα κοινότητα όπως το Eclipse ή το Apache ακατάλληλη. Αλλά είναι το προτεινόμενο ίδρυμα η σωστή απάντηση; Ο Μπιλ Σκοτ ​​του PayPal είπε στη Σύνοδο Κορυφής του Node ότι το PayPal υποστηρίζει το ίδρυμα, αλλά παρακολουθεί την κοινότητα. Αυτό μου φαίνεται σωστό.

Αυτό που προτείνεται μέχρι τώρα είναι μια εταιρική εμπορική ένωση pay-to-play στην εικόνα του Linux Foundation, με μεγάλες χρεώσεις που δεν συνδέονται με τα έσοδα για να τρομάξουν τις νεοσύστατες επιχειρήσεις και τους κανόνες που έχουν εκπονήσει μεγάλοι εταιρικοί συμμετέχοντες όπως η Microsoft και η IBM. Σίγουρα δεν είναι η σωστή απάντηση για να επαναφέρετε τους συμμετέχοντες στο io.js. Η πικρή πολιτική γύρω από το Node.js σίγουρα χρειάζεται sandboxing, αλλά και η επιθυμία των προγραμματιστών να οδηγήσουν την ατζέντα. Ένα Ίδρυμα Node που λειτουργεί θα χρειαστεί τόσο τις λειτουργίες-σεβασμό του ρυθμού απελευθέρωσης που αναζητά η Joyent όσο και τον δυναμικό χώρο Ε & Α που επιθυμούν οι επιχειρηματίες της io.js.

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

Φυσικά, όλα αυτά μπορεί να είναι μάταια. ένα κρίσιμο σημείο ελέγχου για το Node.js, τον διαχειριστή πακέτων NPM, ελέγχεται από μια εταιρεία εκκίνησης με το ίδιο όνομα. Η διχαστική πολιτική θα μπορούσε να επαναληφθεί, εκτός κι αν αντιμετωπιστεί επίσης. Φαίνεται ότι η κοινότητα Node.js, όχι μόνο η Joyent, έχει το έργο της για αυτήν.

$config[zx-auto] not found$config[zx-overlay] not found