ΕΛ/ΛΑΚ: Πόση ελευθερία δίνουν στους χρήστες οι 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

Το καθιερωμένο καλωσόρισμα…

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

Ο τίτλος του ιστολογίου από μόνος του μαρτυρά ότι είμαι γκρινιάρης, άρα και ανικανοποίητος. Και επίσης, ότι είμαι υπέρμαχος του Ελεύθερου Λογισμικού/Λογισμικού Ανοιχτού Κώδικα (ΕΛ/ΛΑΚ ή ΕΛΛΑΚ – Free/Libre and Open Source Software ή FOSS ή FLOSS αγγλιστί). Απεχθάνομαι τις μονοπωλιακές τακτικές των διαφόρων μεγάλων εταιρειών που μέσω επιθετικών εξαγορών βρέθηκαν να κυριαρχούν σε διάφορους τομείς και να επιβάλουν έτσι de facto τη θέλησή τους και τους όρους τους στους χρήστες, υποχρεώνοντάς τους ακόμη και σε αλλαγή λειτουργικού. Και βέβαια θεωρώ κατάπτυστη την πολιτική που ασκούν με τις εξωφρενικές υπερτιμολογήσεις των υπηρεσιών τους.

Θεωρώ ότι ο μόνος τρόπος για να ανακτήσουν οι χρήστες την ελευθερία τους και τη δυνατότητα πραγματικής διαλειτουργικότητας είναι το ΕΛ/ΛΑΚ – ο συγκερασμός δυο συγγενικών, αλλά διαφορετικών μεταξύ τους φιλοσοφιών ανάπτυξης λογισμικού, οι οποίες έχουν και το χαρακτήρα κοινωνικού κινήματος, με κάποιες πολιτικές προεκτάσεις. Όμως, ο ίδιος ο χώρος του ΕΛ/ΛΑΚ πρέπει να παρέχει και τα κατάλληλα εργαλεία (τις κατάλληλες εφαρμογές και την κατάλληλη αντιμετώπιση προς τον χρήστη) για να καταστεί εφικτή η χειραφέτηση των χρηστών. Δε μπορεί οι ηγήτορες του κινήματος του ΕΛ/ΛΑΚ να παριστάνουν τις ντίβες και να λένε «ο χρήστης θα πρέπει να συμφωνήσει με ό,τι κάνω εγώ γιατί του το προσφέρω τζάμπα, αλλιώς τη βόλτα του». Τα κινήματα αξίζουν μόνο όσο εξυπηρετούν την κοινωνία, δηλαδή στην περίπτωσή μας τους χρήστες. Και κάπου εδώ τελειώνει αυτό το άρθρο κι αρχίζει το ιστολόγιο…

Grumpy Open Source Guy

.

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