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

Δείτε τις ενότητες του οδηγού

Προτάσεις συνεργασίας

Διαφημίστε την επιχειρησή σας στο site του PCsteps, ή και στο κανάλι μας στο YouTube.

Επικοινωνία

Γίνε VIP μέλος στο PCSteps

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

Συμμετοχή

Τι είναι το λογισμικό ανοικτού κώδικα

Όταν αναφερόμαστε σε open source λογισμικό, εννοούμε οποιοδήποτε software μας επιτρέπει να δούμε τον πηγαίο του κώδικα (source code), να τον τροποποιήσουμε, και να τον μοιραστούμε ελεύθερα.

Τι Είναι τα Προγράμματα Ανοικτού Κώδικα / Open Source

Ο όρος “open source” αρχικά αφορούσε αποκλειστικά τον τρόπο δημιουργίας προγραμμάτων, και την ελευθερία στο να προσαρμόσουμε τα σχετικά προγράμματα.

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

Τι είναι ο πηγαίος κώδικας

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

Όταν από το κύκλωμα περνάει ρεύμα, το συμβολίζουμε ως “1”, αλλιώς το συμβολίζουμε ως “0”. Σε αυτή την πολύ βασική λογική στηρίζεται οποιοδήποτε πρόγραμμα τρέχουμε σήμερα, από τη μικρότερη εφαρμογή μέχρι ολόκληρο το λειτουργικό σύστημα.

Στο εσωτερικό οποιουδήποτε εκτελέσιμου αρχείου, βρίσκεται μια αλληλουχία από αμέτρητα 0 και 1, που εξηγούν στον υπολογιστή τι ακριβώς πρέπει να κάνει. Αυτός ο κώδικας ονομάζεται “γλώσσα μηχανής”.

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

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

Έτσι, εδώ και δεκαετίες, οι προγραμματιστές γράφουν εντολές σε “υψηλού επιπέδου” γλώσσες προγραμματισμού. Αντί για 0 και 1, δίνουν εντολές σε φυσική γλώσσα, στο 99.99% των περιπτώσεων στα Αγγλικά.

Όταν ολοκληρωθεί αυτός ο κώδικας, ο προγραμματιστής τον περνάει από τη διαδικασία που ονομάζεται compilation. Μία ειδική εφαρμογή, ο compiler, μετατρέπει την υψηλού επιπέδου γλώσσα προγραμματισμού σε γλώσσα μηχανής.

Αυτός είναι ο λόγος που ο αρχικός κώδικας ονομάζεται “πηγαίος κώδικας”. Αποτελεί την πηγή από την οποία θα δημιουργηθεί το τελικό εκτελέσιμο αρχείο, μέσω του compilation.

Τι σημασία έχει ο πηγαίος κώδικας

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

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

Ας πούμε πως έχει κάποιος πρόσβαση στον πηγαίο κώδικα των Windows – που υπολογίζεται πως αποτελείται από 40-50 εκατομμύρια γραμμές. Θα μπορούσε να φτιάξει μια δική του έκδοση του λειτουργικού, που να ονομάζεται “Binbows”.

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

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

Όταν όμως έχουμε τον τελικό κώδικα, τα ατέλειωτα 01100110 01110101 01100011 01101011, είναι εξαιρετικά δύσκολο να ανακαλύψουμε τον πηγαίο κώδικα. Είναι κατά κάποιον τρόπο σαν να έχεις μία ομελέτα και να προσπαθήσεις να την ξανακάνεις αυγά.

Υπάρχουν κάποιες μέθοδοι για να κατανοήσουμε μέρος του πηγαίου κώδικα από τον τελικό κώδικα, με μια διαδικασία που ονομάζεται “αντίστροφη μηχανική” (reverse engineering).

Όμως το reverse engineering δεν γίνεται αυτόματα με μια εφαρμογή αντίστροφη του compiler. Χρειάζεται έμπειρους προγραμματιστές εξειδικευμένους στο αντικείμενο, πολλαπλά εργαλεία, και σημαντική επένδυση σε χρόνο.

Σε πολύ μεγάλα project, όπως τα προαναφερθέντα Windows, είναι πρακτικά αδύνατον.

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

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

Αυτού του είδους το λογισμικό ονομάζεται ιδιόκτητο ή κλειστού κώδικα (proprietary software ή closed source).

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

Στα προγράμματα ανοικτού κώδικα, τα πράγματα είναι εντελώς διαφορετικά. Οι δημιουργοί, εκτός από το τελικό πρόγραμμα, δίνουν πρόσβαση και στον πηγαίο κώδικα που χρησιμοποίησαν.

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

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

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

Λογισμικό ανοικτού κώδικα σημαίνει δωρεάν;

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

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

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

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

Ένα χαρακτηριστικό παράδειγμα είναι το Redhat Linux, που χρησιμοποιείται κυρίως σε server. Πρόκειται για ένα λειτουργικό σύστημα ανοιχτού κώδικα, που όμως έχει εκδόσεις που ξεκινούν από τα 15.000 δολάρια.

Όταν μια εταιρεία έχει ένα μεγάλο εταιρικό server, και προκύψει κάποιο πρόβλημα στο λειτουργικό σύστημα, με την υποστήριξη της Redhat μπορεί να το λύσει γρήγορα και αποτελεσματικά.

Αντίστροφα, όλα τα δωρεάν προγράμματα που κυκλοφορούν στο ίντερνετ δεν είναι απαραίτητα και προγράμματα ανοικτού κώδικα.

Το μπέρδεμα μάλλον συμβαίνει λόγω της λέξης “free”, που εκτός από “δωρεάν”, σημαίνει και “ελεύθερος”. Όταν αναφερόμαστε σε free open source software, εννοούμε την ελευθερία με την οποία μπορεί να χρησιμοποιηθεί ο πηγαίος κώδικάς του.

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

Linux

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

Πρόκειται για ένα open source λειτουργικό σύστημα, ο κώδικας του οποίου είναι προσβάσιμος από όλους. Σε αντίθεση λοιπόν με τα άλλα δημοφιλή λειτουργικά συστήματα, όπως Windows, MacOS, iOS, τον κώδικα του Linux μπορεί να τον δει και να τον τροποποιήσει οποιοσδήποτε από εμάς.

Γι' αυτόν τον λόγο, παρότι ο βασικός πυρήνας του λειτουργικού παραμένει ίδιος, υπάρχουν αμέτρητες διανομές Linux με πολλές παραλλαγές και διαφορετικό λογισμικό.

Για παράδειγμα, η δημοφιλέστερη οικιακή διανομή Linux Mint ξεκίνησε πρακτικά μία αντιγραφή του γνωστού Ubuntu Linux, με σημαντικές τροποποιήσεις.

Αν θέλετε να επιλέξετε την κατάλληλη διανομή Linux για τον υπολογιστή σας, ρίξτε μια ματιά στον οδηγό μας:

Η Καλύτερη Διανομή Linux για τις Ανάγκες μας

Ανάμεσα στις 250+ διανομές που θα βρούμε στο Internet, είναι πρόκληση να ξεχωρίσουμε το ποια είναι η καλύτερη διανομή Linux για εμάς. Στον οδηγό θα δούμε ένα online…

Το Linux δημιουργήθηκε το 1991 από τον Linus Torvalds, ο οποίος ήταν τότε φοιτητής του Πανεπιστημίου του Ελσίνκι στη Φινλανδία.

Μάλιστα σκοπός του ήταν να ονομάσει το λογισμικό “Freax”, που αποτελούσε λογοπαίγνιο των λέξεων “free”, “freak”, και του γράμματος “x”. Το ”x” προέκυψε από το τελευταίο γράμμα του Unix, στο οποίο και βασίστηκε το Linux.

Ευτυχώς στην πορεία κάποιος απ' τους διαχειριστές του FTP server στον οποίο ο Torvalds ανέβασε τα αρχεία του, θεώρησε ότι το Freax είναι απαίσιο όνομα. Έτσι, με δική του πρωτοβουλία ονόμασε το project “Linux”, χρησιμοποιώντας το όνομα του δημιουργού και το “x” του Unix.

Ο Linus Torvalds κράτησε τελικά το “Linux”, και κάπως έτσι ξεκίνησε η ιστορία του δημοφιλούς πλέον λειτουργικού.

Πώς Ξεκίνησε το Linux – Παραλίγο να Ονομαζόταν “Freax”

To 1988, ένας νεαρός Φινλανδός μπήκε στο πανεπιστήμιο του Ελσίνκι για να σπουδάσει πληροφορική. Το όνομά του ήταν Linus Torvalds. Θα ήταν αδύνατον να φανταστεί πως…

GitHub

Μπορεί να έχει τύχει να ακούσετε για το GitHub, ή να έχετε δει κάποιο link που παραπέμπει στο GitHub όταν κατεβάσατε κάποιο πρόγραμμα ανοικτού κώδικα.

Το GitHub είναι κάτι παραπάνω από μία βάση δεδομένων με open source λογισμικό. Μέσω του συστήματός του, οι προγραμματιστές ανεβάζουν το λογισμικό ανοικτού κώδικα που δημιουργούν.

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

Με αυτόν τον τρόπο, οι προγραμματιστές μπορούν εύκολα να τροποποιήσουν το λογισμικό τους, να διαχειριστούν τις αλλαγές, και να ανεβάσουν ενημερώσεις.

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

Εδώ αξίζει να αναφέρουμε ότι το συγκεκριμένο σύστημα ελέγχου εκδόσεων ονομάζεται “Git” και δημιουργός του είναι ο Linus Torvalds. Σωστά καταλάβατε, ο ίδιος Linus Torvalds που δημιούργησε το Linux.

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

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

Google Open Source

Στις 28 Μαρτίου του 2017, η Google δημιούργησε μία σελίδα που συγκεντρώνει όλα τα προγράμματα ανοικτού κώδικα της εταιρείας.

Η συγκεκριμένη σελίδα δεν χρησιμοποιείται για να φιλοξενήσει τον κώδικα του open source λογισμικού, ούτε για να αντικαταστήσει το GitHub. Θα λέγαμε ότι αποτελεί κάτι σαν κεντρικό κατάλογο προγραμμάτων ανοιχτού κώδικα της Google.

Μεταβαίνοντας στη σελίδα των project, βλέπουμε ένα κινούμενο γράφημα με γραμμές και κουκκίδες.

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

Κάνοντας κλικ σε κάποια από τις κουκκίδες, έρχεται στο προσκήνιο μία “φούσκα” με την περιγραφή της εκάστοτε εφαρμογής.

Πατώντας στο View Project, μεταφερόμαστε στη σελίδα του προγράμματος. Από εκεί μπορούμε να δούμε διάφορες πληροφορίες για το πρόγραμμα, να μεταφερθούμε στη σελίδα που φιλοξενεί τον κώδικά του…

…καθώς και να εντοπίσουμε τα project με τα οποία συνδέεται.

Η εταιρεία έχει δηλώσει ότι, εκτός από μία απλή λίστα με προγράμματα ανοικτού κώδικα, το Google Open Source φιλοδοξεί να δείξει στους χρήστες τη στάση της Google απέναντι στο open source λογισμικό.

Γι' αυτόν τον σκοπό υπάρχει η καρτέλα Docs πάνω δεξιά στην κεντρική σελίδα. Εκεί η Google περιγράφει με ακρίβεια τους εσωτερικούς της κανόνες του open source.

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

Τα δημοφιλέστερα προγράμματα ανοικτού κώδικα

Μέχρι στιγμής αναφέραμε το Linux, το δημοφιλέστερο software ανοικτού κώδικα. Υπάρχουν όμως εκατοντάδες άλλα προγράμματα που χρησιμοποιούμε καθημερινά, και ίσως δεν γνωρίζαμε ότι είναι open source.

Για παράδειγμα, ο Firefox και ο Thunderbird της Mozilla είναι προγράμματα ανοικτού κώδικα. Ο Chrome, παρότι δεν ανήκει στην ίδια κατηγορία, είναι βασισμένος στο Chromium, ένα open source project της Google.

Τι είναι o Chromium / Σύγκριση με τον Chrome

Όπως είδαμε σε προηγούμενο άρθρο για την εγκατάσταση του Google Chrome στο Ubuntu / Lubuntu, εκτός από τον κλασσικό Chrome έχουμε την επιλογή να εγκαταστήσουμε…

Στο Chromium βασίζονται επίσης οι λεγόμενοι “κλώνοι” του Chrome, που έχουμε δει αναλυτικά σε παλαιότερο οδηγό.

Διαλέγοντας Εναλλακτικό Browser: Οι Καλύτεροι Κλώνοι Chrome/Firefox
Ψάχνεις Εναλλακτικό Browser? Οι Καλύτεροι Κλώνοι Chrome/Firefox

Οι περισσότεροι χρήστες χρησιμοποιούμε Chrome ή Firefox για την πλοήγηση στο Internet. Όμως υπάρχουν αρκετοί κλώνοι των δημοφιλών αυτών browsers που ενσωματώνουν διάφορες δυνατότητες και…

Όσον αφορά την αναπαραγωγή πολυμέσων, οι δημοφιλείς VLC και ο Media Player Classic ανήκουν και αυτοί στην κατηγορία των προγραμμάτων ανοικτού κώδικα.

Αναπαραγωγή Βίντεο & Ταινιών – Οι Καλύτεροι Media Player

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

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

Ταινίες-Online
Εγκατάσταση Kodi 19.0 “Matrix” & Πώς Να Δω Σειρές Και Ταινίες Online

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

Στον τομέα της επεξεργασίας πολυμέσων, το GIMP και το Audacity φιγουράρουν και αυτά πρώτα στη λίστα με τις δημοφιλέστερες open source εφαρμογές του είδους.

GIMP: Ένα δωρεάν Photoshop για Windows και Linux

Το Adobe Photoshop είναι η κορυφαία εφαρμογή στην κατηγορία της, τόσο που χρησιμοποιείται και σαν φράση: “Κάνω Photoshop”. Παρ' όλα αυτά, για έναν αρχάριο χρήστη…

Άλλες γνωστές εφαρμογές γενικής χρήσης είναι το Filezilla, το Peazip, και φυσικά οι περισσότερες εναλλακτικές σουίτες γραφείου, όπως το OpenOffice και το LibreOffice.

Δωρεάν Office 1
Δωρεάν Office – Οι καλύτερες Εναλλακτικές της Microsoft

Προγράμματα όπως τα Word, Excel, και PowerPoint, είναι απαραίτητα ουσιαστικά σε κάθε υπολογιστή. Όμως τα Windows δεν έρχονται με προεγκατεστημένη κάποια σουίτα Office, και το…

Τι γνώμη έχετε για τα προγράμματα ανοικτού κώδικα;

Τα προγράμματα ανοικτού κώδικα δεν σταματάνε εδώ. Το διαδίκτυο είναι γεμάτο με open source λύσεις για οποιαδήποτε εργασία ενδιαφερόμαστε να εκτελέσουμε.

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

Εσάς ποια είναι η γνώμη σας για το open source λογισμικό; Χρησιμοποιείτε κάποια ενδιαφέρουσα εφαρμογή ανοικτού κώδικα που θα θέλατε να μοιραστείτε μαζί μας; Γράψτε μας τις εντυπώσεις σας στα σχόλια.