Το Απόν Εγχειρίδιο: Η σκόπιμη παράλειψη που χρηματοδοτεί το ανοιχτό λογισμικό;
Εισαγωγή
Σε έναν κόσμο που η τεχνολογία εξελίσσεται με ιλιγγιώδεις ρυθμούς, το ανοιχτό λογισμικό (Open Source Software - OSS) έχει κατακτήσει ένα εντυπωσιακό μερίδιο της αγοράς. Από τους διακομιστές που τροφοδοτούν το διαδίκτυο μέχρι τα λειτουργικά συστήματα σε κινητά τηλέφωνα και τους browsers που χρησιμοποιούμε καθημερινά, το OSS είναι παντού. Το παράδοξο; Οι περισσότεροι από εμάς το χρησιμοποιούμε δωρεάν.Και εδώ τίθεται το κρίσιμο ερώτημα: αφού το λογισμικό ανοιχτού κώδικα είναι τόσο ισχυρό, τόσο ευέλικτο και τόσο διαδεδομένο σε κρίσιμες υποδομές, πώς είναι δυνατόν να διανέμεται χωρίς κόστος; Πώς επιβιώνουν οι χιλιάδες προγραμματιστές και οι εταιρείες που στηρίζουν αυτό το οικοσύστημα; Η συνήθης απάντηση, η οποία είναι και η επίσημη "αφηγήση", είναι: μέσω της παροχής υπηρεσιών τεχνικής υποστήριξης. Δηλαδή, το προϊόν είναι δωρεάν, αλλά χρεώνεται η εγκατάσταση, η ρύθμιση, η παραμετροποίηση, η εκπαίδευση και η επίλυση προβλημάτων. Ένα business model που, εκ πρώτης όψεως, μοιάζει λογικό και βιώσιμο.
Το Μυστήριο της Απουσίας Τεκμηρίωσης
Και όμως, υπάρχει μια «σκοτεινή» πτυχή αυτής της πραγματικότητας, που συχνά παραβλέπεται: η διαβόητη –και σχεδόν καθολική– έλλειψη ολοκληρωμένης, εύχρηστης και ενημερωμένης τεκμηρίωσης στα έργα ανοιχτού κώδικα. Οι προγραμματιστές, κατά γενική ομολογία, «μισούν» να γράφουν τεκμηρίωση. Θεωρείται μια βαρετή, χρονοβόρα διαδικασία, μια αναγκαία πλην όμως δυσάρεστη αγγαρεία που αποσπά από το δημιουργικό, συναρπαστικό έργο της συγγραφής κώδικα. Η ιδέα ότι "ο καλός κώδικας αυτο-τεκμηριώνεται" είναι μια βολική δικαιολογία που σπάνια ανταποκρίνεται στην πραγματικότητα του τελικού χρήστη.Αυτό το φαινόμενο δεν είναι νέο, ούτε μοναδικό στο ανοιχτό λογισμικό. Ακόμη και σε εμπορικά προϊόντα, η ποιότητα της τεκμηρίωσης μπορεί να κυμαίνεται. Ωστόσο, στην περίπτωση του OSS, όπου ολόκληρο το επιχειρηματικό μοντέλο βασίζεται στην ανάγκη για υποστήριξη, η απουσία του «εγχειριδίου» αποκτά μια ιδιαίτερη σημασία.
Μια Σκόπιμη Στρατηγική;
Εδώ γεννάται μια τολμηρή, ίσως και κυνική, υπόθεση: Είναι πιθανό η συστηματική αυτή "παράλειψη" τεκμηρίωσης να μην είναι απλώς αποτέλεσμα βαρεμάρας ή έλλειψης χρόνου, αλλά μια –συνειδητή ή ασυνείδητη– στρατηγική;Σκεφτείτε το: Αν η εγκατάσταση ενός εργαλείου ανοιχτού κώδικα απαιτεί δεκάδες, αν όχι εκατοντάδες, βήματα, εντολές σε τερματικό, ανάλυση αρχείων ρυθμίσεων με ελάχιστα σχόλια, επίλυση εξαρτήσεων (dependencies) που μοιάζουν με κυνήγι θησαυρού, τότε ακόμη και ο πιο έμπειρος χρήστης υπολογιστών θα βρεθεί σε αδιέξοδο. Θα καταφύγει, αναπόφευκτα, στον δημιουργό του λογισμικού ή σε κάποιον εξειδικευμένο επαγγελματία που είναι εξοικειωμένος με τις ιδιοτροπίες του συγκεκριμένου έργου. Κι αυτός ο επαγγελματίας; Συχνά είναι ο ίδιος ο προγραμματιστής ή μέλος της ομάδας του, που τώρα προσφέρει τις "υπηρεσίες υποστήριξης" επί πληρωμή.
Είναι σαν να σου προσφέρω ένα εξαιρετικό αυτοκίνητο δωρεάν, αλλά σου παραδίδω έναν φάκελο με 200 κομμάτια, χωρίς καμία οδηγία συναρμολόγησης, πέρα από μια υπόδειξη "χρειάζεσαι και λίγα εργαλεία από ένα μαγαζί στην άλλη άκρη της πόλης που είναι κλειστό τα Σαββατοκύριακα". Ο μόνος που μπορεί να σε βγάλει από το αδιέξοδο είναι... εγώ, ο οποίος είμαι φυσικά διαθέσιμος –με την ανάλογη αμοιβή– να το συναρμολογήσω για σένα.
Οι Πίσω Όψεις της Έλλειψης Τεκμηρίωσης
Αυτό το σενάριο, αν και ωφελεί τους developers από οικονομικής άποψης, δεν είναι χωρίς προβλήματα.Τοίχος εισόδου: Δημιουργεί έναν υψηλό φραγμό εισόδου για τους νέους χρήστες ή τους μη-τεχνικούς, αποθαρρύνοντάς τους από το να δοκιμάσουν ένα κατά τα άλλα εξαιρετικό λογισμικό.
Αποσπασματική γνώση: Οδηγεί σε ένα «στόμα με στόμα» μοντέλο διάδοσης της γνώσης, με αποτέλεσμα αυτή να είναι κατακερματισμένη και συχνά ανακριβής.
Εξάρτηση από δημιουργούς: Ενώ το ανοιχτό λογισμικό προωθεί την ελευθερία, η έλλειψη τεκμηρίωσης δημιουργεί μια de facto εξάρτηση από τους δημιουργούς ή λίγους εξειδικευμένους.
Φυσικά, ας είμαστε δίκαιοι. Δεν είναι όλες οι ελλείψεις τεκμηρίωσης αποτέλεσμα συνωμοσίας. Η ανάπτυξη λογισμικού είναι μια διαρκής διαδικασία, με συχνές αλλαγές και ενημερώσεις. Η τεκμηρίωση παλιώνει γρήγορα. Επίσης, πολλοί προγραμματιστές δουλεύουν εθελοντικά σε αυτά τα έργα, στον ελεύθερο χρόνο τους, και η προτεραιότητα είναι πάντα ο κώδικας, όχι η επικοινωνία του. Παρόλα αυτά, το αποτέλεσμα παραμένει το ίδιο: ένα περιβάλλον που προάγει την ανάγκη για εξειδικευμένη υποστήριξη.
Leave a Comment