Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
commit
8ec8e9bee2
451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
114
content/articles/21/02_opensource.md
Κανονικό αρχείο
114
content/articles/21/02_opensource.md
Κανονικό αρχείο
|
@ -0,0 +1,114 @@
|
|||
+++
|
||||
title = 'Γιατί Free Software'
|
||||
date = '2000-01-01T00:00:00Z'
|
||||
description = ''
|
||||
author = 'Νίκος Μαυρογιαννόπουλος(mailto:nmav@hellug.gr)'
|
||||
issue = ['Magaz 21']
|
||||
issue_weight = 2
|
||||
+++
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Σε αυτό το κείμενο θα προσπαθήσουμε να κάνουμε μια σύγκριση μεταξύ ιδιόκτητου λογισμικού (proprietary software) και ελεύθερου λογισμικού (free software).*
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Σε αυτό το σημείο θα πρέπει να κάνουμε μια διευκρίνιση η οποία είναι απαραίτητη: τo ελεύθερο λογισμικό δεν είναι public domain, είναι το λογισμικό όπως εχει
|
||||
οριστεί από το free software foundation ( <http://www.fsf.org>). Αναφέρεται και σε εμπορικά προγράμματα, μιας και υπάρχουν πολλά παραδείγματα ελεύθερων
|
||||
προγραμμάτων που είναι εμπορικά (περισσότερες πληροφορίες στο <http://www.gnu.org>, και <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](http://www.gnu.org/copyleft/gpl.html) (η άδεια του free software), επεκτείνε αυτήν την άδεια ωστε να μπορεί να χρησιμοποιηθεί και στον εμπορικό κόσμο.
|
||||
Εξασφαλίζει τον συγγραφέα/προγραμματιστή ότι κανείς δεν θα περιορισει τα δικαιώματα που αυτός απέδωσε στον τελικό χρήστη (
|
||||
[Copyleft](http://www.gnu.org/copyleft/copyleft.html)).
|
||||
|
||||
Αυτό επιβεβαιώνει και το γεγονός ότι υπάρχουν εμπορικά πρόγραμματα κάτω απο την GNU άδεια, ενώ ευτυχώς ή δυστυχώς δεν υπάρχουν εμπορικά προγράμματα κάτω απο μια
|
||||
BSD-like άδεια χρήσης.
|
||||
|
||||
Τα προγράμματα κάτω απο μια ιδιόκτητη άδεια, προσπαθούν με κάθε δυνατό τρόπο να περιορισουν την γνώση που εσωκλείουν, προσπαθούν να μετατρέψουν τον τελικό
|
||||
χρήστη σε καταναλωτή που δεν ξέρει τι καταναλώνει. Για παράδειγμα όλα τα πρωτόκολλα που χρησιμοποιούν ιδιόκτητα προγράμματα είναι μυστικά, κανείς δεν μπορεί να
|
||||
δει πως αποθηκεύουν ένα αρχείο κειμένου στον σκληρό δίσκο, πως μεταφέρουν αρχεία απο υπολογιστή σε υπολογιστή, πως επιτυγχάνουν την πιστοποίηση στοιχείων.
|
||||
|
||||
Πέρα απο τη μετατροπή του χρήστη σε καταναλωτή, αυτή η αντιμετώπιση, έχει ως αποτέλεσμα να μην μπορεί ευκολα κάποιος να παρατηρήσει πιθανά λάθη στην υλοποίηση
|
||||
του πρωτοκόλλου ή στο ίδιο το πρωτόκολλο, ώστε να τα διορθώσει.\
|
||||
Για παράδειγμα το PPTP πρωτόκολλο που χρησιμοποιεί η Μicrosoft για πιστοποίηση στοιχείων, είχε και έχει σοβαρά προβλήματα (
|
||||
<http://www.counterpane.com/pptp.html>), γιατί κατά την υλοποίση του πιστέυτηκε ότι υπάρχει ασφάλεια αποκρύπτοντας τις λεπτομέρειες του πρωτοκόλλου.
|
||||
|
||||
Το συγκεκριμένο πρωτόκολλο έχει βελτιωθεί απο την στιγμή της πρώτης παρατήρησης των αδυναμιών, όμως συστήνεται ακόμα ως ακατάλληλο όταν η ασφάλεια είναι ο
|
||||
πρώταρχικός στόχος.
|
||||
|
||||
Σε ένα ελεύθερο λειτουργικό, θα μπορούσε οποιοσδήποτε να αντικαταστήσει αυτό το πρωτόκολλο με κάποιο καλύτερο, δεν θα ήταν αναγκασμένος να περιμένει μία
|
||||
εταιρεία να το βελτιώσει.
|
||||
|
||||
Απο τα παραπάνω βλέπουμε άλλον ένα σημαντικό, ίσως τον πιο σημαντικό λόγο, για να χρησιμοποιήσουμε ελευθερο λογισμικό. Δεν είναι μόνο η τιμή ή ο κώδικας, ο
|
||||
οποίος για τους μη προγραμματιστές είναι άχρηστος. Είναι η αντιμετώπιση μας ως σκεπτόμενους και ελεύθερους ανθρώπους. Με το ελεύθερο λογισμικό έχουμε
|
||||
δυνατότητες επιλογής, μπορούμε να επιλέξουμε σε ποιον θα απευθυνθούμε για βοήθεια, ή ποίος θα διορθώσει τα προβλήματα του λειτουργικού μας. Παρατηρήστε μόνο τον
|
||||
αριθμό των εταιριών που προσφέρουν διανομές linux (Redhat, Caldera, Suse, Corel κλπ), υποστήριξη σε linux, καθώς και τους τροποποιημένους πυρήνες Linux που
|
||||
υπάρχουν στο διαδίκτυο, και καλύπτουν διαφορετικές ανάγκες!
|
||||
|
||||
Δεν είναι μόνο ότι δεν παραμένουμε παθητικοί καταναλωτές, αλλά συμμετέχουμε και στην εξέλιξη του λογισμικού, ακόμα και σαν απλοί χρήστες.
|
Φόρτωση…
Προσθήκη πίνακα
Προσθήκη υπερσυνδέσμου
Παράθεση σε νέο ζήτημα