Geomanagement

CALL NOW: 6970115279

Iστορία Open Source

Τι γνωρίζετε για το Open Source Software ή αλλιώς Λογισμικό Ανοιχτού Κώδικα; Πότε ξεκίνησε, από ποιους και σε ποια μορφή υπάρχει σήμερα; Διαβάστε περισσότερα γι’αυτό στη συνέχεια.

Τι ονομάζουμε Open Source Software;

Ονομάζεται εκείνο το λογισμικό, το οποίο:

διανέμεται δωρεάν
επιτρέπει στους υπόλοιπους προγραμματιστές να δουν τον πηγαίο κώδικα (source code) του και να τον τροποποιήσουν
επιτρέπει στους υπόλοιπους προγραμματιστές που το τροποποίησαν, να το στείλουν πίσω στον developer (το άτομο που το ανέπτυξε, μπορεί να είναι και εταιρεία), ώστε να γίνει έλεγχος στις βελτιώσεις που έγιναν
Ποια κριτήρια πρέπει να πληρεί ένα τέτοιου είδους Λογισμικό;

1. Ελεύθερη επαναδιάθεση (redistribution)

Η άδεια χρήσης δεν πρέπει να περιορίζει κανένα συμβαλόμενο μέρος από το να πωλήσει ή να χαρίσει το λογισμικό είτε ως συστατικό (component) είτε σαν συνολική διανομή λογισμικού (software distribution) που να περιέχει προγράμματα από διάφορετικές πηγές. Η άδεια χρήσης δεν πρέπει να απαιτεί δικαιώματα εκμετάλευσης ή άλλη αμοιβή για τέτοια πώληση.

2. Πηγαίος Κώδικας (Source Code)

Το πρόγραμμα πρέπει να περιλαμβάνει τον πηγαίο κώδικα, και πρέπει να επίτρέπει την διάθεση είτε σε πηγαίο κώδικα είτε σε μεταγλωτισμένη μορφή. Όπου κάποια μορφή ενός προγράμματος δεν διανέμεται με τον πηγαίο του κώδικα, πρέπει να υπάρχει ενας καλά δημοσιεύσιμος τρόπος απόκτησης του πηγαίου κώδικα για όχι παραπάνω από ένα λογικό κόστος αναπαραγωγής – προτιμότερα, να το κατεβάσει κάποιος μέσω του Ιnternet χωρίς χρέωση. Ο πηγαίος κώδικας πρέπει να είναι η προτεινόμενη μορφή στην οποία ο προγραμματιστής θα μπορεί να τροποποιήσει το πρόγραμμα. Πηγαίος κώδικας που προκαλεί σκεμμένα σύγχιση δεν επιτρέπεται. Ενδιάμεσες μορφές, όπως το αποτέλεσμα ενός προεπεξεργαστη (preprocessor) ή ενός μεταφραστή δεν επιτρέπονται.

3. Παραγώμενα έργα (Derived Works)

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

4. Ακεραιότητα του Πηγαίου Κώδικα του Συγγραφέα (Integrity of The Author’s Source Code)

Η άδεια χρήσης μπορεί να περιορίσει τον πηγαίο κώδικα απο το να διανέμεται τροποποιημένος μόνο αν η άδεια χρήσης επιτρέπει την διανομή αρχείων επιρραμάτων (patch files) με τον πηγαίο κώδικα με σκοπό την τροποποίηση του προγράμματος στο χρόνο ανάπτυξης (build time). Η άδεια χρήσης πρέπει ρητά να επιτρέπει την διανομή λογισμικού που έχει αναπτυχθεί (built) από τον τροποποιημένο πηγαίο κώδικα. Η άδεια χρήσης μπορεί να απαιτεί τα παραγόμενα έργα να χρησιμοποιούν διαφορετικό όνομα ή αριθμό έκδοσης από το αρχικό λογισμικο.

5. Καμία διάκριση ενάντια σε Πρόσωπα ή Ομάδες (No Discrimination Against Persons or Groups)

Η άδεια χρήσης δεν πρέπει να κάνει καμία διακριση ενάντια σε οποιοδήποτε πρόσωπο ή ομάδα προσώπων.

6. Καμία διάκριση ενάντια σε Πεδία Χρήσης (No Discrimination Against Fields of Endeavor)

Η άδεια χρήσης δεν πρέπει να περιορίζει οποιονδήποτε από το να κάνει χρήση του προγράμματος σε κάποιο συγκεκριμένο πεδίο χρήσης. Για παράδειγμα, δεν θα πρέπει να περιορίζει ένα πρόγραμμα από το να χρησιμοποιηθεί σε μία επιχείρηση, ή από το να χρησιμοποιηθεί από γενετική έρευνα.

7. Διανομή της άδειας χρήσης (Distribution of License)

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

8. Η Αδεια χρήσης ΔΕΝ ΠΡΕΠΕΙ να είναι συγκεκριμένη για ένα προϊόν (License Must Not Be Specific to a Product)

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

9. Η άδεια ΔΕΝ ΠΡΕΠΕΙ να περιορίζει άλλο Λογισμικό (License Must Not Restrict Other Software)

Η άδεια δεν πρέπει να θέτει περιορισμούς σε άλλο λογισμικο που διανέμεται μαζί με το υπό την παραπάνω άδεια λογισμικο. Για παράδειγμα, η άδεια δεν πρέπει να αξιώνει ότι όλα τα άλλα προγράμματα που διανέμονται με το ίδιο μέσο πρέπει να είναι λογισμικό άνοιχτού κώδικα (open-source).

10. Η άδεια χρήσης πρέπει να είναι τεχνολογικά ουδέτερη (License Must Be Technology-Neutral)

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

Πώς ξεκίνησε η φιλοσοφία του Open Source;

Στα τέλη της δεκαετίας του 1970 και στις αρχές της δεκαετίας του 1980, δύο διαφορετικές ομάδες έβαζαν τα θεμέλια για να υπάρχει σήμερα το κίνημα ανοιχτού λογισμικού.

Στην ανατολική πλευρά των Ηνωμένων Πολιτειών, ο Richard Stallman, πρώην μέλος του εργαστηρίου MIT AI lab, δημιούργησε το GNU project και το Free Software Foundation. Το GNU είχε ως στόχο να δημιουργήσει ένα ελεύθερο λειτουργικό σύστημα. Η άδεια του GNU (General Public License (GPL)) επέτρεψε στους χρήστες όχι μόνο να μπορούν να τροποποιούν, αλλά και να αναδιανέμουν τις εκδόσεις του λογισμικού που τροποποιούσαν. Έτσι, όσοι δούλευαν το Linux GPL, έπρεπε να συμφωνήσουν και να επιτρέψουν τη διακίνηση του κώδικα του Linux GPL στους υπόλοιπους χρήστες.

Στη δυτική πλευρά των Ηνωμένων Πολιτειών, το Computer Science Research Group (CSRG) του Πανεπιστημίου της California στο Berkeley, βελτίωνε το σύστημα Unix και ανέπτυσσε πολλές εφαρμογές, οι οποίες γρήγορα συντέλεσαν στο να γίνει το BSD (Berkeley Software Distribution) Unix. Οι προσπάθειες αυτές χρηματοδοτήθηκαν κυρίως από τη DARPA (Defense Advanced Research Projects Agency) και από ένα δίκτυο από Unix Hackers, οι οποίοι βοήθησαν στην απομάκρυνση των bugs, στη διατήρηση του συστήματος και στη βελτίωση του.

Μεταξύ του 1991 και 1992, όλη η ιδέα του Ανοιχτού Λογισμικού και της Ανάπτυξης του Λογισμικού γενικά, ήταν έτοιμα να αλλάξουν. Δύο διαφορετικά events έγιναν τότε.

Το πρώτο έγινε στην California. Εκεί ο Bill Jolitz, εκτελούσε τα τμήματα που έλειπαν για να ολοκληρωθεί η Net/2 διανομή, έως ότου είναι έτοιμη να τρέξει σε i386 (32bit) μηχανήματα. Το Net/2 ήταν το αποτέλεσμα μιας προσπάθειας του CSRG (Computer Systems Research Group) να δημιουργήσει μία έκδοση του BSD Unix, η οποία θα ήταν ελεύθερη από πνευματικά δικαιώματα (free of AT&T copyrighted code). Ο Bill Jolitz ονόμασε τη δουλειά του αυτή 386BSD και γρήγορα εκτιμήθηκε από τις κοινότητες BSD και Unix. Εκτός από τον kernel (πυρήνας ενός λειτουργικού συστήματος), διέθετε και πολλές εφαρμογές, οι οποίες συντελούσαν σε ένα ολοκληρωμένο λειτουργικό σύστημα.

Το δεύτερο έγινε στη Φινλανδία. Ο Linus Torvalds, ένας φοιτητής της επιστήμης των υπολογιστών, δυσαρεστημένος από το Minix (λειτουργικό σύστημα) του Tanenbaum, δημιουργούσε τις πρώτες εκδόσεις του Linux Kernel. Σύντομα, πολλοί άνθρωποι συνεργάζονται και κάνουν το kernel ολοένα και πιο χρήσιμο, προσθέτοντας και πολλές εφαρμογές, ώστε να ολοκληρωθεί το GNU/Linux, ένα αληθινό λειτουργικό σύστημα. Ο πυρήνας και οι εφαρμογές πάνω του, καλύπτονται από τη GPL (General Public License).

Το 1993, και το 386BSD και το GNU/Linux, αποτέλεσαν σταθερά λειτουργικά συστήματα. Από τότε, το 386BSD εξελίχθηκε σε μια οικογένεια λειτουργικών συστημάτων BSD (NetBSD, FreeBSD, και OpenBSD), ενώ το Linux Kernel εξελίχθηκε και χρησιμοποιήθηκε σε διανομές του GNU/Linux (Slackware, Debian, Red Hat, Suse, Mandrake και άλλες πολλές).

Ο Stallman επινόησε τον όρο “copyleft” για αυτούς τους τύπους αδειών. Είναι τα πνευματικά δικαιώματα του GPL και αντί να αφαιρεί τα δικαιώματα, δίνει τα δικαιώματα ώστε να αλλάξει κάποιος τον κώδικα ενός λογισμικού.