Τι είναι το λογισμικό ανοικτού κώδικα: Μια εισαγωγή
Πανελλήνιος Διαγωνισμός Εκπαιδευτικής Ρομποτικής Ανοιχτών Τεχνολογιών
O όρος “ανοιχτός κώδικας” αναφέρεται σε κάτι που μπορεί να τροποποιηθεί και να μοιραστεί ελεύθερα γιατί ο βασικός του σχεδιασμός είναι προσβάσιμος σε όλους. Ενώ σαν όρος προέρχεται από το πλαίσιο της ανάπτυξης λογισμικού, σήμερα ο όρος “open source” προσδιορίζει ένα γενικότερο σύνολο αξιών, το μοντέλο ανοικτού κώδικα. Έργα ανοικτού κώδικα, πρωτοβουλίες ή και προϊόντα, είναι εκείνα που αγκαλιάζουν και προωθούν την ανοικτή ανταλλαγή ιδεών, την συνεργατική συμμετοχή, την ταχεία πρωτοτυποποίηση, την διαφάνεια, την αξιοκρατία και την ανάπτυξη της κοινότητας.
Τι είναι το λογισμικό ανοιχτού κώδικα;
Λογισμικό ανοιχτού κώδικα είναι το λογισμικό του οποίου ο πηγαίος κώδικας είναι διαθέσιμος για την τροποποίηση ή την αναβάθμιση από οποιονδήποτε μέσω μιας ελεύθερης άδειας χρήσης. “Πηγαίος κώδικας” είναι το τμήμα του λογισμικού που οι περισσότεροι απλοί χρήστες δεν έχουν δει ποτέ. Οι προγραμματιστές που έχουν πρόσβαση στον πηγαίο κώδικα ενός προγράμματος όμως, μπορούν να βελτιώσουν το πρόγραμμα αυτό, με την προσθήκη χαρακτηριστικών και να διορθώσουν κάτι που δεν λειτουργεί σωστά.
Ποια είναι η διαφορά μεταξύ του λογισμικού ανοικτού κώδικα από τα άλλα είδη λογισμικού;
Για πολλές εφαρμογές λογισμικού, ο πηγαίος κώδικας τους δεν μπορεί να τροποποιηθεί από τον καθένα, αλλά μόνο από το άτομο, την ομάδα ή την εταιρία που τις δημιούργησε και διατηρεί τον αποκλειστικό έλεγχο πάνω τους. Αυτό το είδος του λογισμικού που καλείται συχνά «ιδιόκτητο – ιδιοταγές λογισμικό” ή λογισμικό “κλειστού κώδικα”, επειδή ο πηγαίος κώδικας του είναι ιδιοκτησία των αρχικών συγγραφέων του, οι οποίοι είναι και οι μόνοι που νομικά τους επιτρέπεται να το αντιγράψουν ή να το τροποποιήσουν. Το Microsoft Word και το Adobe Photoshop είναι παραδείγματα ιδιόκτητου λογισμικού. Για να χρησιμοποιήσουν οι χρήστες το ιδιόκτητο λογισμικό, θα πρέπει να συμφωνήσουν (συνήθως με την αποδοχή μιας άδειας χρήσης, που εμφανίζεται την πρώτη φορά που εκτελούν αυτό το λογισμικό) ότι δεν θα κάνουν τίποτα με το λογισμικό που δεν επιτρέπεται ρητά από τους ιδιοκτήτες του λογισμικού.
Το λογισμικό ανοιχτού κώδικα είναι διαφορετικό. Οι δημιουργοί του διαθέτουν ελεύθερα τον πηγαίο κώδικα του σε όλους όσους θέλουν να τον δουν, να τον αντιγράψουν, να μάθουν από αυτόν, να τον τροποποιήσουν ή και να το μοιραστούν. Το LibreOffice και το GIMP είναι παραδείγματα λογισμικού ανοικτού κώδικα. Όπως και με το κλειστό λογισμικό, οι χρήστες θα πρέπει να αποδεχτούν κάποιους όρους άδειας χρήσης, αλλά οι νομικοί όροι των αδειών ανοιχτού κώδικα διαφέρουν ριζικά από εκείνες των ιδιοταγών εφαρμογών. Οι άδειες χρήσης του λογισμικού ανοικτού κώδικα προωθούν την συνεργασία και την ανταλλαγή, διότι επιτρέπουν σε όλους να κάνουν τροποποιήσεις στον πηγαίο κώδικα και να ενσωματώσουν αυτές τις αλλαγές σε δικά τους έργα. Μερικές άδειες Ανοικτού Κώδικα διασφαλίζουν ότι τα άτομα που τροποποιούν και στη συνέχεια μοιράζονται ένα πρόγραμμα με τους άλλους, θα πρέπει επίσης να μοιράζονται και τον πηγαίο κώδικα αυτού του προγράμματος, χωρίς την επιβολή κάποιας μορφής τέλους αδειοδότησης για αυτό. Με άλλα λόγια, οι προγραμματιστές μπορούν να έχουν πρόσβαση, να προβάλουν και να τροποποιούν το λογισμικό ανοικτού κώδικα όποτε θέλουν, αρκεί να αφήνουν και άλλους να κάνουν το ίδιο, όταν μοιράζονται την εργασία τους. Σύμφωνα με το Open Source Initiative, “open source” δεν σημαίνει μόνο πρόσβαση στον πηγαίο κώδικα. Σημαίνει ότι ο καθένας θα πρέπει να είναι σε θέση να τροποποιήσει τον πηγαίο κώδικα για να το ταιριάξει στις ανάγκες του, και ότι κανείς δεν θα πρέπει να εμποδίζει τους άλλους από το να πράξουν το ίδιο. Ο ορισμός του Open Source Initiative για τον ανοικτό κώδικα περιλαμβάνει και διάφορες άλλες σημαντικές διατάξεις.
Είναι το λογισμικό ανοιχτού κώδικα σημαντικό μόνο για τους προγραμματιστές;
Το λογισμικό ανοιχτού κώδικα ωφελεί προγραμματιστές και μη-προγραμματιστές. Στην πραγματικότητα, επειδή ένα μεγάλο μέρος του διαδικτύου είναι κτισμένο σε τεχνολογίες ανοικτού κώδικα, όπως το Linux και ο Apache, όσοι χρησιμοποιούν το διαδίκτυο ωφελούνται από το λογισμικό ανοιχτού κώδικα. Τώρα που το cloud computing έχει γίνει μια σημαντική πτυχή της καθημερινής ζωής λόγω της δυνατότητας σύνδεσης στο Internet πολλών συσκευών, η συντριπτική πλειοψηφία των διακομιστών cloud βασίζεται σε προγράμματα ανοικτού κώδικα.
Γιατί προτιμάμε το λογισμικό ανοιχτού κώδικα;
Πολλοί άνθρωποι προτιμούν το λογισμικό ανοικτού κώδικα, διότι έχουν περισσότερο έλεγχο πάνω στο λογισμικό που χρησιμοποιούν. Μπορούν να εξετάσουν τον κώδικα του για να βεβαιωθούν ότι δεν κάνει κάτι χωρίς την θέληση τους και μπορούν να αλλάξουν τα μέρη που δεν τους αρέσουν. Οι χρήστες επίσης το προτιμούν, επειδή μπορούν να το χρησιμοποιήσουν για οποιοδήποτε σκοπό θέλουν και όχι μόνο με τον τρόπο που κάποιος έχει καθορίσει. Άλλοι, προτιμούν το λογισμικό ανοικτού κώδικα, διότι τους βοηθά να γίνουν καλύτεροι προγραμματιστές. Επειδή ο ανοικτός κώδικας είναι προσβάσιμος στο κοινό, οι μαθητές/φοιτητές μπορούν να μάθουν και να βελτιώνονται μελετώντας τι έχουν γράψει άλλοι. Μπορούν επίσης να μοιραστούν την εργασία τους με τους άλλους για σχόλια και κριτική. Μερικοί άνθρωποι προτιμούν το λογισμικό ανοικτού κώδικα, επειδή το θεωρούν πιο ασφαλή και σταθερό σε σύγκριση με το ιδιόκτητο λογισμικό. Επειδή ο καθένας μπορεί να δεί και να τροποποιήσει το λογισμικό ανοικτού κώδικα, είναι πολύ πιο εύκολος ο εντοπισμός και η διόρθωση σφαλμάτων ή παραλείψεων. Ακόμα επειδή πολλοί προγραμματιστές μπορούν να εργαστούν σε ένα κομμάτι του λογισμικού ανοικτού κώδικα χωρίς να ζητήσουν την άδεια από τους αρχικούς δημιουργούς, το λογισμικό ανοιχτού κώδικα είναι σταθερότερο και ενημερώνεται και αναβαθμίζεται πιο γρήγορα. Πολλοί χρήστες και εταιρίες προτιμούν το λογισμικό ανοικτού κώδικα για τα σημαντικά και μακροπρόθεσμα σχέδια τους. Επειδή ο πηγαίος κώδικας του είναι ελεύθερος, όσοι βασίζονται σε λογισμικό για κρίσιμες εργασίες μπορούν να είναι βέβαιοι ότι τα εργαλεία τους δεν θα εξαφανιστούν ή δεν θα σταματήσουν να ενημερώνονται αν οι αρχικοί του δημιουργοί σταματήσουν να εργάζονται πάνω σε αυτό, ή αν κλείσει η εταιρία που τα στηρίζει.
Το “open source” απλά σημαίνει ότι κάτι είναι δωρεάν;
Όχι. Αυτό είναι μια κοινή παρανόηση σχετικά με το τι σημαίνει “open source”. Οι προγραμματιστές μπορούν να χρεώνουν χρήματα για το λογισμικό ανοιχτού κώδικα που δημιουργούν ή στα έργα στα οποία συμβάλλουν. Αλλά επειδή οι περισσότερες άδειες χρήσης ανοιχτού κώδικα απαιτούν να έχουν ελεύθερο τον πηγαίο κώδικα τους όταν πωλούν λογισμικό σε άλλους, πολλοί προγραμματιστές λογισμικού ανοικτού κώδικα αμείβονται για την παροχή υπηρεσιών και υποστήριξης λογισμικού (και όχι για το ίδιο το λογισμικό) . Με αυτό τον τρόπο, το λογισμικό τους εξακολουθεί να είναι δωρεάν ενώ αμείβονται βοηθώντας τους άλλους στην εγκατάσταση, τη χρήση και την αντιμετώπιση των προβλημάτων του.
Το open source στην καθημερινότητα μας
O ανοικτός κώδικας δεν είναι μόνο ένας τρόπος για την ανάπτυξη και την χρήση λογισμικού αλλά και μια στάση ζωής. Ο ανοικτός κώδικας εκφράζει την επιθυμία των ανθρώπων να μοιράζονται και να συνεργάζονται με διαφανείς τρόπους . Σημαίνει δέσμευση να διαδραματίσουν ένα ενεργό ρόλο στη βελτίωση του κόσμου, η οποία είναι δυνατή μόνο όταν ο καθένας έχει πρόσβαση στον τρόπο με τον οποίο έχει σχεδιαστεί ο κόσμος.
Ο κόσμος γύρω μας είναι γεμάτος από «πηγαίο κώδικα» που διαμορφώνει τον τρόπο που σκεφτόμαστε και ενεργούμε σε αυτόν. Η εκπαίδευση, η κυβέρνηση, η υγεία, το δίκαιο, οι επιχειρήσεις καθώς και κάθε άλλος τομέας της ζωής μας αποτελούν τον πηγαίο μας κώδικα, ο οποίος θα λειτουργήσει καλύτερα μόνο όταν είναι ανοικτός.