Γιατί Free Software

Νίκος Μαυρογιαννόπουλος(mailto:nmav@hellug.gr)
Ιαν 2000

Σε αυτό το κείμενο θα προσπαθήσουμε να κάνουμε μια σύγκριση μεταξύ ιδιόκτητου λογισμικού (proprietary software) και ελεύθερου λογισμικού (free software).

Σε αυτό το σημείο θα πρέπει να κάνουμε μια διευκρίνιση η οποία είναι απαραίτητη: τo ελεύθερο λογισμικό δεν είναι public domain, είναι το λογισμικό όπως εχει οριστεί από το free software foundation ( http://www.fsf.org[1]). Αναφέρεται και σε εμπορικά προγράμματα, μιας και υπάρχουν πολλά παραδείγματα ελεύθερων προγραμμάτων που είναι εμπορικά (περισσότερες πληροφορίες στο http://www.gnu.org[2], και http://www.cygnus.com[3]).

1: http://www.fsf.org

2: http://www.gnu.org

3: http://www.cygnus.com

Αντίθετα με ότι συνήθως ακούμε η διαφορες μεταξύ του ελεύθερου λογισμικού και του ιδιόκτητου λογισμικου, δεν περιορίζονται στην τιμή του λογισμικού, ούτε ακόμη και στον ανοιχτό κώδικα.

Ανοικτός κώδικας:

Ο ανοικτός κώδικας (open source) είναι ένα βασικό κομμάτι του free software, χωρίς το οποίο η ιδέα αυτή θα ήταν άχρηστη. Όλα τα open source προγράμματα συνοδεύονται απο τον κώδικα τους, επιτρέποντας την αλλαγή του, για βελτίωση του ίδιου του προγράμματος, ή ακόμη και την χρησιμοποίηση του κώδικα αυτούσιου (η με αλλάγες) για την εξυπηρέτηση δικών μας αναγκών, με ορισμένους περιορισμούς, που θα δούμε παρακάτω. Ετσι μπορεί ο καθένας να βελτιώσει ένα πρόγραμμα και να του προσθέσει δυνατότητες που χρειάζεται, απλώς και μόνο χρηματοδοτώντας έναν προγραμματιστή για να το κάνει. Δεν εξαρτάται από τον αρχικό προγραμματιστή ή απο κάποια εταιρεία.

Αδεια χρήσης:

Δεν είναι όμως το open source το μόνο χαρακτηριστικό του free software, εξ'ίσου σημαντική είναι και η άδεια κάτω από την οποία μπορεί κάποιος να χρησιμοποιήσει κώδικα... Η οποία συνοψίζεται:

1. σε περίπτωση αλλαγής/χρησιμοποίησης κώδικα απο ελεύθερο λογισμικό, οι αποδέκτες του αλλαγμένουν κώδικα, πρέπει να έχουν τα ίδια δικαιώματα με αυτόν που τροποποίησε τον κώδικα, όχι λιγότερα.

2. Δεν υπάρχει περιορισμός στην διανομή ελεύθερου λογισμικού.

Αυτή η άδεια δεν επιτρέπει σε κάποια εταιρεία/προγραμματιστή να προσθέσει λίγες ή πολλές δυνατότητες σε ένα ελεύθερο πρόγραμμα, και να το προωθήσει ως ιδιόκτητο (δηλαδή να περιορίσει τα δικαιώματα του τελικού χρήστη, σε ένα μικρό υποσύνολο από αυτά που είχε καθορίσει ο αρχικός προγραμματιστής). Αυτός είναι και ο βασικός λόγος που ο πυρήνας του linux, και πολλά προγραμματά του παραμένουν ελεύθερα ακόμη και μετά την εισαγωγή εμπορικών εταιριών στην διανομή του. Αντίθετα λογισμικό ανοικτού κώδικα, όπως το BSD, κάτω από την άδεια του Berkeley, δεν κατάφερε να παραμείνει open-source, μετα την εισαγωγή εταιρίων στην διανομή του (στη συγκεκριμένη περίπτωση η ελευθερία του κώδικα δεν ήταν ο σκόπος).

Η τιμή:

Σε πολλές συζητήσεις ακόμη και στην linux-greek-users λίστα συζητήσεως, πολλοί αναφέρουν την τιμή σαν την πιο σημαντική διαφόρα του ελέυθερου λογισμικού από το ιδιόκτητο. Συνήθως αυτό δεν ισχύει. Δεν υπάρχει καμιά εγγύηση ότι το ελεύθερο λογισμικό είναι δωρεάν (εδώ μπερδέυει η αγγλική γλώσσα με την χρήση του "free" για να περιγράψει και το "δωρεάν" και το "ελεύθερο"). Το ελεύθερο λογισμικό μπορεί να μην είναι δωρεάν ενώ το ιδιόκτητο λογισμικό μπορεί να είναι δωρεάν (πόσα εμπορικά πακέτα δεν κυκλοφορούν δωρεάν ή σε πολύ χαμηλή τιμη για να αυξήσουν την δημοτικότητα τους;).

Ιδιόκτητο λογισμικό

Η ερώτηση μπορεί να τεθεί ως εξής: Αν η διαφορά ελεύθερου και ιδιόκτητου λογισμικού περιορίζεται στην τιμή, αν το ιδιόκτητο διανεμόταν δωρέαν θα ήταν ελεύθερο;

Μάλλον όχι.

Το ιδιόκτητο λογισμικό θέτει υπερβολικούς περιορισμούς ακόμη και αν διανέμεται δωρεάν.

1. Δεν μπορεί καποιος να μοιραστεί το πρόγραμμα με τους φίλους/γνωστούς του. Αν σας φαίνεται λογικό το παραπάνω σκεφτείτε το εξής: Θα δανείζατε ένα βιβλίο σας σε ένα φίλο σας που σας το ζήτησε; Ο φίλος σας αυτός μπορεί να επωφεληθεί διαβάζοντας αυτά που γράφει το βιβλίο; Θα κάνατε το ίδιο με το δισκάκι ενος ιδιόκτητου προγράμματος που έχετε αγοράσει; Αν όχι, τότε μαλλόν η εταιρεία σας έχει πείσει οτι αυτό δεν είναι σωστό, συνήθως αναφέροντας διαφυγόντα έσοδα. Είναι αυτό αποδεκτό; Πόσα βιβλία που έχετε δανειστεί για να διαβάσετε θα αγοράζατε; Ίσως και κανένα.

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

Αυτό μπορεί να γίνει πιο κατανοητό με το παράδειγμα μιας αγοράς αυτοκινήτου, του οποίου η εταιρεία σας υποχρεώνει να του κάνετε service, ή να αγοράζετε αξεσουάρ, μόνο στα τα δικά της καταστήματα.

3. Είναι παράνομο σύμφωνα με την άδεια του προγράμματος να δει κάποιος πως λειτουργεί(reverse engineering)! Δηλαδή έχουμε ένα πρόγραμμα το οποίο λειτουργεί για μας, αλλά μας απαγορεύει να δούμε τι ακριβώς κάνει και πώς το κάνει. Κατέχουμε δηλαδή ένα μαύρο κουτί, ερμητικά κλειστό.

Παραλληλήστε το, πάλι, με ένα αυτοκίνητο το οποίο έχει τέτοια άδεια χρήσης, ωστε να απαγορεύει να κοιτάξει κάποιος την μηχανή του.

Ευλογα αναρωτιέται κανείς αν είναι δικό του το πρόγραμμα που αγόρασε.

Από τα παραπάνω φαίνεται ότι μάλλον δεν είναι, είναι (όπως αναφέρει και ο τίτλος) ιδιοκτησία της εταιρείας που το παρήγαγε και απλώς μας δίνει μια άδεια περιορισμένης χρήσης.

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

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

Από αυτήν την ιδέα χαρακτηρίζεται η άδεια του λειτουργικού συστήματος BSD (που αναπτύχθηκε στο πανεπιστήμιο του Berkeley), ενώ η GNU General Public License[4] (η άδεια του free software), επεκτείνε αυτήν την άδεια ωστε να μπορεί να χρησιμοποιηθεί και στον εμπορικό κόσμο. Εξασφαλίζει τον συγγραφέα/προγραμματιστή ότι κανείς δεν θα περιορισει τα δικαιώματα που αυτός απέδωσε στον τελικό χρήστη ( Copyleft[5]).

4: http://www.gnu.org/copyleft/gpl.html

5: http://www.gnu.org/copyleft/copyleft.html

Αυτό επιβεβαιώνει και το γεγονός ότι υπάρχουν εμπορικά πρόγραμματα κάτω απο την GNU άδεια, ενώ ευτυχώς ή δυστυχώς δεν υπάρχουν εμπορικά προγράμματα κάτω απο μια BSD-like άδεια χρήσης.

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

Πέρα απο τη μετατροπή του χρήστη σε καταναλωτή, αυτή η αντιμετώπιση, έχει ως αποτέλεσμα να μην μπορεί ευκολα κάποιος να παρατηρήσει πιθανά λάθη στην υλοποίηση του πρωτοκόλλου ή στο ίδιο το πρωτόκολλο, ώστε να τα διορθώσει.

Για παράδειγμα το PPTP πρωτόκολλο που χρησιμοποιεί η Μicrosoft για πιστοποίηση στοιχείων, είχε και έχει σοβαρά προβλήματα ( http://www.counterpane.com/pptp.html[6]), γιατί κατά την υλοποίση του πιστέυτηκε ότι υπάρχει ασφάλεια αποκρύπτοντας τις λεπτομέρειες του πρωτοκόλλου.

6: http://www.counterpane.com/pptp.html

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

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

Απο τα παραπάνω βλέπουμε άλλον ένα σημαντικό, ίσως τον πιο σημαντικό λόγο, για να χρησιμοποιήσουμε ελευθερο λογισμικό. Δεν είναι μόνο η τιμή ή ο κώδικας, ο οποίος για τους μη προγραμματιστές είναι άχρηστος. Είναι η αντιμετώπιση μας ως σκεπτόμενους και ελεύθερους ανθρώπους. Με το ελεύθερο λογισμικό έχουμε δυνατότητες επιλογής, μπορούμε να επιλέξουμε σε ποιον θα απευθυνθούμε για βοήθεια, ή ποίος θα διορθώσει τα προβλήματα του λειτουργικού μας. Παρατηρήστε μόνο τον αριθμό των εταιριών που προσφέρουν διανομές linux (Redhat, Caldera, Suse, Corel κλπ), υποστήριξη σε linux, καθώς και τους τροποποιημένους πυρήνες Linux που υπάρχουν στο διαδίκτυο, και καλύπτουν διαφορετικές ανάγκες!

Δεν είναι μόνο ότι δεν παραμένουμε παθητικοί καταναλωτές, αλλά συμμετέχουμε και στην εξέλιξη του λογισμικού, ακόμα και σαν απλοί χρήστες.

Αρχική Σελίδα