Ο όρος ελεύθερο λογισμικό δεν αναφέρεται στην τιμή του λογισμικού. Το συστατικό ελεύθερο δεν είναι ταυτόσημο με το δωρεάν. Ένα ελεύθερο λογισμικό μπορεί κάλλιστα να αποτελεί αντικείμενο εμπορικής συναλλαγής, με μεγάλη μάλιστα αξία. Η ελευθερία του λογισμικού συνίσταται στα δικαιώματα χρήσης που παραχωρεί στους χρήστες του.
Για να θεωρηθεί μια άδεια λογισμικού ως ελεύθερη (free software license), θα πρέπει να δίνει στους αποδέκτες-χρήστες του λογισμικού, όλες τις ελευθερίες αναδιανομής και τροποποίησης, οι οποίες εξ ορισμού περιορίζονται από τους νόμους περί πνευματικής ιδιοκτησίας (copyright legislation). Το Ίδρυμα Ελεύθερου Λογισμικού (Free Software Foundation) σχηματικά αναφέρει τέσσερις ελευθερίες λογισμικού:
- Freedom 0: Η ελευθερία να εκτελέσεις το πρόγραμμα για οποιονδήποτε σκοπό.
- Freedom 1: Η ελευθερία να διαβάσεις ή να τροποποιήσεις τον πηγαίο κώδικα του προγράμματος (και κατά συνέπεια και το ίδιο το πρόγραμμα) για ιδιωτική χρήση.
- Freedom 2: Η ελευθερία να αντιγράψεις το αρχικό πρόγραμμα και να το δώσεις σε κάποιον τρίτο.
- Freedom 3: Η ελευθερία να μπορείς να δημοσιοποιείς τροποποιημένες και βελτιωμένες εκδόσεις του προγράμματος σε τρίτα άτομα.
Ένα ελεύθερο λογισμικό θα πρέπει να δίνει στους χρήστες του όλες τις παραπάνω ελευθερίες, σε αντίθεση με το πλήθος των ιδιόκτητων λογισμικών, τα οποία συνοδεύονται από άδειες κλειστού λογισμικού και επιτρέπουν μόνο την ελευθερία 0 και μάλιστα με κάποιους αυστηρούς όρους.
Ελεύθερο vs Ανοιχτό λογισμικό
Αρκετά συχνά, θέλοντας να αναφερθούμε σε λογισμικά που είναι ελεύθερα, χρησιμοποιούμε τους όρους ελεύθερο λογισμικό και ανοιχτό λογισμικό ή λογισμικό ανοιχτού κώδικα ως ταυτόσημους. Σήμερα υπάρχουν δυο κύριοι οργανισμοί οι οποίοι ασχολούνται με αυτήν την κατηγορία λογισμικού και με τις διάφορες άδειες χρήσης που υπάρχουν για αυτό. Από την μία υπάρχει το Ίδρυμα Ελεύθερου Λογισμικού (FSF-Free Software Foundation) το οποίο χρησιμοποιεί και προωθεί τον όρο ελεύθερο λογισμικό (free software), ενώ η Πρωτοβουλία Ανοιχτού Λογισμικού (OSI-Open Source Initiative), χρησιμοποιεί τον όρο λογισμικό ανοιχτού κώδικα (open source software).
Πρακτικά και οι δυο όροι όπως χρησιμοποιούνται, περιλαμβάνουν και τις τέσσερις ελευθερίες λογισμικού που αναφέρθηκαν παραπάνω. Επίσης και οι δύο οργανισμοί περιλαμβάνουν στις εγκεκριμένες λίστες τους, σχεδόν τις ίδιες άδειες, με το FSF να είναι λίγο αυστηρότερο. Οι άδειες όμως που έχουν εγκριθεί μόνο από το OSI ως ελεύθερες χρησιμοποιούνται ελάχιστα ως καθόλου.
Η διαφορά των δυο όρων και κατ’ επέκταση των δυο οργανισμών, είναι κυρίως ιδεολογική και φαίνεται από την δήλωση των σκοπών και των στόχων τους. Όπως δηλώνεται στην αρχική σελίδα του OSI
το open source ορίζεται ως μια τεχνική ανάπτυξης λογισμικού, η οποία βασίζεται στην πρόσβαση χωρίς περιορισμούς στον πηγαίο κώδικα, με στόχο την δημιουργία καλύτερων, πιο αξιόπιστων, πιο ευέλικτων και φθηνότερων προγραμμάτων, μέσω της συνεργατικής δουλειάς πολλών ατόμων.
Αντίθετα το FSF ορίζει ελεύθερο το λογισμικό
το οποίο δίνει στους χρήστες του την δυνατότητα να το μοιραστούν, να το μελετήσουν και να το τροποποιήσουν. H χρήση του ελεύθερου λογισμικού είναι μια κρίσιμη ηθική και πολιτική απόφαση, η οποία έχει ως κύριο στόχο την ελεύθερη διακίνηση της γνώσης.
Μπορούμε λοιπόν σε γενικές γραμμές να πούμε πως το “ανοιχτό λογισμικό” είναι περισσότερο ένας τεχνοκρατικός όρος (μοντέλο ανάπτυξης λογισμικού), ο οποίος περιγράφει αποκλειστικά τις διαδικασίες και τους τρόπους παραγωγής και βελτίωσης προγραμμάτων, ενώ το “ελεύθερο λογισμικό” είναι περισσότερο ένας πολιτικός και ηθικός όρος, ο οποίος έχει μια ιδεολογική διάσταση και δεν στέκεται στα στενά όρια της ανάπτυξης του λογισμικού. Μάλιστα στις σελίδες του FSF επισημαίνεται με έμφαση η διαφορά των δυο όρων και των δυο οργανισμών, ενώ οι επισκέπτες παροτρύνονται να χρησιμοποιούν τον όρο Ελεύθερο λογισμικό.
Κατηγορίες αδειών ελεύθερου λογισμικού
Σύμφωνα με την φιλοσοφία του FSF, οι άδειες ελεύθερου λογισμικού ανήκουν σε τρεις κύριες κατηγορίες, με βάση την δυνατότητά τους να διασφαλίζουν την συνεχή ελευθερία του λογισμικού. Έτσι έχουμε το κατοχυρωμένο λογισμικό (Copyleft), το μη κατοχυρωμένο (non-copyleft) το οποίο καλύπτεται από περισσότερο “επιτρεπτικές” άδειες (permissive), ενώ τέλος υπάρχει το λογισμικό κοινής ιδιοκτησίας (public domain).
Άδειες κατοχυρωμένου λογισμικού (Copyleft)
Οι copyleft άδειες, χρησιμοποιούν την ισχύ του copyright, την οποία έχει ο δημιουργός ενός λογισμικού, ώστε να διασφαλίσουν την ελευθερία των χρηστών του, σε αντίθεση με τις άδειες κλειστού λογισμικού, οι οποίες χρησιμοποιούν την ισχύ του copyright, για να περιορίσουν τα διακαιώματα των χρηστών. Σύμφωνα με την ισχύουσα νομοθεσία των περισσοτέρων χωρών του κόσμου, από την στιγμή που δημιουργείται μια πνευματική εργασία (συμπεριλαμβανομένου και του λογισμικού), ο δημιουργός της αυτομάτως αποκτά όλα τα πνευματικά δικαιώματα πάνω στο έργο του, τα οποία απαγορεύουν σε οποιονδήποτε άλλον, πέρα του ιδίου, να τροποποιήσει και να αναδιανέμει το λογισμικό, χωρίς την προηγούμενη ρητή συμφωνία του δημιουργού.
Οι άδειες που χαρακτηρίζονται σαν copyleft, περιλαμβάνουν όρους που υποχρεώνουν τον δημιουργό του έργου, αλλά και τους χρήστες που θέλουν να τροποποιήσουν και να διανέμουν τις τροποποιημένες εκδόσεις τους, να διατηρούν όλες τις ελευθερίες για όλες τις εκδόσεις, χωρίς να θέτουν περιορισμούς στους επόμενους χρήστες.
Για να το πετύχουν αυτό διατηρούν το copyright του δημιουργού, ο οποίος εκχωρεί στους χρήστες την δυνατότητα να τροποποιήσουν και να διανέμουν το λογισμικό, είτε αυτούσιο είτε με μετατροπές, αρκεί κάθε αντίγραφό του να υπόκειται στην αρχική άδεια. Έτσι αν κάποιος χρήστης φτιάξει ένα έργο που βασίζεται ή χρησιμοποιεί κομμάτια ενός copyleft λογισμικού, είναι υποχρεωμένος να το διανέμει με την ίδια άδεια του αρχικού λογισμικού. Με τον τρόπο αυτό, αποκλείουν την δυνατότητα της χρήσης ελεύθερου λογισμικού, για την δημιουργία ιδιόκτητου κλειστού λογισμικού (proprietary). Το κυριότερο παράδειγμα μιας ισχυρής copyleft άδειας ελεύθερου λογισμικού είναι η General Public License (GNU-GPL).
Άδειες μη κατοχυρωμένου λογισμικού. (non copyleft – permissive)
Στην κατηγορία αυτή εντάσσονται οι περισσότερες άδειες ελεύθερου λογισμικού, που δεν είναι ισχυρές copyleft. Οι άδειες αυτές είναι πιο ελαστικές στους τρόπους με τους οποίους μπορεί να αδειοδοτηθεί ένα παράγωγο έργο ενός ελεύθερου λογισμικού. Δεν δεσμεύουν τους χρήστες να διανέμουν τις τροποποιήσεις τους υπό την αρχική άδεια, επιτρέποντας με αυτόν τον τρόπο, να χρησιμοποιηθούν ελεύθερα λογισμικά για την δημιουργία κλειστών λογισμικών.
Οι άδειες ελεύθερου λογισμικού δεν ανήκουν αυστηρά σε μία από τις δυο κατηγορίες (Copyleft και non copyleft). Στην ουσία οι δυο αυτές κατηγορίες αποτελούν δυο πόλους, ανάμεσα στους οποίους τοποθετούνται οι άδειες. Έτσι υπάρχουν άδειες που είναι περισσότερο ή λιγότερο ισχυρές copyleft και αντίστοιχα λιγότερο ή περισσότερο “επιτρεπτικές” (permissive).
Χαρακτηριστικά παραδείγματα περισσότερο επιτρεπτικών αδειών αποτελούν η άδεια BSD και MIT, οι οποίες επιτρέπουν στους χρήστες που τροποποιούν το λογισμικό να διανέμουν αν επιθυμούν μόνο τον εκτελέσιμο κώδικα. Αντίθετα οι άδειες GNU-LGPL είναι λιγότερο επιτρεπτικές, αλλά όχι ισχυρές copyleft όπως οι GNU-GPL, καθώς επιτρέπουν μόνο σε μέρη του παράγωγου λογισμικού, που μπορούν να θεωρηθούν αυτόνομα από το αρχικό, να αδειοδοτηθούν με διαφορετικό τρόπο.
Λογισμικό κοινής ιδιοκτησίας (public domain software)
Ο όρος αυτός αναφέρεται στο λογισμικό το οποίο δεν καλύπτεται από καμιά άδεια (είτε ελεύθερη, είτε ιδιόκτητου λογισμικού), και ο δημιουργός του οποίου έχει αποκυρήξει ή απωλέσει οποιαδήποτε πνευματικά δικαιώματα (copyright) πάνω σε αυτό. Στην ουσία πρόκειται για λογισμικό το οποίο μπορεί να το χρησιμοποιήσει και να το τροποποιήσει ο οποιοσδήποτε, χωρίς κανένα περιορισμό, είτε σκοπεύει να φτιάξει ελεύθερο λογισμικό, είτε ιδιόκτητο.



