Γιατί είναι τόσο σημαντικό το Licensing στον ανοιχτό κώδικά μας;


Ένα από τα γνωστά προβλήματα όσων δημιουργούν (ή συνεισφέρουν) ΕΛ/ΛΑΚ (Ελεύθερου Λογισμικό / Λογισμικό Ανοιχτού Κώδικα) και ταυτόχρονα άγνωστο στη συντριπτική πλειονότητα των χρηστών, είναι το licensing του software ή σε πιο απλή γλώσσα η άδεια χρήσης του. Γιατί όμως είναι τόσο σημαντικό να επιλέξουμε μια άδεια χρήσης για τον κώδικά που θέλουμε να δημοσιεύσουμε π.χ. στο github.com;

Τι είναι η άδεια λογισμικού;

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

Μια τυπική άδεια λογισμικού παρέχει σε έναν τελικό χρήστη άδεια να χρησιμοποιήσει ένα ή περισσότερα αντίγραφα του λογισμικού, με τρόπους που αν δεν υπήρχε η είχε δοθεί η άδεια θα αποτελούσαν καταπάτηση των δικαιωμάτων του εκδότη ο οποίος ως ο ιδιοκτήτης των δικαιωμάτων χρήσης/copyright είναι αυτός που τα καθορίζει.[πηγή: Wikipedia]

Άδειες κλειστού λογισμικού

Δεν νομίζω ότι χρειάζεται να πούμε πολλά για τις άδειες κλειστού λογισμικού. Λίγο πολύ μας απαγορεύουν σχεδόν τα πάντα! Από την διανομή του λογισμικού (ελεύθερα ή με πληρωμή) ως και την τροποποίηση του, μερική ή ολική.

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

Άδειες ανοιχτού λογισμικού

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

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

Οι διαφορές στους 2 βασικούς τύπους αδειών αποτυπώνονται στο ακόλουθο γράφημα

Οι περιορισμοί και οι ελευθερίες ανάμεσα στις άδειες ανοιχτού και κλειστού κώδικα

Δημοφιλείς άδειες χρήσης Open Source

Βάσει της έρευνας που πραγματοποίησε η WhiteSource το 2016 για τις πιο δημοφιλείς άδειες χρήσης, εξετάζοντας πάνω από 70 εκ πηγαίους κώδικες, τα αποτελέσματα εμφανίζονται στην παρακάτω εικόνα:

giati-einai-simantiko-license
Διανομή των ανοιχτού κώδικα αδειών
πηγή εικόνας: whitesourcesoftware.com

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

Τη θέλω απλή και επιτρεπτική

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

Η j.Query, .ΝΕΤ Core και η Rails χρησιμοποιούν την άδεια MIT.

Επιτρέπει

  • Εμπορική χρήση
  • Διανομή
  • Τροποποίηση
  • Προσωπική Χρήση

Όροι

  • Η άδεια και το copyright πρέπει να συνοδεύονται μαζί με το software

Περιορισμοί

  • Ο δημιουργός δε φέρει ευθύνη αν συμβεί κάτι από τη χρήση του software
  • Η άδεια δεν παρέχει κανενός είδους εγγύηση

Ανησυχώ για τις πατέντες

H Apache License 2.0 είναι μια άδεια στα πρότυπα της MIT. Επιπλέον παρέχει ευρεία χορήγηση των δικαιωμάτων των πατεντών από τους συνεισφέροντες στους χρήστες.

Το Android, Apache αλλά και η Swift χρησιμοποιούν την Apache License 2.0.

Επιτρέπει

  • Εμπορική χρήση
  • Διανομή
  • Τροποποίηση
  • Χωρίς δικαιώματα πατεντών
  • Προσωπική Χρήση

Όροι

  • Η άδεια και το copyright πρέπει να συνοδεύονται μαζί με το software
  • Οι αλλαγές που έγιναν στο software πρέπει να αναφερθούν

Περιορισμοί

  • Ο δημιουργός δε φέρει ευθύνη αν συμβεί κάτι από τη χρήση του software
  • Η άδεια δεν παρέχει κανενός είδους εγγύηση
  • Δεν επιτρέπει τη χρήση του σήματος ή του ονόματος του αρχικού software

Με ενδιαφέρει ο διαμοιρασμός βελτιώσεων

Η GNU GPL3 είναι μια copyleft (o όρος δεν έχει ελληνική μετάφραση παρά μόνο περιφραστικά) άδεια που απαιτεί από οποιονδήποτε επιθυμεί να διανείμει,τροποποιήσει ή να διανείμει ένα παράγωγο έργο, να το κάνει υπό τους όρους της ίδιας άδειας όπως και επίσης να χορηγήσει πλήρως τα δικαιώματα των πατεντών από τους συνεισφέροντες στους χρήστες.

Το Bash, το Gimp και το Privacy Badger χρησιμοποιούν την GNU GPL3.

Επιτρέπει

  • Εμπορική χρήση
  • Διανομή
  • Τροποποίηση
  • Χωρίς δικαιώματα πατεντών
  • Προσωπική Χρήση

Όροι

  • Ο πηγαίος κώδικας πρέπει να έρχεται μαζί με το software
  • Η άδεια και το copyright πρέπει να συνοδεύονται μαζί με το software
  • Οι αλλαγές που έγιναν στο software πρέπει να αναφερθούν
  • Οι αλλαγές πρέπει να διανέμονται υπό τους όρους της ίδιας άδειας

Περιορισμοί

  • Ο δημιουργός δε φέρει ευθύνη αν συμβεί κάτι από τη χρήση του software
  • Η άδεια δεν παρέχει κανενός είδους εγγύηση

 

Γιατί είναι τόσο σημαντικό να επιλέξουμε άδεια χρήσης

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

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

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

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

Επίλογος

Το σημαντικότερο χαρακτηριστικό των λογισμικών που εντάσσονται στην κατηγορία του ΕΛ/ΛΑΚ είναι ότι αποτελούν προϊόντα που δημιουργούνται από ένα ψηφιδωτό ανθρώπων διαφορετικών εθνικοτήτων, διαφορετικών θρησκειών και απόψεων.  Αυτό και μόνο αναδεικνύει την αναγκαιότητα να προστατευτούν. Η χρήση αδειών είναι το λιγότερο που οφείλουμε να κάνουμε.

 

Περισσότερες πληροφορίες για τις άδειες χρήσης αλλά και βοήθεια να διαλέξετε μια, θα βρείτε στο https://choosealicense.com/
Advertisements

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s