Page 45 - Linux Inside τ. 8

Basic HTML Version

Linux Inside
45
ΕΛΛΑΚ & Επιχειρηματικότητα
δοφορία προέρχεται εδώ όχι από συμβόλαια συγγραφής και
συντήρησης κώδικα, αλλά από την πώληση του τελικού προϊ-
όντος, που είναι το εκτελέσιμο αρχείο σε χιλιάδες κόπιες.
Developer
Σε αυτή την περίπτωση μπορούν να χρησιμοποιηθούν ερ-
γαλεία GPL, αλλά όχι κώδικας GPL.
Με άλλα λόγια, το όλο project θα αναπτυχθεί σε IDE, π.χ.,
Code::Blocks που είναι GPL, θα το μεταγλωττίσει ο GCC, αλ-
λά δεν θα χρησιμοποιήσω έτοιμο GPL κώδικα. Διότι, αν χρη-
σιμοποιήσω βιβλιοθήκες GPL, τότε το τελικό προϊόν θα πρέ-
πει να είναι και αυτό GPL, κάτι που είπαμε ότι δεν βολεύει.
Έτσι είτε θα πρέπει να αγοράσω τις βιβλιοθήκες ως ιδιό-
κτητο λογισμικό, είτε να βρω βιβλιοθήκες με άδεια τύπου
Permissive free software licence.
Το αποτέλεσμα δεν θα είναι GPL /LGPL, αφού θέλω σε αυ-
τό το σενάριο να περιορίσω τα αντίγραφα που θέλω να που-
λάω. Το αποτέλεσμα, όμως, θα είναι το λογισμικό αυτό να
έχει μία άδεια τύπου Permissive.
Μία τέτοια άδεια, όπως είπαμε, περιορίζει τον τελικό χρή-
στη σε διάφορα θέματα. Εδώ θέλουμε να περιορίσουμε τη
δυνατότητα αντιγραφής και διανομής του λογισμικού. Αν, λοι-
πόν, βρίσκαμε λογισμικό με άδεια, π.χ., BSD, θα μπορούσαμε
να αναπτύξουμε λογισμικό με τέτοιους περιορισμούς που θέ-
λουμε.
Η περίπτωση των αδειών BSD
Υπάρχουν διάφορες εκδόσεις της άδειας BSD. Το κυρίαρ-
χο σημείο όλων αυτών είναι ότι:
«Οποιοσδήποτε κώδικας εκδοθεί με την άδεια BSD μπορεί
να χρησιμοποιηθεί με οποιονδήποτε τρόπο επιλέξει ο deve-
loper, με τη μόνη προϋπόθεση ότι πρέπει να γίνει αναφορά
στο δημιουργό των βιβλιοθηκών που χρησιμοποιούνται».
Σε αντίθεση με την GPL, εδώ δεν απαιτείται απελευθέρωση
του κώδικα, αλλά και δεν απαγορεύεται για το τελικό λογισμι-
κό. Ο κατασκευαστής μπορεί να επιλέξει αν θα το κάνει.
Η άδεια BSD είναι τύπου Permissive free software license.
Συγκεκριμένα:
Η άδεια BSD (με τις 3 ρήτρες) επιτρέπει:
• τη χρήση του λογισμικού ως ιδιόκτητου ή όχι,
• την ενσωμάτωση του λογισμικού σε άλλα ιδιόκτητα λογι-
σμικά,
• το παραγόμενο λογισμικό μπορεί να εκδοθεί υπό άδεια
κλειστού ή ιδιόκτητου λογισμικού.
Αν, λοιπόν, βρω βιβλιοθήκες για το λογισμικό μου, που να
είναι BSD, μπορώ να «κλείσω» τον κώδικα που θα γράψω. Βέ-
βαια, ο κώδικας αυτός, όπως είπαμε, δεν μπορεί να περιέχει
GPL κώδικα.
Πελάτης
Από τη στιγμή που πουλάω κλειστό κώδικα, δεν αναγκάζομαι
να δώσω τον κώδικα και ο τελικός χρήστης δεν μπορεί να τον
αλλάξει, να τον αντιγράψει και να αναπαραγάγει το προϊόν.
Έτσι, ο πελάτης θα πρέπει να αγοράσει τις κόπιες των εκτελέ-
σιμων χωρίς τη δυνατότητα αντιγραφής και διανομής, αφού το
εκτελέσιμο μπορεί να είναι υπό δική μου ιδιόκτητη άδεια.
Συμπέρασμα
Συνήθως η βιομηχανία λογισμικού που κατασκευάζει γενι-
κής χρήσης λογισμικό, όπως εργαλεία, λειτουργικά συστήμα-
τα, drivers κ.λπ., θέλει να έχει πρόσβαση σε δωρεάν κώδικα
με ελεύθερα δικαιώματα μεταξύ των developers, αλλά ο τελι-
κός χρήστης να μπορεί να αγοράζει το προϊόν χωρίς να έχει
άλλα δικαιώματα. Κάτι τέτοιο κάνουν οι άδειες BSD, MIT,
Apache κ.λπ. Μία σύγκριση των αδειών αυτών δείχνει ότι οι
BSD/ΜΙΤ μένουν σιωπηλές στο θέμα χρήσης πατεντών, ενώ η
Apache προβλέπει και περιπτώσεις για χρήση πατεντών.
Σενάριο Δ: Συνδυασμός αδειών
Ας πούμε ότι θέλω να πάρω έτοιμο κώδικα που υπάρχει
άφθονος ως βιβλιοθήκες, αλλά είναι υπό διαφορετικές «ανοι-
χτές» άδειες, και να τον συνδυάσω.
Πώς θα ξέρω ποια άδεια συνδυάζεται με ποια, ώστε να επι-
λέξω τις βιβλιοθήκες που πρέπει;
Σε αυτό το θέμα πρέπει να συμβουλευτούμε έναν πίνακα
συμβατότητας αδειών ή και έναν νομικό σύμβουλο. Τέτοιοι πί-
νακες υπάρχουν στις ιστοσελίδες [4], [5] και [6].
Για να επιλέξουμε τις σωστές βιβλιοθήκες, θα πρέπει κάθε
βιβλιοθήκη να επιτρέπει τη σύνδεσή της με κώδικα με διαφο-
ρετική άδεια. Στη συνέχεια θα πρέπει να δούμε αν το τελικό
έργο μπορεί να εκδοθεί με διαφορετική άδεια από αυτή των
βιβλιοθηκών. Αυτό φαίνεται στον πίνακα General comparison
της ιστοσελίδας [6]. Γενικά, αυτό που θα πρέπει να γνωρίζου-
με είναι ότι τα έργα GPL/LGPL μπορούν να συνδεθούν με βι-
βλιοθήκες άλλων αδειών, αλλά το τελικό αποτέλεσμα πάντα
πρέπει να είναι GPL/LGPL.
Ενώ άλλες άδειες όπως η BSD, επιτρέπουν να συνδεθούν
άλλες βιβλιοθήκες στο έργο και επίσης το αποτέλεσμα να εί-
ναι σε όποια άδεια θέλουμε.
Σενάριο Ε: Λογισμικό με πολλαπλές άδειες
«Έχω ένα software house και με ενδιαφέρει να βρίσκω δω-
ρεάν και ελεύθερο κώδικα αλλά να μπορώ να τον χρησιμο-
ποιώ με την άδεια BSD, ώστε να παράγω ιδιόκτητο λογισμικό.»
Αυτό γίνεται σε λογισμικό που από την αρχή δίνεται με
πολλαπλές άδειες. Αν ο developer A κατέχει (copyright) όλο
τον κώδικα ενός driver, για παράδειγμα, μπορεί να τον εκδώ-
σει με διπλή άδεια. Θα μπορούσε να είναι GPL/BSD. Ένα έρ-
γο πολλαπλών αδειών στην ουσία μας επιτρέπει να διαλέ-
ξουμε ποια άδεια από αυτές θέλουμε να χρησιμοποιήσουμε.
Για παράδειγμα, η κοινότητα αναπτύσσει ελεύθερα και δωρε-
άν έναν driver με τον developer A και επιλέγει να κάνει χρήση
Οποιοσδήποτε κώδικας εκδοθεί με την
άδεια BSD μπορεί να χρησιμοποιηθεί με
οποιονδήποτε τρόπο επιλέξει ο developer,
με τη μόνη προϋπόθεση ότι πρέπει να γίνει
αναφορά στο δημιουργό.
2