ΕΛ/ΛΑΚ τι είναι και ποια τα προτερήματα του

Τι είναι το ΕΛ/ΛΑΚ , ορισμός, φιλοσοφία, ιστορία και αρχές του

Δημοσίευσηαπό linuxman » Παρ Σεπ 11, 2009 7:53 pm

Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα: τι είναι και ποια τα προτερήματα του έναντι του Ιδιόκτητου Λογισμικού
Εισαγωγή / Περίληψη
Οι περισσότεροι από εμάς έχουμε αρκετή εμπειρία με το ιδιόκτητο λογισμικού. Είναι το λογισμικό που βρίσκουμε σχεδόν κατά αποκλειστικότητα στα ράφια των καταστημάτων. Το αγοράζουμε και το εγκαθιστούμε στον Η/Υ μας αφού φροντίσουμε να εισάγουμε έναν "σειριακό κωδικό". Μετά καμιά φορά πρέπει να κάνουμε και κάτι που λέγεται "ενεργοποίηση". Αν ένας φίλος μας το δει και του αρέσει αργά η γρήγορα θα συνειδητοποιήσουμε ότι οι κωδικοί και οι ενεργοποιήσεις έχουν σαν στόχο να μην μπορέσουμε να του δώσουμε ένα αντίγραφο ή το δικό μας CD για να το εγκαταστήσει και αυτός. Για την ακρίβεια κάποια στιγμή που από περιέργεια θα διαβάσουμε τις πρώτες οθόνες που εμφανίζονται κατά την εγκατάσταση θα μάθουμε πως δεν είναι απλά δύσκολο να το δώσουμε στο φίλο μας, είναι επίσης παράνομο. Επίσης οι ίδιες οθόνες συχνά αναφέρουν πως είναι παράνομα κι ένα σωρό άλλα πράγματα που ούτε καν υποψιαζόμασταν. Για παράδειγμα μερικές φορές αναφέρουν πως δεν επιτρέπεται να εγκαταστήσουμε το λογισμικό σε Η/Υ με διπλό επεξεργαστή, πως δεν επιτρέπεται να δημοσιεύσουμε μετρήσεις για τις επιδόσεις του, πως δεν επιτρέπεται να το εγκαταστήσουμε σε οποιοδήποτε άλλο Η/Υ εκτός από αυτόν με τον οποίο το αγοράσαμε, ενώ επίσης σχεδόν πάντα αναφέρουν πως απαγορεύεται η μελέτη και η τροποποίηση του λογισμικού. Οι προγραμματιστές μάλιστα ξέρουν, πως ακόμα και αν δεν απαγορευόταν, έχουν παραλάβει το λογισμικό σε μια μορφή που κάνει εξαιρετικά δύσκολη έως αδύνατη οποιαδήποτε εις βάθος μελέτη ή τροποποίηση.

Όλα τα παραπάνω είναι πολύ διαφορετικά στην περίπτωση του Ελεύθερου Λογισμικού / Λογισμικού Ανοικτού Κώδικα (ΕΛ/ΛΑΚ). Παρότι μπορεί κάλλιστα να το βρούμε στα ράφια των καταστημάτων και να πληρώσουμε για να το αγοράσουμε θα το βρούμε επίσης δωρεάν διαθέσιμο και στο Internet. Μετά θα το εγκαταστήσουμε σε όσους Η/Υ θέλουμε, θα το εκτελέσουμε για όποιο σκοπό θέλουμε, όπου θέλουμε και για όσα χρόνια θέλουμε ενω επιπλέον θα μπορούμε να το χαρίσουμε ή να το πουλήσουμε σε όποιον θέλουμε. Επίσης αν εμείς, οι κάποιοι φίλοι ή συνεργάτες μας, έχουμε γνώσεις προγραμματισμού, τότε μπορούμε να το μελετήσουμε, να το τροποποιήσουμε και να το βελτιώσουμε. Στην πραγματικότητα, πολλοί προγραμματιστές συμμετέχουν ακριβώς με αυτό τον τρόπο στην ανάπτυξη χιλιάδων εφαρμογών ΕΛ/ΛΑΚ.

Τα παραπάνω ακούγονται σε όσους δεν έχουν προσωπική εμπειρία με το ΕΛ/ΛΑΚ εντελώς ουτοπικά αλλά αποτελούν την καθημερινή πραγματικότητα για πολλά άτομα, εταιρείες και οργανισμούς που τα τελευταία χρόνια αξιοποιούν το ΕΛ/ΛΑΚ σε εργασίας τετριμμένες, πρωτοποριακές, απλές, περίπλοκες, ασήμαντες ή κρίσιμες.

Οι προηγούμενες παράγραφοι αποτελούν μια σύντομη περιγραφή και μια καλή προσέγγιση αλλά δεν αποκαλύπτουν αρκετές και σημαντικές λεπτομέρειες για το ΕΛ/ΛΑΚ και τα προτερήματα του έναντι του Ιδιόκτητου Λογισμικού. Το κείμενο που ακολουθεί έχει ακριβώς αυτό το σκοπό και πιστεύω ότι θα ανταμείψει για τον χρόνο που θα του αφιερώσετε (ναι, σωστά μαντέψατε - ακολουθεί πολύ κείμενο).

Θα ξεκινήσουμε φροντίζοντας να σιγουρευτούμε ότι όλοι κατέχουν κάποιες βασικές γνώσεις σχετικά με την ανάπτυξη και την νομοθεσία που διέπει τη διάθεση του λογισμικού . Στη συνέχεια θα εξετάσουμε τι σημαίνει να είναι ένα λογισμικό Ιδιόκτητο και πια μειονεκτήματα αυτό συνεπάγεται. Σε αυτό το σημείο θα μπορούμε πλέον να αποσαφηνίσουμε τι σημαίνει να είναι ένα λογισμικό ΕΛ/ΛΑΚ και πια πλεονεκτήματα αυτό συνεπάγεται. Ξεκινάμε λοιπόν με τις βασικές γνώσεις.


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

Το λογισμικό ως πνευματικό προϊόν τόσο στην μορφή του ως πηγαίος κώδικας όσο και ως εκτελέσιμος κώδικας καλύπτεται από την ελληνική νομοθεσία περί πνευματικής ιδιοκτησίας λίγο πολύ όπως και ένα μυθιστόρημα. Ως αποτέλεσμα ο δημιουργός του έχει σχεδόν αποκλειστικά δικαιώματα σε ότι αφορά την χρήση και εκμετάλλευση του λογισμικού που αναπτύσσει για κάμποσες δεκαετίες. Κάθε άλλος που θέλει να εκμεταλλευτεί το λογισμικό με κάποιο τρόπο (π.χ. απλά να το χρησιμοποιήσει) πρέπει να έχει άδεια από τον δημιουργό.

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

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

Ιδιόκτητο λογισμικό
Θα εξετάσουμε πρώτο και διεξοδικά το ιδιόκτητο λογισμικό, για δύο λόγους:

για το ΙΛ γνωρίζεται πιθανότατα αρκετά πράγματα. Ώστε η μελέτη του να μην σας δυσκολέψει ιδιαίτερα

το ΕΛ/ΛΑΚ δημιουργήθηκε για να ξεπεραστούν τα μειονεκτήματα του ΙΛ. Καταλαβαίνοντας ποια είναι αυτά θα μπορέσετε να καταλάβετε την "προστιθέμενη αξία" του ΕΛ/ΛΑΚ.

Ας αρχίσουμε λοιπόν:

Εδώ και τουλάχιστον 2 δεκαετίες η συντριπτική πλειοψηφία του λογισμικού που καταναλώνει ο τυπικός χρήστης ενός προσωπικού Η/Υ φτάνει στα χέρια του ως "πακέτο". Το πακέτο περιλαμβάνει συνήθως ένα φυσικό μέσο (π.χ. CD) στο οποίο είναι αποθηκευμένο το λογισμικό σε μορφή εκτελέσιμου κώδικα και μόνον. Αν ρωτήσετε τον αγοραστή αυτός συνήθως θα σας πει πως "αγόρασε το τάδε πακέτο λογισμικού". Η φράση αυτή οδηγεί εύκολα σε παρεξηγήσεις διότι συγκαλύπτει το γεγονός πως ο αγοραστής δεν απέκτησε το λογισμικό αυτό καθ' αυτό αλλά μια άδεια χρήσης του λογισμικού υπό κάποιους απολύτως συγκεκριμένους όρους

Επειδή η παραπάνω παρατήρηση είναι πολύ σημαντική είναι καλό να αποσαφηνιστεί με μία παραβολή:

Ο Γιάννης ζει σε ένα χωρίο 10 χιλιόμετρα από την πόλη. Το χωρίο του παρέχει τα περισσότερα από όσα χρειάζεται, αλλά μια στο τόσο θέλει να πηγαίνει και στην πόλη. Ο γείτονας του, ταλαντούχος μηχανολόγος μηχανικός, έχει κατασκευάσει με κόπο και μεράκι ένα αρκετά καλό αυτοκίνητο. Επειδή όμως είναι απορροφημένος με τα σχέδια και τις κατασκευές του το χρησιμοποιεί σπάνια. Προτείνει λοιπόν στον Γιάννη, αντί να ξοδέψει ένα σωρό λεφτά για την αγορά ενός αυτοκινήτου, να του παραχωρήσει μια άδεια χρήσης του δικού του. Φυσικά θέτει κάποιους όρους: θα το χρησιμοποιεί αυτός και μόνο αυτός, στην διαδρομή για την πόλη, το πολύ μια φορά τη βδομάδα και εφόσον συμπληρώνει την απαιτούμενη βενζίνη κάθε φορά. Ο Γιάννης σαν αντάλλαγμα του δίνει 1.000,00 ευρώ και παραλαμβάνει αντίγραφο από τα κλειδιά και μια άδεια χρήσης του αυτοκινήτου. Δηλαδή μια σελίδα κειμένου που αναφέρει τα παραπάνω δικαιώματα και υποχρεώσεις του σχετικά με το αυτοκίνητο με την υπογραφή του ιδιοκτήτη του στο τέλος.

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

Το λογισμικό που διατίθεται με αυτόν τον τρόπο χαρακτηρίζεται ως ιδιόκτητο (proprietary) επειδή παραμένει στην αποκλειστική ιδιοκτησία του κατασκευαστή του[cs]. Ο κατασκευαστής συνήθως παραχωρεί τόσο λίγα δικαιώματα που είναι σωστότερο να συζητάμε για το τι περιορισμοί τίθενται. Ας τους δούμε.

Περιορισμοί σχετικοί με το ιδιόκτητο λογισμικό που απασχολούν τον περισσότερο κόσμο
Κάθε λογισμικό συνοδεύεται από διαφορετικούς περιορισμούς σχετικά με την χρήση του. Για να δούμε τους πιο δημοφιλείς περιορισμούς θα εξετάσουμε δύο από τα διασημότερα ιδιόκτητα προγράμματα στον κόσμο, το Microsoft Office και τα Microsoft Windows σε μία επίσης δημοφιλέστατη εκδοχή τους (πρόκειται για την μορφή ΟΕΜ όπως ονομάζεται η εκδοχή που περιλαμβάνεται προεγκατεστημένη σε έναν νέο Η/Υ). Η πηγή μας θα είναι η σχετική λίστα με τις συνήθεις ερωτήσεις (FAQ) :

Ερ. Πέρυσι αγόρασα έναν Η/Υ με τα windows. Ο Η/Υ αυτός χάλασε χτες. Μπορώ να αγοράσω έναν καινούργιο Η/Υ και να εγκαταστήσω σε αυτόν τα Windows που ήδη έχω; Απ. ΟΧΙ. (Ναι, το ξέρω ότι μερικοί δεν μπορείτε να το πιστέψετε, είναι κατανοητό)

Ερ. Αγόρασα έναν Η/Υ με προεγκατεστημένο το Office 2003. Δυστυχώς το Office 2003 παρουσιάζει μια ασυμβατότητα με το λεξικό μου η οποία δεν υπήρχε στο Office XP. Μπορώ να εγκαταστήσω το προγενέστερο Office XP στη θέση του νεότερου πλην όμως ακατάλληλου για εμένα Office 2003; Απ. OXI

Ερ: "Έχω αγοράσει την ελληνική έκδοση του Office. Μπορώ στον ίδιο Η/Υ να εγκαταστήσω και την Γαλλική έκδοση για να καθοδηγώ στα μενού έναν Γάλλο φίλο μου όταν έχει πρόβλημα;" Απ.: "ΌΧΙ πρέπει να αγοράσετε χωριστά ΚΑΙ την γαλλική έκδοση" (για όσους καλοπροαίρετους υποθέτουν πως η γαλλική έκδοση, ίσως να έχει κάποια διαφορά από την ελληνική πέραν των λεκτικών, η απάντηση είναι πως όχι δεν έχει).

Ερ. Αγόρασα έναν Η/Υ με προεγκατεστημένο το Office 2003. Μου φαίνεται πολύ πιο ωραίο από το προηγούμενο! Μπορώ να το εγκαταστήσω και στο φορητό μου; Απ. ΟΧΙ (φυσικά εύκολα μαντεύει κανείς πως αν ρωτήσετε, μπορώ να το δώσω σε ένα φιλό μου; Η απάντηση θα είναι επίσης ΟΧΙ)


Άλλοι περιορισμοί του ιδιόκτητου λογισμικού

Οι παραπάνω είναι οι περιορισμοί που έχουν απασχολήσει τόσο πολύ κόσμο ώστε να συμπεριληφθούν στις "συχνές ερωτήσεις". Θα αναφέρω εδώ μερικούς ακόμα περιορισμούς τους οποίους αντιγράφω από την άδεια χρήσης των Windows XP Home. Η αναφορά θα είναι επιγραμματική και σε μορφή μίνι-ιστορίας για να μην γίνει κουραστική. Ως εκ τούτου ίσως να υστερεί ελαφρά σε ακρίβεια σε ορισμένα σημεία. Με την πρώτη ευκαιρία μπορείτε πάντα να διαβάσετε μια άλλη πολύ λεπτομερή ανάλυση της άδειας χρήσης των Windows XP .

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

Έστω πως οι αυτοκινητοβιομηχανίες μπορούσαν να πουλάνε αυτοκίνητα με το καπό της μηχανής κλειδωμένο με ένα κλειδί που το κρατούσαν οι ίδιες και δεν το έδιναν ούτε καν στους αποκλειστικούς τους αντιπρόσωπους. Ας δούμε λοιπόν τι θα συνέβαινε σε αυτή την υποθετική περίπτωση αλλά και τι όντως συμβαίνει στην περίπτωση του ιδιόκτητου λογισμικού:

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

Λογισμικό: Κανείς μηχανικός λογισμικού δεν μπορεί να σας πει αν το λογισμικό που σκοπεύετε να αγοράσετε έχει προφανείς ενδείξεις προχειρότητας και κακών τεχνικών προγραμματισμού. Μέχρι πρόσφατα[ΠΑ] ακόμα και οι μεγαλύτερες εταιρείες ή οι κυβερνήσεις που επενδύουν ασύλληπτα πόσα σε ιδιόκτητο λογισμικό δεν μπορούσαν να κάνουν ούτε καν στοιχειώδη επιθεώρηση του πηγαίου κώδικα.

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

Λογισμικό: Στις περισσότερες περιπτώσεις τα λάθη στο ιδιόκτητο λογισμικό δεν μπορεί να τα διορθώσει κανείς εκτός από την εταιρεία παραγωγής (ευτυχώς στην περίπτωση του λογισμικού δεν υφίσταται το ζήτημα της φθοράς). Όντως το ιδιόκτητο λογισμικό διατίθεται "ως είναι" χωρίς καμία εγγύηση και χωρίς καμία δέσμευση ότι τα λάθη θα διορθωθούν. Ακόμα και κρισιμότατα λάθη διορθώνονται όταν και εφόσον η εταιρεία παραγωγής κρίνει πως κάτι τέτοιο είναι σημαντικό με βάση την δική της οπτική γωνία και φυσικά μόνο για μερικά έτη μετά την κυκλοφορία του προϊόντος ή μόνο για τους πελάτες που πληρώνουν κάποιο συμβόλαιο συντήρησης. Ακόμα και μεγάλοι πελάτες που επενδύουν τεράστια ποσά σε αγορά ιδιόκτητου λογισμικού (π.χ. κυβερνήσεις) ξέρουν πως δύσκολα μπορούν να απαιτήσουν να γίνουν μετατροπές και βελτιώσεις στο λογισμικό που αγοράζουν [todo: some link]. Αγορά μετατροπών και βελτιώσεων ιδιόκτητου λογισμικού ουσιαστικά δεν υφίσταται.

Αυτοκίνητα: Η τεχνολογία των αυτοκινήτων θα εξελισσόταν πολύ αργά γιατί οι μηχανικοί των αυτοκινητοβιομηχανιών θα χωρίζονται από στεγανά και γιατί δεν θα μπορεί ο ένας να δει τις λύσεις του άλλου. Μάλιστα οι μηχανικοί των προηγμένων εργοστασίων σχεδόν πάντα δεσμεύονται από συμφωνίες εμπιστευτικότητας που δεν τους επιτρέπουν να δουλέψουν για μερικά χρόνια σε άλλη αυτοκινητοβιομηχανία. Σαν αποτέλεσμα οι οδηγοί θα χρησιμοποιούσαν ακόμα τσοκ αέρα για να ξεκινήσουν το αυτοκίνητο το πρωί και το ABS θα αποτελούσε όνειρο.

Λογισμικό: Σε κάποιο βαθμό αυτό σίγουρα συμβαίνει στην βιομηχανία του λογισμικού. Δυστυχώς μέχρι πριν λίγα χρόνια το θεωρούσαν είτε αναγκαίο κακό είτε μικρό κακό (ίσως επειδή μετριαζόταν και από την ξέφρενη ανάπτυξη της τεχνολογίας πληροφορικής ως σύνολο). Στους κύκλους όμως των ειδικών που μπορούν να συνειδητοποιήσουν της τεχνικές λεπτομέρειες, η ανέλπιστα αλματώδης ανάπτυξη μερικών εξεχόντων προγραμμάτων ΕΛ/ΛΑΚ (π.χ. Linux, Apache, MySQL) κλόνισε την αντίληψη πως δεν χάνουμε και πολλά πράγματα από πλευράς ταχύτητας εξέλιξης. [todo: some link]

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

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

    Μα ακόμα κι αν βλέπαμε τον κώδικα τι θα καταλαβαίναμε;
    Τι μας νοιάζει τι ακριβώς κάνει αν κάνει τη δουλειά μας;

Εκ πρώτης όψεως αφοπλιστικά ερωτήματα αλλά για να δούμε κάποια παραδείγματα:

Πόσο σέβεται και προφυλάσσει τα προσωπικά σας δεδομένα το λογισμικό της ψυχιατρικής κλινικής στο οποίο καταλήγει το ιατρικό σας ιστορικό; Πόσο σέβεται και προφυλάσσει τα προσωπικά σας δεδομένα το λογισμικό της εφορίας;

Γιατί θα ΠΡΕΠΕΙ να εμπιστευτούμε τυφλά τέτοια προγράμματα; Μήπως δεν πρέπει; Μήπως αντιθέτως θα έπρεπε να έχουμε το δικαίωμα να τα μελετήσουμε; Μήπως και μόνο αυτή τη δυνατότητα αρκεί για να αποθαρρύνει πολλούς προγραμματιστές με κάπως "χαλαρή" ηθική από το να προσθέσουν αυτή την "πίσω πόρτα" που θα τους δώσει πρόσβαση στα πολύτιμα στοιχεία; Διότι μπορεί το 99% από τους ενδιαφερόμενους να μην έχει την παραμικρή ιδέα για το είναι κώδικάς. Αλλά αρκεί ένας ικανός προγραμματιστής για να τους ξεσκεπάσει και να τους φέρει αντιμέτωπους με την δικαιοσύνη.

Εν κατακλείδι: φυσικά και υπάρχουν αρκετά προγράμματα για τα οποία σχεδόν κανείς δεν νοιάζεται τι ακριβώς κάνουν. Όμως στην εποχή μας υπάρχουν και πάρα πολλά άλλα τα οποία μας επηρεάζουν σοβαρά. Πρόκειται για αυτά τα οποία έχουν πρόσβαση άμεσα ή έμμεσα σε ιδιωτικά δεδομένα. Ειδικά όταν έχουν πρόσβαση σε ιδιωτικά δεδομένα μεγάλων ομάδων ανθρώπων τότε η μη πρόσβαση στον πηγαίο τους κώδικά είναι ακόμα και επικίνδυνη. Αρκετά κράτη και μεγάλες εταιρείες άρχισαν τα τελευταία χρόνια να συνειδητοποιούν αυτό τον κίνδυνο και η συνειδητοποίηση αυτή οδήγησε πανίσχυρες εταιρείες σαν την microsoft να αποδεχτούν την περιορισμένη δημοσιοποίηση του πηγαίου κώδικα των προγραμμάτων τους. Σε ορισμένες περιπτώσεις και με αυστηρούς όρους. [SS].

[todo: ο κλειστός κώδικας και το network effect ευνοεί την ανάπτυξη μονοπώλιου ("για να ανοίξεις τα έγγραφα μου πρέπει να έχεις το πρόγραμμα που έχω κι εγώ") ενώ ο ανοικτός κώδικας σχεδόν επιβάλει την ανάπτυξη ανοικτών/ελεύθερων αγορών[ΕΑ]

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


ΕΛ/ΛΑΚ
Τα θεμελιώδη μειονεκτήματα και οι περιορισμοί που επιβάλει στους χρήστες του το ιδιόκτητο λογισμικό είναι όπως είδαμε σοβαρά. Οι πρώτοι που συνειδητοποίησαν αυτή τη σοβαρότητα ήταν φυσικά αυτοί που είχαν τις μεγαλύτερες απαιτήσεις και τις περισσότερες γνώσεις: οι προγραμματιστές. Με την ανάπτυξη του Internet οι προγραμματιστές που συνειδητοποιούσαν τους περιορισμούς του ιδιόκτητου λογισμικού μπόρεσαν να έρθουν εύκολα σε επαφή και αναζήτησαν μια μέθοδο ανάπτυξης, διάθεσης και χρήσης λογισμικού που θα τους έδινε μεγαλύτερη ελευθερία. Το αποτέλεσμα ήταν αφενός η ωρίμανση μεθόδων συνεργασιακής ανάπτυξης και ελεύθερης διάθεσης λογισμικού το οποίο φτάνει στους χρήστες του με ελάχιστους περιορισμούς και αφετέρου μια αυξανόμενη συλλογή από τα προϊόντα αυτής της μεθόδου, δηλαδή το Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα.

Οι προγραμματιστές ΕΛ/ΛΑΚ δραστηριοποιούνται φυσικά εντός του νομικού πλαισίου περί πνευματική ιδιοκτησίας που αναφέραμε. Ως εκ τούτου μπορούν να παραχωρήσουν το προϊόν της δουλειάς τους διαθέτοντας στους ενδιαφερόμενους μια άδεια χρήσης. Σχετικά πρόχειρα αυτό που διαφοροποιεί το ΕΛ/ΛΑΚ από το ιδιόκτητο λογισμικό είναι η άδεια χρήσης βάση της οποίας διατίθεται. Το ΕΛ/ΛΑΚ διατίθεται με μία άδεια χρήσης που παρέχει στον χρήστη του σχεδόν όλα τα δικαιώματα που απολαμβάνει και ο ίδιος ο δημιουργός: συμπεριλαμβάνονται τα δικαιώματα χρήσης για κάθε σκοπό, αντιγραφής, διάθεσης σε τρίτους και το δικαίωμα της τροποποίησης για τη δημιουργία παράγωγου λογισμικού.

Η διάθεση του πηγαίου κώδικα είναι προαπαιτούμενη ώστε να μπορεί ο αποδέκτης να μελετήσει και να μετατρέψει το λογισμικό (επειδή όπως αναφέραμε ένας προγραμματιστής μπορεί να μελετήσει αποδοτικά και να κάνει ουσιαστικές τροποποιήσεις στο λογισμικό μόνο στην μορφή πηγαίου κώδικα). Η δυνατότητα της μελέτης και της μετατροπής του πηγαίου κώδικα ενέπνευσε όπως είναι προφανές την ονομασία "Open Source Software" που στα ελληνικά θα μπορούσε να αποδοθεί με ακρίβεια ως "λογισμικό ανοιχτού πηγαίου κώδικα" αλλά που χάριν συντομίας αποδίδεται ως "Λογισμικό Ανοικτού Κώδικα (ΛΑΚ)". Το δε γεγονός ότι ο αποδέκτης είναι ελεύθερος να αξιοποιήσει το λογισμικό σχεδόν με κάθε τρόπο ενέπνευσε την ονομασία "Ελεύθερο Λογισμικό (ΕΛ)".

Σε αυτό το σημείο και πριν δούμε πιο λεπτομερώς τι πρέπει να ισχύει ώστε ένα λογισμικό να θεωρείται αυτό ΕΛ/ΛΑΚ έχουμε την ευκαιρία να διαλευκάνουμε γιατί η ονομασία είναι μία αλλά διπλή: Η ονομασία "Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα" είναι λοιπόν διπλή διότι αφορά σε δύο τυπικά ξεχωριστούς ορισμούς και είναι μία διότι οι δύο αυτοί ορισμοί στην συντριπτική πλειοψηφία των περιπτώσεων περιγράφουν το ίδιο αντικείμενο! Η διατύπωση αυτή θυμίζει λίγο... σοφιστική οπότε ας εξηγήσουμε λίγο καλύτερα τι συμβαίνει:

Η ανάπτυξη του ΕΛ/ΛΑΚ είναι μια πρόσφατη τεχνική, οικονομική και κοινωνική εξέλιξη (2 με 3 δεκαετίες) και αρκετές λεπτομέρειες είναι ακόμα ρευστές. Υπάρχουν δύο φορείς που έχουν σφραγίσει με τις επιλογές τους αυτή την εξέλιξη. Η προσέγγιση τους εκπροσωπεί τους περισσότερους συμμετέχοντες. Πρόκειται για το Free Software Foundation (FSF) και το Open Source Initiative (OSI). Οι δύο φορείς είτε συμφωνούν είτε συγκλίνουν έντονα σε πάρα πολλά σημαντικά, πρακτικά και λειτουργικά ζητήματα. Για παράδειγμα, συγκλίνουν σχεδόν απόλυτα ως προς το τι πρέπει να ισχύει για να είναι ένα πρόγραμμα ΕΛ/ΛΑΚ (παρότι το περιγράφουν με διαφορετική γλώσσα!). Από την άλλη όμως, διαφωνούν σε διάφορα ιδεολογικά ζητήματα. Ίσως η βασικότερη ιδεολογική διαφορά είναι πως το FSF θεωρεί το μη-ελεύθερο λογισμικό κοινωνικό πρόβλημα που πρέπει να λυθεί ενώ το OSΙ το θεωρεί απλά μια μη ιδανική μέθοδο ανάπτυξης λογισμικού [ΒΔ][ΑΠΔ]. Επίσης οι δύο φορείς διαφέρουν ορισμένες φορές σε επιλογές όπως η πολιτική προώθησης του ΕΛ/ΛΑΚ.

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

Το Free Software Foundation ονομάζει ένα πρόγραμμα Ελεύθερο Λογισμικό αν η άδεια χρήσης διασφαλίζει τις παρακάτω τέσσερις ελευθερίες για τον αποδέκτη του:

    Την ελευθερία να εκτελέσουν το πρόγραμμα για οποιονδήποτε σκοπό

    Την ελευθερία να μελετήσουν τον τρόπο λειτουργίας του προγράμματος και να το προσαρμόσουν στις ανάγκες τους (η πρόσβαση στον πηγαίο κώδικα είναι προϋπόθεση για αυτό)

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

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

Το δε Open Source Initiative ονομάζει ένα λογισμικό Ανοικτού Κώδικα αν η άδεια χρήσης παρέχει τα παρακάτω δικαιώματα στον αποδέκτη του:

    Το δικαίωμα οποιουδήποτε να κάνει χρήση του λογισμικού για οποιοδήποτε σκοπό

    Το δικαίωμα να παραλαμβάνει τον πηγαίο κώδικα του λογισμικού και το δικαίωμα να τροποποιεί του λογισμικό

    Το δικαίωμα να αναδιανέμει το πρωτότυπο λογισμικό ή κάθε άλλο που προέκυψε από μετατροπή του πρωτότυπου (είτε επί αμοιβή είτε δωρεάν)

    Το δικαίωμα να αποκτήσει το λογισμικό χωρίς να καταβάλει κάποιο αντίτιμο.
Και οι δύο ορισμοί αφήνουν περιθώρια για την δημιουργία μιας πληθώρας αδειών χρήσης αλλά είναι επίσης φανερό πως συγκλίνουν εντονότατα. Αυτός ακριβώς είναι και ο λόγος που είναι τόσο δύσκολο μία άδεια χρήσης να καλύπτει μόνο τις απαιτήσεις του ενός φορέα και όχι του άλλου [ΔΔ]. Στην πράξη οι άδειες που καλύπτουν τις απαιτήσεις ενός και μόνο από τους δυο ορισμούς είναι ακόμα σπανιότερες διότι παρά τις όποιες διαφορές, υπάρχει αρκετή συγκατάβαση μεταξύ των ανθρώπων που εστερνίζοντε την φιλοσοφία του κάθε ενός από τους δύο φορείς ώστε οι περισσότεροι να κατακρίνουν την χρήση τέτοιων αδειών.[todo: ξέρει κανείς παράδειγμα;] Εν τέλη ο όρος ΕΛ/ΛΑΚ είναι κατάλληλος για το 99% του λογισμικού που είναι είτε Ελεύθερο είτε Ανοικτού κώδικα και για αυτό είναι και αρκετά διαδεδομένος.


Ποια είναι τα οφέλη του ΕΛ/ΛΑΚ
Τα οφέλη της χρήσης ΕΛ/ΛΑΚ είναι πολλαπλά. Μερικά αφορούν τον κάθε χρήστη και είναι προφανή ακόμα και με μια πρόχειρη ανάγνωση του ορισμού του τι είναι Ελεύθερο Λογισμικό ή του τι είναι Λογισμικό Ανοικτού Κώδικα:

    Μπορείτε πάντα να εκτελέσετε το λογισμικό για όποιο σκοπό θέλετε και σε όσους υπολογιστές θέλετε.

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

Μερικά οφέλη είναι επίσης προφανή αλλά αφορούν μόνο τους χρήστες που είτε έχουν οι ίδιοι γνώση προγραμματισμού είτε έχουν τη δυνατότητα να ζητήσουν την συνδρομή ενός προγραμματιστή:

    Μπορείτε να μετατρέψετε το λογισμικό. Αυτό σημαίνει πως μπορείτε να το προσαρμόσετε καλύτερα στις ανάγκες σας ή να το βελτιώσετε ή απλά να διορθώσετε κάποιο σφάλμα του (bug).

Μερικά οφέλη δεν είναι άμεσα προφανή:

    Μπορείτε να εκτιμήσετε πολύ καλύτερα την ποιότητα του λογισμικού και μπορείτε να ερευνήσετε για πιθανά σφάλματα (security holes) ή ακόμα και επί τούτου τοποθετημένα σημεία μη εξουσιοδοτημένης πρόσβασης (back doors) που μπορεί να επιτρέπουν κακόβουλες επιθέσεις ενάντια σε ευαίσθητα τμήματα του μηχανογραφικού σας εξοπλισμού.

    Επειδή η διανομή, η διόρθωση σφαλμάτων και η ανάπτυξη του λογισμικού ΕΛ/ΛΑΚ μπορεί να γίνει από κάθε τεχνικά καταρτισμένη ομάδα δημιουργείται ένα περιβάλλον έντονου ανταγωνισμού ο οποίος οδηγεί σε χαμηλές τιμές και υψηλές υπηρεσίες υποστήριξης.

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

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

    Οι χρήστες ΕΛ/ΛΑΚ που έχουν την δυνατότητα να βελτιώσουν τον πηγαίο κώδικα πολύ συχνά διανέμουν τα αποτελέσματα της προσπάθειάς τους ως ΕΛ/ΛΑΚ (είτε γιατί είναι υποχρεωμένοι από την άδεια χρήσης -προστατευτικές άδειες- είτε επειδή απλά είναι πολύ πιο οικονομικό και βολικό για αυτούς να ενσωματωθεί μια βελτίωση στο λογισμικό και να εξελιχτεί στην συνέχεια μαζί του)


Σημειώσεις
[ΦΙΛ] η φιλοσοφία και ο τρόπος σκέψεις όμως πιθανότατα έχει επηρεάσει και πολλούς άλλους χώρους πέρα από αυτό του IT
[ΔΕΛ] αν θέλουμε να είμαστε ακριβείς επηρεάζει και αυτόν που θέλει να πάρει μια εφαρμογή ΕΛ/ΛΑΚ και να την διαθέσει ως έχει σε τρίτους κάτω από άλλη άδεια χρήσης. Πλην όμως αυτή η περίπτωση είναι αρκετά περίεργη.
[ΠΡΟ] κάποιοι θα έλεγαν το προνόμιο
[ΒΔ] από το Why “Free Software” is better than “Open Source”: "As one person put it, “Open source is a development methodology; free software is a social movement.” For the Open Source movement, non-free software is a suboptimal solution. For the Free Software movement, non-free software is a social problem and free software is the solution."

[cs] καθόλου σπάνια κάποιοι -παρασυρόμενοι από το γεγονός πως η εμπειρία τους σχετικά με την εμπορική διακίνηση λογισμικού περιλαμβάνει αποκλειστικά και μόνο περιπτώσεις του παραπάνω τρόπου διάθεσης- αναφέρονται εσφαλμένα σε αυτό το λογισμικό και ως "εμπορικό λογισμικό" - commercial software.

[ΕΜ] αν και κάποιοι πιστεύουν ότι ίσως να είναι περισσότερο προστατευτική από ότι νομίζουμε βλ. BSD - The Dark Horse of Open Source, by Brendan Scott, OS Law

[ΕΑ] βλ. Ten Myths about Open Source Software a transcript of a talk given by Tim O'Reilly to a group of Fortune 500 executives in October: Myth #7. Open source only matters to programmers, since most users never look under the hood anyway. "The benefits of open source are exactly the same as the benefits of any other free market: competition between multiple suppliers results in lower prices, more innovation, and specialization to meet the needs of new niches. This is in fact the chief benefit of open source as far as I'm concerned: you are no longer locked into a single-source supplier. If worst comes to worst, you can solve your own problems; more likely, there will be a variety of third-party vendors who will be able to support you better than a single-source vendor ever will."

[SS] Από την σελίδα Government Security Program της microsoft "The Government Security Program (GSP) is a crucial element of Microsoft's efforts to address the unique security requirements of governments around the world. The GSP provides national governments with information to help them evaluate the security of Microsoft products. In 2001, Microsoft launched the Shared Source Initiative, expanding its long-standing efforts to make Windows source code more transparent to industry partners and customers. A year later, the company announced its Trustworthy Computing Initiative, placing security at the core of all Windows development efforts. The principles of these two critical directives are embodied in the GSP, a program built upon the cornerstones of transparency and partnership."

[ΑΠΔ] Ορίστε και η άποψη του FSF και η άποψη του OSI επί του θέματος της διαφοράς μεταξύ τους.

[ΔΔ] από το Open Source Software / Free Software (OSS/FS)References του David Wheeler:
“You can find definitions for the terms open source software and free software. In practice, nearly all software meeting one definition also meets the other.”

[ΤΑ] από τοOpen Source Software / Free Software (OSS/FS) References του David Wheeler:
“There are dozens of OSS/FS licenses, but nearly all OSS/FS software uses one of the four major licenses: the GNU General Public License (GPL), the GNU Lesser (or Library) General Public License (LGPL), the MIT (aka X11) license, and the BSD-new license. Indeed the Open Source Initiative refers to these four licenses as the classic open source licenses.
The GPL and LGPL are termed ``copylefting'' licenses, that is, these licenses are designed to prevent the code from becoming proprietary. See Perens' paper for more information comparing these licenses.

The GPL allows anyone to use the program and modify it, but prevents code from becoming proprietary once distributed and it also forbids proprietary programs from "linking" to it.

The MIT and BSD-new licenses let anyone do almost anything with the code except sue the authors. [...].

The LGPL is a compromise between the GPL and MIT/BSD-new approaches and is primarily intended for code libraries; like the GPL, LGPL-licensed software cannot be changed and made proprietary, but the LGPL does permit proprietary programs to link to the library.”

[ΠΑ] ελάχιστα χρόνια πριν η διάθεση προς επιθεώρηση από την Microsoft του πηγαίου κώδικα σε μεγάλους πελάτες κάτω από αυστηρότατα μέτρα (shared source initiative) προκάλεσε έκπληξη ενώ οι αναλυτές της αγοράς συμφωνούν πως οφείλετε κατά μεγάλο ποσοστό στην πίεση από το αντίθετο παράδειγμα του ΕΛ/ΛΑΚ .


Τα παραπάνω είναι συνοπτικά και ενδεικτικά - το εύρος των ωφελειών είναι δύσκολο να περιγραφεί σε ένα σύντομο κείμενο.
πηγή Νίκος Δήμου
Ευχαριστούμε τον ndemou (at) enlogic.gr για το κείμενο .
Οδηγίες προς Νεοεισερχόμενους
LinuxMint 17 qiana 3.13.0-24-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
Intel Core i3-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116]
wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a]
Άβαταρ μέλους
linuxman
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 912
Εγγραφή: Σάβ Φεβ 28, 2009 2:39 pm
Τοποθεσία: Θεσσαλονίκη

Δημοσίευσηαπό ApostolosZouk » Σάβ Οκτ 03, 2009 11:57 am

Πραγματικά το παραπάνω κείμενο είναι πάρα πολύ κατατοπιστικό. Κάθε νέος χρήστης όταν ακούει ελεύθερο λογισμικό δεν καταλαβαίνει για τι ακριβώς μιλάμε , ένας από αυτούς ήμουν και εγώ , είναι λίγο ρευστή η εικόνα που δημιουργείτε στο μυαλό του νέου χρήστη. Αυτό το κείμενο βάζει πολλά πράγματα σε μια τάξη! Μπράβο και πάλι μπράβο! :)
Γνώσεις ⇛ Linux: χαμηλό ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 9.04 64bit σε Laptop Toshiba A300
Προδιαγραφές ⇛TOSHIBA LAPTOP A-300 CPU: Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHz | RAM : 3GB | Hard Disk : 250GB 5400rpm
| Intel Corporation Mobile 4 Series Chipset Integrated Graphics|Intel Corporation HD Audio|
Άβαταρ μέλους
ApostolosZouk
babeTUX
babeTUX
 
Δημοσιεύσεις: 8
Εγγραφή: Τρί Σεπ 29, 2009 2:42 pm
Τοποθεσία: Δράμα

Δημοσίευσηαπό tellidis » Πέμ Νοέμ 19, 2009 3:42 pm

αν κάποιος θέλει, μπορεί να κατεβάσει και το υλικό από το 1ο μάθημα / παρουσίαση που έκανε ο Σύλλογος στο ΠΑΜΑΚ στις 15/11/2009 σχετικά με το τί είναι το ΕΛΛΑΚ και πως μπορεί να αξιοποιηθεί.

Every men die, but not every men really live...

Άβαταρ μέλους
tellidis
Ειδικός Συντονιστής
Ειδικός Συντονιστής
 
Δημοσιεύσεις: 36
Εγγραφή: Τετ Μάιος 27, 2009 9:55 am


Επιστροφή στο Τι είναι το ΕΛ/ΛΑΚ



Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης

cron