Ελεύθερο λογισμικό, γιατί έχει σημασία!

Το ελεύθερο λογισμικό εδώ και πάνω από μία δεκαετία και από την απαρχή του Internet υπηρετεί εκατομμύρια χρήστες και επιχειρήσεις σε ολόκληρο τον κόσμο. Οι εφαρμογές του δεν εξαντλούνται στο διαδίκτυο αλλά επεκτείνονται στην εκπαίδευση, την έρευνα ακόμα και τις διαστημικές αποστολές της NASA. Συχνά οι χρήστες χωρίς να το αντιλαμβάνονται χρησιμοποιούν καθημερινά δεκάδες προγράμματα ελεύθερου λογισμικού για να επιτελέσουν τις εργασίες τους. Όμως τι είναι ακριβώς το ελεύθερο λογισμικό και γιατί έχει τόση σημασία; Πως βοηθάει την επιχειρηματικότητα και την εξέλιξη της πληροφορικής και της τεχνολογίας γενικότερα; Και γιατί ένας απλός χρήστης υπολογιστών πρέπει να ενδιαφερθεί για αυτό;; Σε αυτή τη σύντομη παρουσίαση θα προσπαθήσουμε να ρίξουμε λίγο φως στα παραπάνω ερωτήματα.

Για να απαντήσουμε τι είναι το ελεύθερο λογισμικό πρέπει να πούμε λίγα λόγια για το λογισμικό και τον τρόπο που λειτουργεί ένας υπολογιστής. Οι υπολογιστές αποτελούνται από το υλικό μέρος (hardware) και το λογισμικό (software). Το λογισμικό είναι αυτό που λέει στο υλικό τι είναι αυτό που πρέπει κάνει κάθε φορά και με ποιον τρόπο. Δηλαδή όλα τα προγράμματα που εκτελούμε στον υπολογιστή μας ανήκουν στο λογισμικό. Τα προγράμματα αρχικά γράφονται από έναν προγραμματιστή σε μία γλώσσα υψηλού επιπέδου. Αυτό σημαίνει ότι ο προγραμματιστής γράφει μία σειρά εντολών σε μία γλώσσα που μοιάζει με τα αγγλικά, με αυστηρότερο όμως συντακτικό και αρκετά σύμβολα. Αυτό το κείμενο αποτελεί το “πηγαίο κώδικα” (source code). Οι υπολογιστές όμως δεν μπορούν να “καταλάβουν” και συνεπώς να εκτελέσουν αυτόν τον κώδικα. Γιαυτό, ως δεύτερο βήμα μετά τη συγγραφή του προγράμματος, γίνεται χρήση ενός εργαλείου που μεταγλωττίζει τον πηγαίο κώδικα σε μία γλώσσα που μπορεί να καταλάβει και να εκτελέσει άμεσα ο υπολογιστής. Το αποτέλεσμα αυτής της μεταγλώττισης είναι το λεγόμενο “εκτελέσιμο πρόγραμμα” ή το πρόγραμμα σε “γλώσσα μηχανής”. Το εκτελέσιμο πρόγραμμα είναι αυτό που “τρέχουμε” στους υπολογιστές μας όταν τους χρησιμοποιούμε. Επειδή αυτό είναι γραμμένο σε γλώσσα μηχανής, δηλαδή σε πολλές και μικρές εντολές (για την ακρίβεια πολλές εκατομμύρια ή και δισεκατομμύρια εντολές) δεν είναι δυνατόν ένας άνθρωπος να καταλάβει τι ακριβώς κάνει το πρόγραμμα βλέποντας μία μία τις μικροεντολές σε κώδικα μηχανής. Για να μπορέσει ένας προγραμματιστής να κατανοήσει πλήρως τη λειτουργία ενός προγράμματος, πρέπει να έχει πρόσβαση στο αρχικό κείμενο που έγραψε ο συγγραφέας του προγράμματος πριν τη μεταγλώττιση σε εκτελέσιμο αρχείο, δηλαδή τον πηγαίο κώδικα.

Τα περισσότερα προγράμματα που κυκλοφορούν σήμερα, είτε δωρεάν είτε επί πληρωμή, δίνονται αποκλειστικά σε μορφή εκτελέσιμου προγράμματος, ενώ ο πηγαίος τους κώδικας αποτελεί επτασφράγιστο μυστικό. Κι αυτό για να μη μπορεί κάποιος να δει πως ακριβώς δημιουργήθηκε αυτό το πρόγραμμα, ούτε και το τι ακριβώς κάνει εν γνώσει ή εν αγνοία του χρήστη. Τι ακριβώς σημαίνει αυτό; Ότι μπορεί πχ ένα πρόγραμμα που μας επιτρέπει να βλέπουμε ιστοσελίδες μπορεί να αποστέλλει παράλληλα στατιστικά στοιχεία χρήστης που αφορούν τις κινήσεις μας στο web. Ή μία εφαρμογή διαχείρισης αρχείων μπορεί να καταγράφει το περιεχόμενο του σκληρού μας δίσκου και να το αποστέλλει επίσης στον κατασκευαστή του προγράμματος μέσω Internet. Ακόμα χειρότερα, μπορεί να δίνει πρόσβαση ολόκληρου του υπολογιστή μας ή μέρη του στον κατασκευαστή του μέσω της σύνδεσης Internet. Δεν είναι λίγα τα φαινόμενα που μεγάλες εταιρίες πληροφορικής έχουν κατηγορηθεί και κληθεί να πληρώσουν πρόστιμα για τέτοιου είδους συμπεριφορές, εν αγνοία των χρηστών τους που πολλές φορές πλήρωσαν για να αγοράσουν τα προγράμματα.

To 1985 με πρωτοβουλία του Richard Stallman ιδρύεται το Free Software Foundation (FSF). Το FSF θέσπισε 4 ελευθερίες τις οποίες μάλιστα καλύπτει νομικά. Έτσι, δημιούργησε μία άδεια χρήσης με όνομα General Public License (GPL) και οποιοσδήποτε προγραμματιστής μπορεί να δημοσιεύσει τα προγράμματά του υπό αυτή την άδεια. Οι 4 βασικές ελευθερίες που δίνονται στα προγράμματα υπό την GPL συνοψίζονται ως εξής:

  • Ελευθερία στη χρήση του προγράμματος. Ο κάθε άνθρωπος έχει δικαίωμα να χρησιμοποιεί το ελεύθερο λογισμικό όσο, όπως και όπου θέλει.
  • Ελευθερία στη μελέτη του προγράμματος αλλά και την τροποποίησή του. Δηλαδή ο καθένας πρέπει να έχει πρόσβαση στον πηγαίο κώδικα του προγράμματος τον οποίο μπορεί να αλλάζει ή να χρησιμοποιεί μερικώς ή πλήρως στα δικά του προγράμματα.
  • Ελευθερία στην αναδιανομή. Όλοι είναι ελεύθεροι να αναδιανέμουν και να δημιουθργούν αντίτυπα οποιουδήποτε ελεύθερου προγράμματος.
  • Ελευθερία στην αναδιανομή του τροποποιημένου προγράμματος. Όποιος θέλει μπορεί να αναδιανείμει το τροποποιημένο πρόγραμμα, δίνοντας νέες ιδέες και δυνατότητες στη διεθνή κοινότητα. Φυσικά και εδώ πρέπει ο καθένας να έχει πλήρη πρόσβαση στον τροποποιημένο κώδικα του προγράμματος.
Η δυναμική που απορρέει από την άδεια GPL είναι ότι όχι μόνο μπορεί κανείς να αποκτήσει οποιοδήποτε ελεύθερο πρόγραμμα, να το τροποποιήσει και να το αναδιανείμει αλλά οποιαδήποτε αλλαγή ή συμπλήρωση κάνει, τότε αυτή αυτόματα τίθεται στη διάθεση όλης της ανθρωπότητας όπως περιγράφεται στο τέταρτο σημείο. Αν δηλαδή εγώ προσθέσω μία λειτουργία σε ένα ελεύθερο πρόγραμμα επεκτείνοντας και βελτιώνοντάς το, τότε όλοι αποκτούν πρόσβαση όχι μόνο στη βελτιωμένη έκδοση που δημιούργησα αλλά και στον πηγαίο κώδικα με τις αλλαγές που έκανα. Έτσι με τη σειρά του κάποιος άλλος θα πάρει τη βελτιωμένη έκδοση που δημιούργησα και θα την βελτιώσει ακόμα περισσότερο και πάει λέγοντας.
Αυτή είναι η δύναμη της GPL και του ελεύθερου λογισμικού του οποίου δικαιούχοι είμαστε όλοι οι άνθρωποι. Από το 1985 μέχρι σήμερα και με τα μοντέλο ανάπτυξης της GPL έχουν δημιουργηθεί αμέτρητα ελεύθερα προγράμματα, πολλά από τα οποία έχουν διακριθεί και θεωρούνται σήμερα διεθνή Industry Standards! Το Mozilla Firefox, ο Chromium Browser (σε αυτόν βασίζεται ο Google Chrome browser), το Linux και ο VLC media player είναι μερικά μόνο από τα παραδείγματα ελεύθερου λογισμικού με τα οποία λίγο πολύ όλοι έχουμε έρθει σε επαφή ή έχουμε ακούσει. Λιγότερα γνωστά στο ευρύ κοινό παρότι τα χρησιμοποιεί καθημερινά είναι το σύστημα BIND, ο Apache Web server, η Java (Java Runtime Environment), ο dhcpd, ο pppd και πολλά άλλα. Επιπλέον στο ελεύθερο λογισμικό στηρίζονται μεγάλες επιχειρήσεις και διεθνή οργανισμοί αλλά και πολλοί κατασκευαστές προϊόντων πληροφορικής και τεχνολογίας. Δικτυακοί σκληροί δίσκοι, DVD players, τηλεοράσεις και πολλά άλλα προϊόντα χρησιμοποιούν ελεύθερο λογισμικό για να λειτουργήσουν. Αν δεν υπήρχαν όλα αυτά τα ελεύθερα προγράμματα η τεχνολογία σήμερα όχι μόνο θα ήταν πολύ πιο ακριβή αλλά θα ήταν και πολύ λιγότερο εξελιγμένη, αφού η τεχνογνωσία δεν θα μπορούσε να διαχυθεί στη βιομηχανία και τα ακαδημαϊκά ιδρύματα σε όλο τον κόσμο.
Από την πλευρά του χρήστη, το ελεύθερο λογισμικό έχει μεγάλη αξία και τον αφορά άμεσα. Με το ελεύθερο λογισμικό ο χρήστης είναι σίγουρος ότι:
  • Αφού ο πηγαίος κώδικας είναι γνωστός, αν το πρόγραμμα περιέχει “κρυφές” λειτουργίες σε ελάχιστες μόνο ώρες όπως έχει φανεί στην πράξη θα βουίξει ολόκληρο το Internet με σχετικές προειδοποιήσεις. Δε χρειάζεται ο χρήστης να γνωρίζει προγραμματισμό, ούτε καν να διαβάσει τον πηγαίο κώδικα. Υπάρχουν χιλιάδες άνθρωποι σε όλο τον κόσμο που κάνουν αυτή τη δουλειά πάνω στην προσπάθειά τους να βελτιώσουν τον κώδικα ή να τον χρησιμοποιήσουν σε δικά τους projects.
  • Η ποιότητα των προγραμμάτων είναι πολύ υψηλή καθώς τα μάτια των έμπειρων προγραμματιστών που βλέπουν τον κώδικα δεν εξαντλούνται στους, συχνά ελάχιστους, υπαλλήλους που απασχολεί η εταιρία που τα αναπτύσσει. Όταν ο πηγαίος κώδικας είναι δημοσιοποιημένος, τότε πολλοί είναι αυτοί που θα θελήσουν να κάνουν τις δικές τους διορθώσεις και προσθήκες για να βελτιωθεί ο κώδικας και συνεπώς να βελτιωθεί η ποιότητα. Σε αυτό το σημείο να σημειώσουμε ότι οι αλλαγές που περνάνε στα επίσημα αποθετήρια των ελεύθερων προγραμμάτων δεν γίνονται άναρχα αλλά υπάρχουν αυστηρά καθορισμένοι κανόνες με τους οποίους μπορεί να δεχτεί ή να απορριφθεί μία αλλαγή. Αυτό συμβάλει ακόμα περισσότερο στην αύξηση της ποιότητας του τελικού προϊόντος.
  • Το κόστος χρήσης του υπολογιστή τηρείται χαμηλά, αφού το ελεύθερο λογισμικό διατίθεται δωρεάν.
  • Αφού δεν απαιτούνται χρήματα για τα ελεύθερα προγράμματα, μπορούμε να έχουμε στους υπολογιστές μας κάθε φορά τις τελευταίες εκδόσεις των προγραμμάτων. Έτσι έχουμε διαρκώς την πλήρη λειτουργικότητα της τελευταίας έκδοσης του προγράμματος αλλά και όλες τις τελευταίες ενημερώσεις που αφορούν την ασφάλεια του προγράμματος (πχ όταν κάνουμε ηλεκτρονικές αγορές με έναν browser).
  • Τα τυχόντα κενά ασφαλείας εντοπίζονται και διορθώνονται άμεσα, λόγω της δημοσιοποίησης του κώδικα. Χαρακτηριστικό παράδειγμα είναι ότι το 2006 έγινε γνωστό ότι ο Internet Explorer της Microsoft, ένα κατεξοχήν κλειστό πρόγραμμα, είχε ένα σημαντικό κενό ασφαλείας το οποίο η Microsoft δεν είχε φτιάξει για… 284 ημέρες!! Την ίδια περίοδο, το ίδρυμα Mozilla κατάφερνε σε ολόκληρη τη χρονιά να διορθώνει όλα τα κενά ασφαλείας του Firefox σε μόλις 9 ημέρες! Τα σχόλια είναι περιττά.
  • Η τεχνογνωσία που αποκομίζει τελικά μία εταιρία ολοένα και διογκώνεται, αφήνοντας την υπόλοιπη ανθρωπότητα στο ρόλο του απλού τελικού χρήστη που “ανάθεμα κι αν ξέρει πως δουλεύει” το πρόγραμμα που χρησιμοποιεί. Αυτό μακροπρόθεσμα θα έχει τεράστιες επιπτώσεις στις ζωές όλων μας. Το ελεύθερο λογισμικό δίνει απλόχερα την τεχνογνωσία σε όλη την ανθρωπότητα. Είναι χαρακτηριστικό ότι η τεχνογνωσία που κρύβεται στα προγράμματα-κλειδιά της διεθνούς βιομηχανίας της πληροφορικής παραμένει μυστικό ακόμα και για τους μεταπτυχιακούς φοιτητές και διδακτορικούς. Αυτός δεν είναι ο τρόπος για να οικοδομήσει η κοινωνία μία τεχνολογία που θα την υπηρετεί πραγματικά, αλλά ο τρόπος με τον οποίο συγκεκριμένες και λίγες διεθνείς μασωνίες μονοπωλούν τεχνογνωσία. Συν ότι κανείς δεν μπορεί να εγγυηθεί ότι δεν υπάρχουν κρυφές λειτουργίες στα κλειστά εμπορικά προγράμματα ευρείας χρήσης.

Το ελεύθερο λογισμικό είναι περισσότερο μία ιδέα η οποία εκφράζεται και αντιπροσωπεύεται από τις ελεύθερες άδειες χρήσης. Το Free Software Foundation ήταν το πρώτο που δημιούργησε μία άδεια χρήσης, την GPL. Αλλά η GPL δεν είναι η μοναδική ελεύθερη άδεια. Άλλες άδειες, που διαφοροποιούνται από ελαφρώς έως αρκετά από τις 4 ελευθερίες που αναφέραμε, είναι η BSD license, η Apache lisence, η Lesser GPL, η Mozilla Public License και πολλές άλλες. Η βασική ιδέα πάντως παραμένει ίδια.

Ένα ερώτημα που έχουν πολλοί, είναι το “Ωραία όλα αυτά αλλά… που είναι τα λεφτά;;”. Αφού το ελεύθερο λογισμικό διατίθεται δωρεάν, τότε πως μπορεί μία επιχείρηση να βγάλει κέρδος. Το ερώτημα αν και εύλογο, αγνοεί τις παραμέτρους του ελεύθερου λογισμικού. Το μόνο που δεν μπορεί να χρεώσει μία επιχείρηση είναι το ελεύθερο λογισμικό. Αυτό λέει η άδεια. Όμως, μπορεί να χρεώσει την εκπαίδευση, την εγκατάσταση, την υποστήριξη σε περίπτωση τεχνικού προβλήματος και την συντήρηση των προγραμμάτων. Επίσης, μπορεί μία εταιρία να χρησιμοποιήσει δωρεάν το ελεύθερο λογισμικό για να μπορέσει να προσφέρει υπηρεσίες επί πληρωμή. Πχ οι εταιρίες που παρέχουν φιλοξενία ιστοσελίδων και e-mail χρησιμοποιούν ελεύθερο λογισμικό (Linux, Apache, MySQL, PHP – η λεγόμενη πλατφόρμα LAMP) για το οποίο δεν πληρώνουν τίποτα. Αν ήταν αναγκασμένες να χρησιμοποιούν εμπορικό κλειστό λογισμικό οι τιμές τους θα ήταν πολύ υψηλότερες και κάποιες από αυτές ενδεχομένως να κλείναν μη μπορώντας να αντέξουν το βάρος της πληρωμής του. Αναφέραμε παραπάνω και το παράδειγμα των συσκευών που χρησιμοποιούν ελεύθερο λογισμικό, όπως αναφέρω και σε παλαιότερη ανάρτηση. Επομένως, το ελεύθερο λογισμικό είναι κάθε άλλο παρά εμπόδιο της επιχειρηματικότητας!

Κλείνοντας, να αναφέρουμε ότι μεταξύ των υποστηρικτών της ελεύθερης διάδοσης του λογισμικού δεν μπορεί να έλειπαν οι διαφωνίες και οι εσωτερικές διαμάχες. Υπάρχει επομένως το στρατόπεδο του ελεύθερου λογισμικού (Free Software) και αυτό του Ανοικτού Λογισμικού (Open Software). Οι μεν πρώτοι υποστηρίζουν τα όσα λέει το FSF περί των 4 ελευθεριών, οι δε δεύτεροι αρκούνται στην απλή διάθεση του κώδικα, χωρίς να απαιτούν τις ελευθερίες της αναδιανομής και τροποποίησης του κώδικα. Υπάρχουν ισχυρά επιχειρήματα και στις δύο πλευρές. Εμείς θα αρκεστούμε να πούμε ότι υπάρχουν αξιόλογα projects τόσο στο ελεύθερο λογισμικό όσο και στου ανοικτού κώδικα και θα τοποθετηθούμε κάπου στη μέση. Εκεί τάσσεται και η πλειονότητα των όσων δραστηριοποιούνται στο χώρο. Έτσι έχει προκύψει ο ελληνικότατος πλέον όρος (τσκ τσκ) FOSS, δηλαδή Free Software/Open Source Software, ένας συγκερασμός δηλαδή των δύο ρευμάτων. Στην Ελλάδα υπάρχουν δεκάδες κοινότητες και σύλλογοι που υποστηρίζουν και διαδίδουν το ελεύθερο λογισμικό διοργανώνοντας εκδηλώσεις και υποστηρίζοντας χρήστες, δήμους, ιδρύματα, οργανισμούς και επιχειρήσεις.

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