Λογισμικό, Λειτουργικό Σύστημα και Linux!

Για να μπορέσουμε να εξηγήσουμε καλύτερα το τι είναι το Ελεύθερο Λογισμικό, θα πρέπει να μπούμε σε λίγο πιο τεχνικές λεπτομέρειες και να εξηγήσουμε κατ' αρχάς το τι είναι ένα λογισμικό γενικότερα.

Ellak Basics 04Για να δημιουργηθεί ένα πρόγραμμα, ένας προγραμματιστής γράφει μια σειρά από εντολές σε μια γλώσσα προγραμματισμού που είναι κατανοητή στον άνθρωπο, πχ "print Γειά σου!". Αυτή η μορφή είναι ο λεγόμενος “Πηγαίος Κώδικας”. Όμως ο επεξεργαστής του υπολογιστή, δεν μπορεί να το καταλάβει και να το εκτελέσει αυτό!

Έτσι θα πρέπει να μετατραπεί σε μορφή κατανοητή από τον υπολογιστή, μέσω μιας διαδικασίας που όταν γίνεται μας δίνει το λεγόμενο “Εκτελέσιμο Αρχείο”. Οι περισσότεροι θα έχετε δει τα εκτελέσιμα αρχεία ως αρχεία .exe, τα προγράμματα δηλαδή που συναντάμε σε έναν υπολογιστή με Windows. Τα αρχεία αυτά είναι πλέον σε μια μορφή που μπορούν να τρέξουν από τον υπολογιστή μας, όμως δεν έχουμε την δυνατότητα να τα επεξεργαστούμε, ούτε να δούμε το τι έχουν μέσα.

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

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

Ellak Basics 05Το βασικό πρόγραμμα ενός υπολογιστή είναι το λεγόμενο Λειτουργικό Σύστημα. Είναι το πρόγραμμα που πατάνε πάνω όλα τα προγράμματα για να μπορέσουν να τρέξουν στον υπολογιστή μας. (Σήμερα τα ποιο γνωστά λειτουργικά είναι τα Windows της Microsoft, το Mac OS της Apple αλλά και το ελεύθερο λειτουργικό GNU/Linux!)

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

Να θυμίσουμε ότι βασικός στόχος του Έργου GNU του Richard Stallman και της ομάδας του FSF, ήταν να δημιουργηθεί ένα ελεύθερο Λειτουργικό Σύστημα. Η ανάπτυξη του Έργου GNU ήταν συνεχής ενώ είχε φτάσει στο σημείο του να έχουν δημιουργηθεί όλα τα στοιχεία και τα υποπρογράμματα που χρειάζεται ένα Λειτουργικό Σύστημα εκτός από την "καρδιά", τον λεγόμενο Πυρήνα, που διαχειρίζεται τους πόρους του υπολογιστή και “μιλά” στο υλικό/hardware.

Αυτό το βασικό κενό έμελλε να καλυφθεί από τον Linus Tolvards, ο οποίος το 1991 ως φοιτητής άρχισε να αναπτύσσει πειραματικά έναν ελεύθερο πυρήνα με την ονομασία Linux!

Πλέον όλα τα γρανάζια ενός ανεξάρτητου και ελεύθερου Λειτουργικού Συστήματος είχαν αναπτυχθεί, από την μία του Έργου GNU και από την άλλη του Πυρήνα Linux, με αποτέλεσμα το 1993 να έχουμε τις πρώτες διανομές του Λειτουργικού Συστήματος GNU/Linux!

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