ΕΛ/ΛΑΚ: Πόση ελευθερία δίνουν στους χρήστες οι developers; Μέρος 1ο

Στο προηγούμενο άρθρο μου εξήγησα κάποιους από τους λόγους για τους οποίους η χρήση proprietary (κλειστού) λογισμικού υποδουλώνει τους χρήστες. Ως αντίπαλο δέος απέναντι στις μονοπωλιακές τακτικές των μεγάλων εταιρειών λογισμικού ξεκίνησε ο Richard Matthew Stallman το GNU Project και το Ίδρυμα Ελεύθερου Λογισμικού (Free Software Foundation) και σε παρόμοιο μήκος κύματος κινείται και η, προερχόμενη από το κίνημα του Ελεύθερου Λογισμικού, πρωτοβουλία Ανοιχτού Κώδικα (Open Source Initiative). Θα περίμενε λοιπόν κανείς ότι εξ ορισμού το ΕΛ/ΛΑΚ, παρά τις όποιες ιδεολογικές διαφορές μεταξύ των δυο κινημάτων Ελεύθερου Λογισμικού και Λογισμικού Ανοιχτού Κώδικα (εδώ μπορείτε να δείτε την τοποθέτηση του Richard Stallman), εξασφαλίζει την ελευθερία των χρηστών. Σωστά;

Η απάντηση δεν είναι τόσο απλή. Και στο χώρο του ΕΛ/ΛΑΚ υπάρχουν προϊόντα που αποκτούν κυρίαρχη θέση στο «οικοσύστημα», που θα μπορούσε άνετα να θεωρηθεί μονοπωλιακή – ειδικά αν πίσω από τα σχετικά project δεν βρίσκονται κοινότητες συνεργαζομένων χρηστών και developers, αλλά εταιρείες ή ιδρύματα (foundations). Ανάλογα με τη νοοτροπία της διοίκησης της «μαμάς» εταιρείας ή του ιδρύματος, υπάρχει ένα σοβαρό ενδεχόμενο οι υπεύθυνοι (δηλαδή αυτοί που κάνουν κουμάντο) του project να το στρέψουν προς κάποια κατεύθυνση εντελώς αντίθετη από αυτή που θα επιθυμούσαν οι χρήστες. Ακόμα χειρότερα δε, παρατηρούμε το επιεικώς απαράδεκτο φαινόμενο γύρω από τους project leaders και τους κυριότερους developers να συγκεντρώνεται ένας θίασος αυλοκολάκων και αυτόκλητων πραιτωριανών, οι οποίοι επιτίθενται με σκαιότατους χαρακτηρισμούς σε κάθε χρήστη που έχει το «θράσος» να διαφωνήσει με την primadonnaτον project leader και την κλίκα τηςτους άμεσους συνεργάτες του.

Θα αναφέρω δυο πρόσφατα παραδείγματα:

  1. OpenOffice.org
  2. GNOME

Σήμερα θα εξετάσουμε την πρώτη περίπτωση – το OpenOffice.org. Στο δεύτερο μέρος θα δούμε τι έγινε με το παραθυρικό περιβάλλον GNOME.

To OpenOffice.org/Apache OpenOffice/OOo ξεκίνησε τη ζωή του ως StarOffice και ήταν ένα προϊόν της γερμανικής StarDivision. Το 1998 άρχισε να το διανέμει δωρεάν (προσφέροντας έτσι σε αρκετούς χρήστες Linux μια εναλλακτική λύση σε σχέση με το δαπανηρό WordPerfect) και το 1999 εξαγοράστηκε από τη Sun Microsystems, η οποία ήθελε να σταματήσει να πληρώνει άδειες για το Microsoft Office στη Microsoft – χώρια που ήθελε και να την ανταγωνιστεί. Το 2000, η Sun Microsystems κοινοποίησε τον πηγαίο κώδικα του StarOffice, το οποίο πλέον μετονομάστηκε σε OpenOffice.org. Στόχος ήταν η δημιουργία μιας ισχυρής κοινότητας για την περαιτέρω ανάπτυξη της εφαρμογής. Μετά την απόκτηση της Sun από την Oracle το 2010, η περαιτέρω ανάπτυξη και βελτίωση του OpenOffice κυριολεκτικά σταμάτησε. Ό,τι βελτιώσεις κι αν επέφεραν στον κώδικα της (βαριάς και πάναργης πλέον) εφαρμογής οι developers της κοινότητας απλά δεν πέρναγε σε επόμενες εκδόσεις – οι ιθύνοντες μικρόνοες της Oracle κάνανε αυτές τις γραμμές κώδικα σχόλια (με αποτέλεσμα, φυσικά, να μην έχουν καμία επίδραση στη λειτουργικότητα της εφαρμογής). Για ποιο λόγο; Γιατί απλά δεν τους ένοιαζε. Δεν πίστεψαν ποτέ στο ΕΛ/ΛΑΚ εκεί στην Oracle κι ούτε πιστεύουν. Το δε «Unbreakable Linux» της Oracle, ένα κακέκτυπο του Red Hat Enterprise Linux (επί τη ευκαιρία, πάνε πέντε χρόνια που περιμένω εκείνο το δωρεάν CD του «Unbreakable Linux» που υποτίθεται θα έφτανε στο γραμματοκιβώτιο του σπιτιού μου), δεν είναι και τόσο unbreakable, σύμφωνα με τις μαρτυρίες επαγγελματιών προγραμματιστών που το χρησιμοποιούν στο χώρο εργασίας τους.

Το αποτέλεσμα ήταν η δημιουργία του The Document Foundation (με την υποστήριξη της Novell, της Red Hat, της Canonical, της Google κ.α. εταιρειών), το οποίο προχώρησε σε fork του OpenOffice – και εγένετο LibreOffice, που πλέον εξελίσσεται αρκετά γρήγορα και με τους developers να προσέχουν αρκετά τη γνώμη των χρηστών, σε αντίθεση με το τι γινόταν παλιότερα. Η Oracle τσίνισε, φώναξε, απείλησε, αλλά τελικά αναγκάστηκε να πιει ξυδάκι και τελικά έδωσε τον κώδικα στο ορφανοτροφείο του ΕΛ/ΛΑΚ που ακούει στο όνομα Apache Foundation. To LibreOffice πάντως μια χαρά πάει.

.

Τι ελευθερίες (πρέπει να) δίνει στους χρήστες το ΕΛ/ΛΑΚ; Σύμφωνα με τον ορισμό του Ελεύθερου Λογισμικού, έχουμε τέσσερις βασικές ελευθερίες:

  • Ελευθερία 0: Την ελευθερία της εκτέλεσης του λογισμικού για οποιονδήποτε σκοπό.
  • Ελευθερία 1: Την ελευθερία της μελέτης του τρόπου λειτουργίας του λογισμικού και της προσαρμογής του στις ανάγκες σας. Η πρόσβαση στον πηγαίο κώδικα είναι απαραίτητη προϋπόθεση γι’ αυτό.
  • Ελευθερία 2: Την ελευθερία της αναδιανομής αντιγράφων του λογισμικού ώστε να βοηθάτε το συνάνθρωπο σας.
  • Ελευθερία 3: Την ελευθερία της βελτίωσης της εφαρμογής και της δημοσίευσης των βελτιώσεων που έχετε κάνει στο ευρύ κοινό, ώστε να επωφεληθεί ολόκληρη η κοινότητα. Η πρόσβαση στον πηγαίο κώδικα είναι απαραίτητη προϋπόθεση γι’ αυτό.

Προσωπικά πιστεύω ότι μέρος της Ελευθερίας 1 και της Ελευθερίας 3 μπορεί να ικανοποιηθεί ακόμη και χωρίς ο χρήστης να εντρυφήσει στον πηγαίο κώδικα μιας εφαρμογής. Μια εφαρμογή μπορεί εν μέρει να προσαρμοστεί στις ανάγκες του χρήστη χωρίς ο ίδιος να χρειαστεί να μελετήσει τον πηγαίο κώδικα και χωρίς να χρειάζεται να έχει σπουδαίες γνώσεις προγραμματισμού. Για παράδειγμα, αν η εφαρμογή έχει ένα εύχρηστο, αποτελεσματικό και με επαρκή τεκμηρίωση (δηλαδή οδηγίες) σύστημα ρύθμισης και παραμετροποίησης, ο χρήστης θα μπορέσει να φέρει την εφαρμογή πιο κοντά στις απαιτήσεις και στις ανάγκες του. Είναι σαφές σε κάθε νουνεχή άνθρωπο (εκτός από τις ντίβες του ΕΛ/ΛΑΚ και τα χουλιγκάνια τους) ότι, αν θέλουμε ένας χρήστης που δεν είναι «power user» ή προγραμματιστής να μπορεί να φέρνει την εκάστοτε εφαρμογή στα μέτρα του, είμαστε ηθικά και ουσιαστικά υποχρεωμένοι να παρέχουμε τέτοια εργαλεία στο χρήστη, αλλιώς η υπόσχεση περί «ελευθερίας προσαρμογής της εφαρμογής στις ανάγκες του χρήστη» καθίσταται κενό γράμμα για τη συντριπτική πλειοψηφία των χρηστών, εκτός ίσως από αυτούς που έχουν (α) τη γνώση, (β) την όρεξη και (γ) το χρόνο να μελετήσουν τον πηγαίο κώδικα, να πειραματιστούν και να ρισκάρουν να χάσουν μέρος της παραγωγικότητάς τους. Είναι προφανές μάλιστα πως, αν, εν ονόματι κάποιου «οράματος» των project leaders,  αφαιρεθούν σε κάποια μεταγενέστερη έκδοση οι δυνατότητες παραμετροποίησης από τον τελικό χρήστη (end user), ο οποίος σπανίως έχει υπολογίσιμες γνώσεις προγραμματισμού ή/και χρόνο και διάθεση για να μελετήσει τον τρόπο λειτουργίας της εφαρμογής, η Ελευθερία 1 πάει περίπατο για το 90% των χρηστών.

Επίσης, οι Ελευθερίες 1 και 3 παραβιάζονται όσον αφορά το πνεύμα τους και από «project leaders» που αρνούνται να περάσουν στις επόμενες εκδόσεις μιας εφαρμογής τις βελτιώσεις που συνεισφέρουν οι developers της κοινότητας. Δε μπορείς από τη μια να ανοίγεις τον κώδικα για να κάνεις «crowdsourcing» (δηλαδή – για να μη μασάμε τα λόγια μας – να αποκτάς πρόσβαση σε φτηνή ή τζαμπέ εργασία εθελοντών, φοιτητών, ερευνητών, μελετητών και χομπιστών επειδή είσαι πολύ τσίπης για να πληρώσεις επαγγελματίες που θα δουλεύουν full-time) και μετά να λες «αρνούμαι να δεχτώ τις βελτιώσεις που έκαναν» γιατί φοβάσαι ότι θα επισκιάσουν τη δική σου ανύπαρκτη προσφορά (που αυτό ακριβώς έγινε με την Oracle και το OpenOffice.org: οι ιθύνοντες μικρόνοες της Oracle κωλοβάραγαν και οι developers της κοινότητας που κάνανε όλη τη χαμαλίκα πήραν ανάποδες και προχώρησαν στο – υπό άλλες συνθήκες ριψοκίνδυνο και ενδεχομένως ανεπιθύμητο – fork και πολύ καλά έκαναν).

Κακά τα ψέματα: το να κοτσάρεις μια GPLv2 ή GPLv3 ή μια LGPL στο λογισμικό σου δεν εγγυάται σε καμία περίπτωση ότι δίνεις ουσιαστική ελευθερία στους χρήστες. ΟΚ, με το γράμμα των αδειών είσαι εντάξει. Για να είσαι εντάξει όμως και με το πνεύμα τους, πρέπει εσύ ο ίδιος να σκέφτεσαι με γνώμονα τις ανάγκες του χρήστη και να ενεργείς με απόλυτο σεβασμό τόσο προς τους χρήστες (που, είτε σ’αρέσει είτε όχι, ακόμα κι αν το project το κάνεις για την πλάκα σου, αυτοί είναι που θα κρίνουν αν αξίζει τον κόπο ή όχι) όσο και προς τους άλλους εθελοντές που θα βάλουν πλάτη για να βελτιωθεί η εφαρμογή σου. Αν δεν το καταλαβαίνεις αυτό και κρύβεσαι πίσω από την πανηλίθια δικαιολογία «είναι δωρεάν, άρα μην παραπονιέστε» (κλασική σοφιστική σύγχυση – free software μαγκάκο σημαίνει «free as in free speech», όχι «free as in free beer» και το έχει πει επανειλημμένα σε συνεντεύξεις του ο ίδιος ο Stallman, τον οποίον επικαλείσαι χωρίς καν να ξέρεις τι έχει πει και τι πρεσβεύει), τότε απλά δεν αξίζεις μία.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-j

Advertisements

Proprietary (κλειστό) λογισμικό και υποδούλωση του χρήστη

Οι υπέρμαχοι του ΕΛ/ΛΑΚ συχνά κατηγορούν το proprietary (κλειστό) λογισμικό ότι ουσιαστικά υποδουλώνει τον χρήστη. Ας πάρουμε για παράδειγμα τις Adobe και Autodesk: από την ώρα που εξαγόρασαν εταιρείες που παρήγαγαν διάφορες εφαρμογές (συχνά ανταγωνιστικές προς τις δικές τους), εξανάγκασαν τους χρήστες τους να μεταβούν στα Windows από εκεί που χρησιμοποιούσαν Linux ή κάποιες άλλες εκδοχές του Unix. Εδώ, οι χρήστες εξαναγκάστηκαν να χρησιμοποιήσουν ένα λειτουργικό σύστημα που μέχρι πρότινος ούτε καν θα το συζητούσαν (και δεν ξέρω και κατά πόσο μπορεί να στηθεί ένα αξιοπρεπές render farm σε Windows). Κάτι ανάλογο δεν έγινε όμως και με τη Bentley Systems της οποίας το Microstation έπαψε από την έκδοση 5.0 και μετά να αναπτύσσεται για Linux και τα υπόλοιπα Unix-like λειτουργικά; Ή με την PTC που το 2010 σταμάτησε κάθε υποστήριξη προς Unix-like λειτουργικά; Ερωτήθηκαν οι υπάρχοντες χρήστες; Μάλλον όχι…

Σε άλλες περιπτώσεις, οι αλλαγές στον τρόπο χειρισμού μιας εφαρμογής ήταν τέτοιες που ξένισαν πολύ τους παλαιότερους χρήστες – δείτε π.χ. τι έγινε με το ribbon στις πρόσφατες εκδόσεις του Microsoft Office. Αρκετοί χρήστες, στους οποίους βάζω και τον εαυτό μου, νιώσανε άβολα με το νέο τρόπο χειρισμού. Κάποιοι επέστρεψαν στο MS Office 2003. Κάποιοι άλλοι δοκίμασαν τις νέες εκδόσεις και τις απέρριψαν. Κάποιοι άλλοι απλά βγάλανε το σκασμό σαν καλοί πελάτες μονοπωλιακής εταιρείας και συνηθίσανε το νέο τρόπο χειρισμού.

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

  • Να παραμείνει σε κάποια παλιότερη έκδοση με την οποία είναι εξοικειωμένος, ρισκάροντας όμως την οριστική και επερχόμενη παύση της υποστήριξης προς αυτήν ιδίως σε ό,τι αφορά θέματα ασφαλείας, αλλά και τυχόν προβλήματα προς-τα-πίσω συμβατότητας (backwards compatibility), άρα και διαλειτουργικότητας, που θα μπορούσαν να αντιμετωπίσουν ο ίδιος και οι συνεργάτες του που χρησιμοποιούν νεότερες εκδόσεις.
  • Να μεταβεί σε νεότερη έκδοση (με το συνεπαγόμενο άμεσο οικονομικό κόστος για την αναβάθμιση), η οποία όμως, όπως προανέφερα, διαφέρει ριζικά ως προς τον τρόπο λειτουργίας και χρήσης της, με αποτέλεσμα να υπάρξει κάποια απώλεια παραγωγικότητας.

Καμία από τις δυο λύσεις δεν είναι αρεστή στο χρήστη. Η εταιρεία όμως δεν έχει κανένα λόγο να προβληματίζεται: έχει δέσει το γάιδαρό της λόγω μονοπωλιακής θέσης στην αγορά και προβληματικής συμβατότητας των εναλλακτικών λύσεων με το δικό της πρότυπο – λογικό είναι, γιατί οι εναλλακτικές προτάσεις προσφέρουν φίλτρα εισαγωγής-εξαγωγής αρχείων «συμβατά» με το proprietary φορμά τα οποία αποτελούν προϊόν reverse engineering, που δεν είναι πάντα ιδιαίτερα επιτυχημένο. Ο χρήστης είναι αναγκασμένος να κάνει, κυριολεκτικά, ό,τι του υπαγορεύσει η εταιρεία. Αν η νέα έκδοση της εφαρμογής είναι πολύ «βαριά» (συνήθως μάλιστα χωρίς κανέναν απολύτως λόγο) και απαιτεί αναβάθμιση του υπολογιστή του, ο χρήστης θα επωμιστεί αυτό το κόστος θέλοντας και μη. Αν είναι δύσχρηστη και εισάγει ως προεπιλογή ένα νέο φορμά αρχείων που οι παλιότερες εκδόσεις δε μπορούν – τουλάχιστον στην αρχή – να χρησιμοποιήσουν (όπως έγινε με τα .docx, .xlsx κ.ο.κ. στο MS Office 2007 που χρειάζονταν plug-in, το οποίο κυκλοφόρησε αργότερα, για να χρησιμοποιηθούν στο MS Office 2003), τότε θα αναγκάζεται να παρακαλάει τους συναδέλφους του να αποθηκεύουν (αν το θυμούνται) τα αρχεία σε παλιότερο φορμά, κάτι που θα δημιουργήσει δυσαρέσκεια για εκείνον, καθώς θα τους αναγκάζει να κάνουν ένα βήμα παραπάνω.

Αλήθεια, τι γίνεται έτσι και το συγκεκριμένο φορμά πάψει να υποστηρίζεται τελείως; Τι γίνεται αν το μονοπώλιο καταρρεύσει; Αν, φερ’ειπείν, η άλλοτε μονοπωλιακή εταιρεία βαρέσει κανόνι (θυμάται κανείς το Professional Write;) ή οι χρήστες εγκαταλείψουν την εφαρμογή της για χάρη κάποιας άλλης (όπως έγινε πριν από πάνω από 20 χρόνια με τη μετάβαση των χρηστών από το Lotus 1-2-3 στο πολύ ανώτερό του Microsoft Excel); Τότε θα έχουμε μια κοπιαστική, εκνευριστική και πιθανώς δαπανηρή διαδικασία data migration για να μην απωλεσθούν τα παλιά δεδομένα. Με απλά λόγια, τα «de facto» πρότυπα αρχείων, τα οποία «προστατεύονται» από πατέντες και αποτελούν κτήμα εταιρειών (οι οποίες φυσικά δεν είναι αιώνιες), το μόνο που εγγυώνται είναι ότι κάποια στιγμή τα δεδομένα που έχουν δημιουργήσει οι χρήστες θα κινδυνεύσουν να χαθούν γιατί έπαψε το πρότυπο αυτό να υποστηρίζεται.

Το proprietary λογισμικό λοιπόν, ειδικά όταν αποτελεί de facto πρότυπο λόγω μονοπωλιακής θέσης στην αγορά, υποδουλώνει τον χρήστη στις ορέξεις της κάθε εταιρείας και σε καμία περίπτωση δεν προσφέρει την παραμικρή εγγύηση στο χρήστη (ο οποίος σχεδόν ποτέ δε διαβάζει την «End User License Agreement», η οποία απλά απαλλάσσει την εταιρεία από κάθε ευθύνη για το αν το προϊόν της θα λειτουργεί σωστά και καθιστά το χρήστη αστικά και ποινικά υπόλογο για την περίπτωση που θα διανοηθεί να κάνει ένα αντίγραφο της εφαρμογής και να το εγκαταστήσει κάπου αλλού). Στο χώρο του proprietary λογισμικού δεν υπάρχει καμία ελευθερία για τον χρήστη (και δε συζητάμε καν για τροποποίηση και προσαρμογή της εφαρμογής στα μέτρα του χρήστη – αυτά απλώς απαγορεύονται διά ροπάλου και με απειλή αστικών και ποινικών διώξεων για «παραβίαση πνευματικών δικαιωμάτων») ούτε καν στο επίπεδο της επιλογής του τι θα χρησιμοποιεί.

Και μην έρθουν διάφοροι καλοθελητές να πουν «μα ξέρεις, δε σε υποχρεώνει κανένας να χρησιμοποιήσεις MATLAB, Word, AutoCAD, Photoshop ή δεν ξέρω κι εγώ τι άλλο». Σε υποχρεώνει το ίδιο το οικοσύστημα των χρηστών και η ουσιαστική έλλειψη διαλειτουργικότητας με άλλες εφαρμογές. Όταν σε κάποιο χώρο έχουμε μονοπώλιο δεν υπάρχει επιλογή – υπάρχει μονόδρομος.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-c