Κατανοώντας το Λογισμικό Ανοικτού Κώδικα

Δημοσίευση από admin στις 3 Μαρτίου 2004

Mark Webbink - Senior Vice President and General Counsel of Red Hat Inc.

Θάνος Κυρίτσης - (djart at linux dot gr) Επιμέλεια της μετάφρασης του αρχικού άρθρου στα ελληνικά

Το παρακάτω είναι ένα καλό άρθρο που μπορείτε ακόμα και να το προτείνετε στον προϊστάμενό σας.

Ο Mark Webbink, διευθύνων αντι-πρόεδρος και γενικός σύμβουλος της RedHat Inc., έγραψε αυτό το άρθρο για τους εταιρικούς πληρεξούσιους, για να εξηγήσει το ελεύθερο και ανοικτού κώδικα λογισμικό, να συγκρίνει τις διάφορες άδειες ανοικτού κώδικα, να απαριθμήσει πώς πραγματικά λειτουργεί η GPL, να εξηγήσει το νόμο των αμερικανικών δικαιωμάτων πνευματικής ιδιοκτησίας, να καταγράψει τις καλύτερες πρακτικές των εταιρικών νομικών γραφείων για το λογισμικό, όλα αυτά από τη σκοπιά των ποιών πολιτικών είναι συνετότερες για τα εταιρικά περιβάλλοντα.

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

Αυτό το άρθρο δημοσιεύθηκε αρχικά στο τεύχος Μαρτίου 2003 του περιοδικού της κοινωνίας της Νότιας Νέας Ουαλίας για τους υπολογιστές και το νόμο ("Computers and the Law") και αναδημοσιεύθηκε με την άδεια του κ. Webbink στον ιστότοπο του Groklaw την Τετάρτη 31 Δεκεμβρίου 2003 (http://www.groklaw.net/article.php?story=20031231092027900).

Ο σύλλογος Hellug το αναδημοσιεύει μεταφρασμένο στα ελληνικά υπό την άδεια του ιστότοπου Groklaw.

Greek translation of Understanding Open Source Software - by Red Hat's Mark Webbink, Esq.


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

Η Πρωτοβουλία Ανοιχτού Κώδικα (OSI - Open Souce Initiative) καθορίζει τον ανοικτό κώδικα ως λογισμικό που παρέχει τα ακόλουθα δικαιώματα και υποχρεώσεις:

  1. Καμιά αμοιβή δικαιωμάτων εκμετάλλευσης ή άλλων δεν επιβάλεται στην αναδιανομή του ανοιχτού κώδικα.
  2. Διαθεσιμότητα του πηγαίου κώδικα.
  3. Δικαίωμα να δημιουργηθούν τροποποιήσεις και παράγωγες εργασίες.
  4. Μπορεί να απαιτείται οι τροποποιημένες εκδόσεις να διανέμονται ως η αρχική έκδοση συν οι τροποποιήσεις (διακριτά).
  5. Καμία διάκριση ενάντια σε πρόσωπα ή ομάδες.
  6. Καμία διάκριση ενάντια στα πεδία της προσπάθειας.
  7. Όλα τα δικαιώματα που χορηγούνται πρέπει να διατηρούνται στις αναδιανεμημένες εκδόσεις.
  8. Η άδεια εφαρμόζεται στο πρόγραμμα συνολικά, αλλά και σε κάθε ένα από τα συστατικά του.
  9. Η άδεια δεν πρέπει να περιορίζει άλλο λογισμικό, επιτρέποντας κατά συνέπεια την διανομή λογισμικού ανοικτού κώδικα και κλειστού κώδικα μαζί.

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

Όταν μιλάμε για το "ελεύθερο λογισμικό", δεν μιλάμε για το δωρεάν freeware λογισμικό, δηλαδή λογισμικό που υπάρχει εξ ολοκλήρου διαθέσιμο δωρεάν στο ευρύ κοινό. Αντί αυτού, μιλάμε για το λογισμικό που έχει χορηγηθεί υπό την άδεια του Ιδρύματος Ελεύθερου Λογισμικού (FSF - Free Software Foundation) και της γενικής δημόσιας άδειας (General Public License) GNU.

Σύμφωνα με τον ορισμό του Ιδρύματος Ελεύθερου Λογισμικού:

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

  1. Η ελευθερία να εκτελεστεί το πρόγραμμα, για οποιοδήποτε σκοπό (ελευθερία 0).
  2. Η ελευθερία να μελετηθεί το πώς λειτουργεί το πρόγραμμα και να προσαρμοστεί στις ανάγκες των χρηστών (ελευθερία 1). Η πρόσβαση στον πηγαίο κώδικα είναι μια προϋπόθεση για αυτό.
  3. Η ελευθερία να αναδιανεμηθούν αντίγραφα ώστε να ωφελούνται και οι γείτονές μας (ελευθερία 2).
  4. Η ελευθερία να βελτιωθεί το πρόγραμμα και να εκδοθούν οι τροποποιήσεις στο κοινό έτσι, ώστε ολόκληρη η κοινότητα να ωφελείται (ελευθερία 3). Η πρόσβαση στον πηγαίο κώδικα είναι μια προϋπόθεση για αυτό.

Ένα πρόγραμμα χαρακτηρίζεται ως ελεύθερο λογισμικό αν οι χρήστες έχουν όλες αυτές τις ελευθερίες."

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


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

Για να εκτιμήσουμε καλύτερα το λογισμικό Ανοικτού Κώδικα, χρειαζόμαστε μια βασική κατανόηση του νόμου δικαιωμάτων πνευματικής ιδιοκτησίας. Το λογισμικό Ανοικτού Κώδικα στηρίζεται πλήρως στα δικαιώματα πνευματικής ιδιοκτησίας [1]. Προκειμένου να εκτιμηθούν τα δικαιώματα που χορηγούνται κάτω από τις άδειες Ανοικτού Κώδικα, πρέπει πρώτα να είμαστε εξοικειωμένοι με τη βασική δέσμη των δικαιωμάτων που χορηγούνται στον κάτοχο πνευματικής ιδιοκτησίας. Στο πλαίσιο του Αμερικάνικου νόμου περί δικαιωμάτων πνευματικής ιδιοκτησίας, τα δικαιώματα αυτά είναι:

  1. Το αποκλειστικό δικαίωμα να αντιγραφεί η εργασία
  2. Το αποκλειστικό δικαίωμα να δημιουργηθούν παράγωγες εργασίες
  3. Το αποκλειστικό δικαίωμα να διανεμηθεί η εργασία
  4. Το αποκλειστικό δικαίωμα να εκπονηθεί η εργασία και
  5. Το αποκλειστικό δικαίωμα να παρουσιαστεί η εργασία [2]

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

  1. το σκοπό και το χαρακτήρα της χρήσης, που περιλαμβάνουν εάν μια τέτοια χρήση είναι εμπορικής φύσης ή είναι για τους μη κερδοσκοπικούς εκπαιδευτικούς σκοπούς
  2. τη φύση της πνευματικής ιδιοκτησίας
  3. το ποσό και την ουσία του μέρους που χρησιμοποιήθηκε σε σχέση με την εργασία συνολικά και
  4. την επίδραση της χρήσης επάνω στην πιθανή αγορά ή την αξία της εργασίας [3].

Οι εργασίες, όπως και το λογισμικό, μπορούν να διατεθούν στο κοινό και να υπάρξουν έξω από το πεδίο του νόμου των δικαιωμάτων πνευματικής ιδιοκτησίας [4]. Παρόλα αυτά, με τις αλλαγές στο νόμο δικαιωμάτων πνευματικής ιδιοκτησίας κατά τη δεκαετία του '70 και του '80, συμπεριλαμβανομένης της αυτόματης εφαρμογής των δικαιωμάτων πνευματικής ιδιοκτησίας κάτω από τη σύμβαση της Βέρνης, δεν είναι πλέον εύκολη δουλειά να διατεθεί το λογισμικό στο κοινό [5]. Το λογισμικό (ή οποιοδήποτε άλλο σώμα εργασίας) που διατείθενται στο κοινό δεν μπορούν, εξ ορισμού, να θέσουν οποιουσδήποτε περιορισμούς στο πώς μπορεί να χρησιμοποιηθεί, τροποποιηθεί ή διανεμηθεί και από ποιόν (αν και άλλοι νόμοι, όπως οι έλεγχοι εξαγωγής, μπορούν ακόμα να περιορίσουν τη χρήση ή τη διανομή λογισμικού). Εάν το λογισμικό Ανοικτού Κώδικα υπαγόταν στο κοινό (δηλαδή μη υπαγόμενο στα δικαιώματα πνευματικής ιδιοκτησίας επειδή ο δημιουργός τα έχει αποκηρύξει), οποιαδήποτε επιχείρηση ή άτομο θα μπορούσε να χρησιμοποιήσει το λογισμικό για οποιοδήποτε σκοπό χωρίς οποιοδήποτε περιορισμό δικαιωμάτων πνευματικής ιδιοκτησίας και δεν θα υπήρχαν απαιτήσεις για τη νομική αναθεώρηση πέρα από την εξασφάλιση της συμμόρφωσης με άλλα καταστατικά (που εφαρμόζονται εξίσου σε όλο το άλλο λογισμικό, είτε του κοινού ή όχι). Επειδή το λογισμικό Ανοικτού Κώδικα δεν υπάγεται στην κοινή διάθεση, αλλά αντ' αυτού προστατεύεται από το νόμο δικαιωμάτων πνευματικής ιδιοκτησίας και χορηγείται υπο άδεια χρήσης ορισμένων και ίσως μη συμβατικών όρων, αυτοί οι όροι πρέπει να γίνουν κατανοητοί.

Μια έγκυρη άδεια δικαιωμάτων πνευματικής ιδιοκτησίας εφαρμόζεται στο σώμα μιας εργασίας και πρέπει να εισάγει τουλάχιστον έναν περιορισμό. Μια άδεια δικαιωμάτων πνευματικής ιδιοκτησίας που δεν δηλώνει κανέναν περιορισμό χορηγεί σιωπηρά όλα τα δικαιώματα, συμπεριλαμβανομένων των δικαιωμάτων χρήσης, τροποποίησης, διανομής, κ.λπ. Οι περισσότερες ιδιόκτητες (proprietary) άδειες δικαιωμάτων πνευματικής ιδιοκτησίας λογισμικού περιλαμβάνουν περιορισμούς στη χρήση (συμπεριλαμβανομένων των καθορισμών της "δίκαιης χρήσης", που συνήθως δεν περιλαμβάνουν αντίστροφα εφαρμοσμένη μηχανική -reverse engineering-, ή άλλες τέτοιες χρήσεις), την αντιγραφή (συνήθως μόνο για τους σκοπούς του αντίγραφου ασφαλείας -backup-) και την αναδιανομή (συνήθως μόνο όταν ενεργεί για έναν εξουσιοδοτημένο μεταπωλητή του ιδιοκτήτη των πνευματικών δικαιωμάτων).


3. Τύποι αδειών Ανοικτού Κώδικα

Οι άδειες Ανοικτού Κώδικα μπορούν να κατηγοριοποιηθούν στους ακόλουθους τύπους: (1) εκείνες που δεν εφαρμόζουν κανέναν περιορισμό στην διανομή των παραγώγων εργασιών (θα ονομάσουμε αυτές τις άδειες ως Μη-Προστατευτικές άδειες επειδή δεν προστατεύουν τον κώδικα από τη χρήση του στις μη-ανοικτού κώδικα εφαρμογές) και (2) εκείνες που εφαρμόζουν τέτοιους περιορισμούς (θα ονομάσουμε αυτές τις άδειες ως Προστατευτικές άδειες επειδή εξασφαλίζουν ότι ο κώδικας θα παραμείνει πάντα ανοικτός/ελεύθερος).

Για να εκτιμηθεί καλύτερα η φύση αυτών των αδειών, είναι χρήσιμο να φανταστούμε τις άδειες λογισμικού ως μια επέκταση των δικαιωμάτων πνευματικής ιδιοκτησίας. Δείτε το διάγραμμα 1 [6].

Το λογισμικό που έχει διατεθεί στο κοινό είναι ελεύθερο όλων των περιορισμών, όλα τα δικαιώματα της πνευματικής ιδιοκτησίας έχουν χορηγηθεί στο κοινό. Οι χορηγούντες άδεια των Μη-Προστατευτικών αδειών Ανοικτού Κώδικα διατηρούν τα δικαιώματα της πνευματικής ιδιοκτησίας τους, αλλά χορηγούν όλα αυτά τα δικαιώματα στον κάτοχο άδειας. Οι χορηγούντες άδεια των Προστατευτικών αδειών Ανοικτού Κώδικα διατηρούν τα δικαιώματα της πνευματικής ιδιοκτησίας τους, χορηγούν όλα αυτά τα δικαιώματα στον κάτοχο άδειας, αλλά εφαρμόζουν τουλάχιστον έναν περιορισμό, ότι η αναδιανομή του λογισμικού, είτε τροποποιημένου ή χωρίς τροποποιήσεις, πρέπει να είναι κάτω από την ίδια άδεια. Οι χορηγούντες ιδιόκτητων αδειών διατηρούν τα δικαιώματα της πνευματικής ιδιοκτησίας τους και χορηγούν μόνο μερικά από αυτά τα δικαιώματα, συνήθως μόνο τα δικαιώματα εκτέλεσης του προγράμματος και παρουσίασής του. Ο ακόλουθος πίνακας, όπου η άδεια BSD χρησιμοποιείται ως παράδειγμα μιας Μη-Προστατευτικής άδειας Ανοικτού Κώδικα και η Γενική Δημόσια Άδεια (GPL) GNU ως παράδειγμα μιας Προστατευτικής άδειας Ανοικτού Κώδικα, παρουσιάζει αυτές τις αντιθέσεις. Δείτε επίσης το διάγραμμα 2 [7].

Οι Μη-προστατευτικές άδειες Ανοικτού Κώδικα περιλαμβάνουν τις εξής άδειες: Academic Free License v.1.2; Apache Software License v.1.1; Artistic; Attribution Assurance license; BSD License; Eiffel Forum License; Intel Open Source License for CDSA/CSSM Implementation; MIT License; Open Group Test Suite License; Q Public License v.1.0; Sleepycat License; Sun Industry Standards Source License; University of Illinois/NCSA Open Source License; Vovida Software License v.1.0; W3C Software Notice and License; X.Net, Inc. License; zlib/libpng License; and Zope Public License v.2.0. Οι Προστατευτικές άδειες Ανοικτού Κώδικα περιλαμβάνουν τις εξής: Apple Public Source License v.1.2; Artistic License; Common Public License v.1.0; GNU General Public License v.2.0; GNU Lesser General Public License v.2.1; IBM Public License v.1.0; Jabber Open Source License v.1.0; MITRE Collaborative Virtual Workspace License; Motosoto Open Source License v.0.9.1; Mozilla Public License v.1.0 and v.1.1; Nethack General Public License; Noika Open Source License v.1.0a; OCLC Research Public License v.1.0; Open Software License v.1.1; Python License; Python Software Foundation License v.2.1.1; Ricoh Source Code Public License v.1.0; and Sun Public License v.1.0.

Όλες αυτές και πρόσθετες νέες άδειες μπορούν να βρεθούν στον ιστότοπο της Πρωτοβουλίας Ανοικτού Κώδικα (OSI). Μερικές άδειες Ανοικτού Κώδικα και των δύο τύπων περιλαμβάνουν άλλες παροχές, όπως οι περιορισμοί στη χρήση των εμπορικών σημάτων, τις γρήγορες επιχορηγήσεις άδειας με σεβασμό στα εφαρμόσιμα διπλώματα ευρεσιτεχνίας, τις αποκηρύξεις των εγγυήσεων, την αποζημίωση των κατόχων δικαιωμάτων πνευματικής ιδιοκτησίας στις εμπορικές διανομές, και τις αποκηρύξεις της ευθύνης. Εντούτοις, καμία από αυτές τις παροχές δεν είναι τόσο σημαντική όσο οι υποχρεώσεις/περιορισμοί που επιβάλλονται στα δικαιώματα αναδιανομής των Προστατευτικών αδειών Ανοικτού Κώδικα και είναι αυτοί οι περιορισμοί στους οποίους θα επικεντρωθούμε στη συνέχεια.


4. Η γενική δημόσια άδεια GNU (General Public License)

Μέχρι στιγμής, η γενική δημόσια άδεια GNU (GPL) είναι η πιο κυρίαρχη άδεια του λογισμικού Ανοικτού Κώδικα. Από όλο το λογισμικό στο οποίο έχει εφαρμοστεί, κανένα δεν είναι περισσότερο γνωστό από τον πυρήνα του Linux. Στην πραγματικότητα, η GPL έχει εφαρμοστεί σε μια πλειάδα τμημάτων λογισμικού που συμπεριλαμβάνονται στις γνωστότερες Linux διανομές, όπως το Red Hat Linux. Η ευρεία αποδοχή της GPL μεταξύ της κοινότητας Ανοικτού Κώδικα προέρχεται από το γεγονός ότι ανήκει σε εκείνη την κατηγορία αδειών Ανοικτού Κώδικα που υποχρεώνουν όσους επιθυμούν να αναδιανείμουν τέτοιο λογισμικό, είτε στην αρχική είτε σε τροποποιημένη (παράγωγο) μορφή, να το πράξουν υπό τους ίδιους όρους της συμφωνίας άδειας με την οποία το έλαβαν αρχικά (τέτοιες άδειες ονομάζουμε Προστατευτικές άδειες). Δηλαδή, έχοντας χορηγηθεί το δικαίωμα στη χρήση, τροποποίηση και αναδιανομή του λογισμικού κάτω από τη GPL, η τελευταία σας υποχρεώνει να επεκτείνετε τα ίδια προνόμια στο πλαίσιο των ίδιων όρων σε όσους λαμβάνουν το λογισμικό μετά από σας. Αυτό είναι το κοινό νήμα που επικρατεί στις Προστατευτικές άδειες και για αυτόν το λόγο θα επικεντρωθούμε στη GPL ως πρότυπο των Προστατευτικών αδειών.

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

  1. Το δικαίωμα να αντιγράψετε και να αναδιανείμετε εφ' όσον περιλαμβάνετε μια ειδοποίηση περί των δικαιωμάτων πνευματικής ιδιοκτησίας και μια αποκήρυξη των εγγυήσεων. Μπορείτε να χρεώσετε για το κόστος της διανομής και να προσφέρετε εγγύηση έναντι αμοιβής.
  2. Το δικαίωμα να δημιουργηθούν παράγωγες εργασίες για ιδία χρήση.
  3. Το δικαίωμα να διανεμηθούν οι παράγωγες εργασίες εφ' όσον:
    1. Προσδιορίσετε την εργασία ως τροποποιημένη
    2. Τη χορηγήστε κάτω από τη GPL άδεια και
    3. Παρέχετε την πληροφορία για την άδεια στο περιβάλλον αλληλεπίδρασης (interactive) εφόσον το πρόγραμμα τρέχει σε κατάσταση αλληλεπίδρασης με το χρήστη. Αυτό το τμήμα και η υποχρέωση της χορήγησης άδειας υπό την GPL, δεν εφαρμόζονται σε ανεξάρτητες εργασίες που διανέμονται μαζί με κάποια άλλη εργασία υπό τη GPL και εκτελούνται σε περιβάλλον εργασίας χορηγημένο υπό τη GPL.
  4. Μπορείτε να διανείμετε την εργασία μόνο στην εκτελέσιμη μορφή της εφ' όσον ο πηγαίος κώδικας είναι:
    1. διανεμημένος μαζί με τον εκτελέσιμο κώδικα
    2. παραχωρημένος από γραπτή προσφορά, έγκυρη για μια περίοδο τουλάχιστον τριών ετών, ώστε να καταστήσει τον πηγαίο κώδικα διαθέσιμο για όχι περισσότερο από το κόστος της διανομής και
    3. για τις μη εμπορικές διανομές, συνοδευόμενος με την προσφορά που ο διανομέας παρέλαβε ως προς τη διαθεσιμότητα του πηγαίου κώδικα.
  5. Δεν μπορούν να επιβληθούν περιορισμοί σε οποιαδήποτε από τα ανωτέρω δικαιώματα.

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

Σημειώστε ότι η GPL δεν έχει καμία σχέση με την περίπτωση όπου ο δημιουργός χορηγεί άδεια στο λογισμικό και επιλέγει να μην το αναδιανείμει. Αυτό αληθεύει εάν ο δημιουργός είναι είτε άτομο, είτε μια εταιρία, είτε ένα εταιρικό συγκρότημα επιχειρήσεων, είτε η κυβέρνηση. Όπως σημειώνεται από το Ίδρυμα Ελεύθερου Λογισμικού, όταν αναφέρεται η GPL στα πλαίσια μιας εταιρίας, εννοεί την υφιστάμενη επιχείρηση και όλα τα ελεγχόμενα υποκαταστήματα αυτής. Ομοίως, όταν αναφέρεται σε μια μονάδα της κυβέρνησης, εννοεί εκείνη την μονάδα της κυβέρνησης και όλες τις υπόλοιπες μονάδες αυτής της κυβέρνησης που είναι κάτω από τον άμεσο έλεγχό της. Σε αυτό το πλαίσιο, μπορεί να αναφέρεται σε ολόκληρη την ομοσπονδιακή κυβέρνηση των ΗΠΑ ή οποιαδήποτε πολιτεία ή κυβέρνηση Κοινοπολιτειών, συμπεριλαμβανομένων των αντιπροσωπειών αυτής της πολιτείας ή της κυβέρνησης Κοινοπολιτειών. Η GPL δεν απαιτεί από έναν κάτοχο άδειας, που δεν έχει διανείμει το λογισμικό σε τρίτους, να παρέχει αντίγραφο αυτού του λογισμικού σε οποιονδήποτε το ζητήσει αυτό. Οι περιορισμοί της GPL εφαρμόζονται μόνο στην περίπτωση όπου το λογισμικό παρέχεται σε τρίτους, και η GPL αναφέρεται μόνο στη διατήρηση του αρχικού σκοπού, τίποτα περισσότερο.

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

  1. Χρήστες που χρησιμοποιούν μόνο τον εκτελέσιμο κώδικα προγραμμάτων υπό την GPL όπως θα έκαναν με οποιοδήποτε άλλο παρόμοιο πρόγραμμα
  2. Χρήστες που τροποποιούν τον πηγαίο κώδικα προγραμμάτων υπό την GPL για να χειριστούν τοπικά ζητήματα ρυθμίσεων ή για να εξετάσουν τις εσωτερικές απαιτήσεις τους και όχι για την αναδιανομή σε τρίτους και
  3. Χρήστες που τροποποιούν τον πηγαίο κώδικα προγραμμάτων υπό την GPL και τα αναδιανέμουν είτε για προσωπικούς λόγους ευχαρίστησης ή/και για κέρδος.

Στην περίπτωση (1), η GPL δεν έχει επιπτώσεις σε αυτούς τους χρήστες καθόλου. Για παράδειγμα η χρήση του επεξεργαστή κειμένων Ανοικτού Κώδικα GNU Emacs TM δεν υπονοεί ότι η πράξη της αποθήκευσης ενός αρχείου αλλάζει την ιδιοκτησία αυτού του αρχείου ώστε να ανήκει στο Ίδρυμα Ελεύθερου Λογισμικού, ούτε η μεταγλώττιση ενός αρχείου από το μεταγλωττιστή Ανοικτού Κώδικα GNU C Compiler προκαλεί τον προκύπτων κώδικα αντικειμένων να ανήκει στο Ίδρυμα Ελεύθερου Λογισμικού, ούτε θέτοντας ένα σημείο αναστολής (breakpoint) σε ένα εκτελέσιμο αρχείο προκαλεί το εκτελέσιμο να γίνει ξαφνικά ιδιοκτησία του Ιδρύματος. Κατά συνέπεια, η κανονική χρήση λογισμικού υπό την GPL (δηλαδή όπως η χρήση οποιουδήποτε άλλου εμπορικού λογισμικού) σε ένα εμπορικό περιβάλλον δεν θέτει κανένα εξαιρετικό νομικό πρόβλημα. Η ευρεία διανομή του λειτουργικού συστήματος Linux τα τελευταία χρόνια για χρήση του στους εμπορικούς και επιχειρησιακούς κεντρικούς web εξυπηρετητές αποτελεί απόδειξη ότι δεν υπάρχει κανένας νομικός λόγος να μην χρησιμοποιηθεί το λογισμικό Ανοικτού Κώδικα εάν τυχαίνει να θεωρείται καλύτερο από τις εναλλακτικές λύσεις ιδιόκτητου (proprietary) λογισμικού.

Στην περίπτωση (2), το τοπικά τροποποιημένο λογισμικό παρέχει εξ ορισμού στους χρήστες του πρόσβαση στον τοπικά τροποποιημένο πηγαίο κώδικα. Δεν υπάρχει καμία απαίτηση από την GPL ότι τέτοιες τοπικές τροποποιήσεις πρέπει να αποκαλύπτονται σε οποιονδήποτε άλλο.

Στην περίπτωση (3), εξετάζουμε την ομάδα χρηστών για τους οποίους πραγματικά γράφτηκε το GPL. Οι χρήστες που αναδιανέμουν τις τροποποιημένες ή μη-τροποποιήσεις εκδόσεις του λογισμικού Ανοικτού Κώδικα πρέπει να υπακούσουν το "χρυσό κανόνα" της GPL, δηλαδή τη χορήγηση της άδειας του αναδιανεμημένου λογισμικού κάτω από την GPL χωρίς προσθήκη οποιωνδήποτε περιορισμών. Στο σημείο όπου κάποιος θα θέλει να βγάλει κέρδος από το λογισμικό υπό την GPL χρησιμοποιώντας παραδοσιακούς περιορισμούς ιδιόκτητων αδειών, αυτοί οι περιορισμοί θα αποδείχθουν δύσκολοι αν όχι αδύνατοι στην εφαρμογή τους. Σημειώστε, όμως, πως το να υπάρχει κέρδος λόγω της GPL είναι και νόμιμο και ενθαρρύνεται από την ίδια την άδεια.

Μετά από αυτήν την ανάλυση χρειαζόματε έναν ορισμό του τι αποτελεί μια παράγωγο εργασία στο λογισμικό.


5. Τι είναι μια παράγωγος εργασία;

Ο Αμερικάνικος νόμος δικαιωμάτων πνευματικής ιδιοκτησίας καθορίζει την παράγωγο εργασία ως:

"μια εργασία που βασίζεται σε μια ή περισσότερες υπάρχουσες εργασίες, όπως μια μετάφραση, η μουσική διασκευή, η δραματοποίηση, η συγγραφή βιβλίου, η σύλληψη κινούμενης εικόνας, η εγγραφή ήχου, η αναπαραγωγή τέχνης, η σύντμηση, η συμπύκνωση, ή οποιαδήποτε άλλη μορφή όπου μια εργασία ανασχηματίζεται, αναδημιουργείται, ή αναπροσαρμόζεται. Μια εργασία που αποτελείται από τις εκδοτικές αναθεωρήσεις, τους σχολιασμούς, τις επεξεργασίες, ή άλλες τροποποιήσεις που συνολικά αντιπροσωπεύουν μια αρχική εργασία του συγγραφικού επαγγέλματος, είναι μια "παράγωγη εργασία"." [8]

Κατά συνέπεια, μια εργασία που είναι βασισμένη σε μια ή περισσότερες προυπάρχουσες εργασίες αποτελεί μια παράγωγο εργασία στο σημείο όπου το νέο προστιθέμενο υλικό αποτελεί μια αυθεντική εργασία του συγγραφικού επαγγέλματος. Αυτό το νέο υλικό μπορεί να περιλάβει εκδοτικές αναθεωρήσεις, σχολιασμούς, επεξεργασίες ή άλλες τροποποιήσεις. Οι παράγωγες εργασίες μπορούν να μετασχηματίσουν την αρχική εργασία, όπως σε μια μετάφραση, συμπεριλαμβανομένης της "μεταγλώττισης" του λογισμικού από μια γλώσσα προγραμματισμού σε μια άλλη, ή μπορούν να συνδυάσουν την αρχική εργασία με άλλες εργασίες, όπως σε μια ομαδοποίηση πακέτων (λογισμικού) όπως η διανομή Red Hat Linux. Η προστασία των δικαιωμάτων πνευματικής ιδιοκτησίας μιας παραγώγου ή συνδυαστικής εργασίας επεκτείνεται μόνο στο υλικό το οποίο έχει συνεισφέρει ο συντάκτης μιας τέτοιας εργασίας και δεν χορηγεί δικαιώματα σε προυπάρχον υλικό που περιλαμβάνονται στη νέα εργασία [9].


6. Σε ποιά σημεία στέκεται ο νόμος για τις παράγωγες εργασίες στο λογισμικό;

[10]

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

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

"ένα σύνολο δηλώσεων ή εντολών που χρησιμοποιούνται άμεσα ή έμμεσα σε έναν υπολογιστή προκειμένου να παραχθεί ένα συγκεκριμένο αποτέλεσμα." [11]

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

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

Ίσως οι πιο καθιερωμένες δοκιμές για τις παράγωγες εργασίες στο λογισμικό είναι η δοκιμή "αφαίρεση, φιλτράρισμα και σύγκριση" (AFC) που καθιερώθηκε από τη Δεύτερη περιφέρεια [12]. Κατά την τριμερή δοκιμή AFC, αρχικά ένα δικαστήριο καθορίζει συνοπτικά τα δομικά μέρη του αρχικού προγράμματος. Από αυτά τα δομικά μέρη, το δικαστήριο έπειτα φιλτράρει όλα τα μη προστατεύσιμα μέρη, συμπεριλαμβανομένων αυτών που καθορίζονται στην παράγραφο §102(β) του νόμου και των μερών που ανήκουν στο κοινό. Στο τελικό βήμα, το δικαστήριο συγκρίνει τον υπόλοιπο κώδικα του δεύτερου προγράμματος που περιέχει δημιουργική έκφραση στη δομή του, για να καθοριστεί εάν αυτό το πρόγραμμα λογισμικού αρκετά όμοιο με την προϋπάρχουσα εργασία και να δικαιολογηθεί ότι το δεύτερο πρόγραμμα είναι όντως μια παράγωγος εργασία του πρώτου. Αυτή η δοκιμή AFC έχει υιοθετηθεί από τρείς άλλες Περιφέρειες: την Πέμπτη [13], τη Δέκατη [14] και την Ενδέκατη [15].

Από τα υπόλοιπα εννέα Αμερικάνικα δικαστήρια Εφέσεων, μόνο ένα έχει υιοθετήσει μια σαφή δοκιμή για τις παράγωγες εργασίες στο λογισμικό. Η δοκιμή της Ένατης Περιφέρειας είναι βασισμένη στην αναλυτική ανατομή, η οποία αρχικά εξετάζει εάν υπάρχουν ουσιαστικές ομοιότητες και στις ιδέες και στις εκφράσεις των δύο εργασιών και έπειτα χρησιμοποιεί την αναλυτική ανατομή για να καθορίσει εάν κάποια παρόμοια χαρακτηριστικά γνωρίσματα προστατεύονται από δικαιώματα πνευματικής ιδιοκτησίας [16]. Τα παρόμοια στοιχεία κατηγοριοποιούνται με βάση το βαθμό προστασίας που πρόκειται να τους δωθεί. Η "λεπτή" προστασία δίδεται στα μη προστατευόμενα από δικαιώματα γεγονότα ή ιδέες, τα οποία παράγουν προστασία δικαιωμάτων πνευματικής ιδιοκτησίας μόνο από τον τρόπο με τον οποίο παρατάσσονται και παρουσιάζονται. Η "ευρεία" προστασία διατίθεται στην έκφραση που δικαιούται δικαιωμάτων πνευματικής ιδιοκτησίας. Το δικαστήριο χρησιμοποιεί αυτά τα πρότυπα για να κάνει μια υποκειμενική σύγκριση των εργασιών ώστε να καθορίσει εάν, συνολικά, είναι αρκετά όμοιες και να δικαιολογήσει ότι η μιά είναι παράγωγος εργασία της άλλης.


7. Πώς αυτές οι δοκιμές εφαρμόζονται στις παράγωγες εργασίες λογισμικού Ανοικτού Κώδικα;

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

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

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

  1. Η ουσία της νέας εργασίας
  2. Το αν οποιοδήποτε μέρος της αρχικής εργασίας έχει τροποποιηθεί και
  3. Το πως μια τέτοια τροποποίηση έχει πραγματοποιηθεί.

Αυτή η ανάλυση είναι συνεπής με τη διάκριση που θέτει η ίδια η GPL. Η πρόταση 2 της GPL δηλώνει:

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

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

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


8. Μύθοι για τον Ανοικτό Κώδικα

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

Μύθος 1 - Το λογισμικό Ανοικτού Κώδικα υπονομεύει τα δικαιώματα πνευματικής ιδιοκτησίας.

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

Μύθος 2 - Το λογισμικό Ανοικτού Κώδικα είναι επιρρεπές σε παραβάσεις δικαιωμάτων της πνευματικής ιδιοκτησίας.

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

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

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

Μύθος 4 - Η Γενική Δημόσια Άδεια GNU (GPL) είναι επικίνδυνη επειδή δεν έχει δοκιμαστεί ποτέ η ισχύς της σε δικαστήριο.

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

Μύθος 5 - Το να επιτρέπουμε σε μερικούς χρήστες απλώς να δούν τον κώδικα είναι ισάξιο με το λογισμικό Ανοικτού Κώδικα.

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

Μύθος 6 - οι μέθοδοι Ανοικτού Κώδικα δεν παράγουν την καινοτομία.

Αυτό είναι ένας μύθος. Η κοινότητα Ανοικτού Κώδικα: (α) ανέπτυξε τον Apache web εξυπηρετητή που χρησιμοποιείται για να τρέξει την πλειοψηφία των web εξυπηρετητών στον κόσμο σήμερα, (β) ανέπτυξε το Sendmail, το δημοφιλέστερο λογισμικό διαχείρησης ηλεκτρονικού ταχυδρομείου και (γ) ανέπτυξε το BIND, τη βάση για τα ονόματα δικτυακών τόπων αντί των διευθύνσεων IP για τον εντοπισμό των ιστοτόπων. Σαφέστατα, ο Ανοικτός Κώδικας είναι ικανός να προάγει την τέχνη του λογισμικού.

Σε αυτό το σημείο, ας αναφέρουμε τις καλύτερες πρακτικές που ένα εταιρικό νομικό γραφείο πρέπει να ακολουθεί με σεβασμό στο λογισμικό, είτε αυτό είναι Ανοικτού Κώδικα είτε ιδιόκτητο.


9. Οι καλύτερες πρακτικές των εταιρικών νομικών γραφείων για το λογισμικό

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

  1. Μην επιτρέψετε την ανεξέλεγκτη εισαγωγή λογισμικού στους υπολογιστές της επιχείρησης.

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

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

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

  3. Καλό είναι να γνωρίζετε πώς θα χρησιμοποιηθεί το λογισμικό.

    Είναι διαφορετικό το να χρησιμοποιηθεί λογισμικό Ανοικτού Κώδικα ως το λειτουργικό σύστημα σε έναν κεντρικό εξυπηρετητή, ενώ είναι διαφορετικό το ίδιο λογισμικό Ανοικτού Κώδικα να χρησιμοποιηθεί με σκοπό να τροποποιηθεί και να ενσωματωθεί σε ένα προϊόν. Στην πρώτη περίπτωση δεν είναι ιδιαίτερα προβληματικό, αλλά στη δεύτερη μπορεί και να είναι. Συγχρόνως, σιγουρευτείτε ότι το υπεύθυνο για θέματα τεχνολογίας προσωπικό σας είναι καλά ενήμερο για τους περιορισμούς του ιδιόκτητου λογισμικού που απαγορεύουν την αντίστροφα εφαρμοσμένη μηχανική (reverse engineering) ή την τροποποίηση. Ενώ μερικοί προμηθευτές ιδιόκτητου λογισμικού μπορεί να επιτρέπουν τέτοιες δραστηριότητες υπό μια ειδική άδεια ανάπτυξης ή μια κοινοτική άδεια πηγαίου κώδικα, συνήθως δεν επιτρέπουν αυτές τις δραστηριότητες υπό τις γενικές εμπορικές άδειές τους. Μπορεί να είναι σημαντικό να κατηγοριοποιηθεί κάθε αντικείμενο του λογισμικού και οι επιτρεπόμενες χρήσεις του, π.χ. σε αυτές που εγκρίνονται για γενική χρήση στην εκτελέσιμη μορφή μόνο, σε αυτές που εγκρίνονται για τη χρήση στο επίπεδο πηγαίου κώδικα στις εξειδικευμένες εφαρμογές ή τις τροποποιημένες εφαρμογές και σε αυτές που δεν εγκρίνονται για οποιαδήποτε χρήση. Τέλος, η φύση της χρήσης είναι σημαντική ώστε να γνωρίζετε εάν το λογισμικό θα διανεμηθεί και έξω από την επιχείρηση, προκαλώντας ενδεχομένως περιορισμούς χορήγησης αδειών Ανοικτού Κώδικα.

  4. Να έχετε κάποιον τρόπο να καταγράφετε ποιό λογισμικό και ποια έκδοση αυτού του λογισμικού χρησιμοποιούνται.

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

  5. Απαιτήστε τεκμηρίωση από όλα τα εσωτερικά προγράμματα ανάπτυξης λογισμικού.

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

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


A. Πηγές

Για όσους ενδιαφέρονται να μάθουν περισσότερα για τον Ανοικτό Κώδικα, οι ακόλουθοι ιστότοποι είναι προτεινόμενοι για ανάγνωση:

Σημειώσεις

[1]

Όταν μιλώ για το νόμο δικαιωμάτων πνευματικής ιδιοκτησίας σε αυτό το έγγραφο, συζητώ για τον Αμερικάνικο νόμο δικαιωμάτων πνευματικής ιδιοκτησίας όπως αυτός ενσωματώνεται στον Τίτλο 17 του United States Code. Οι Ηνωμένες Πολιτείες Αμερικής έχουν υπογράψει τη σύμβαση της Βέρνης που καλύπτει τα δικαιώματα πνευματικής ιδιοκτησίας και μάλιστα ο Αμερικάνικος νόμος δικαιωμάτων πνευματικής ιδιοκτησίας είναι πολύ όμοιος με το νόμο των άλλων συμβαλλόμενων χωρών στη συνθήκη της Βέρνης. Εντούτοις, υπάρχουν παροχές στον Αμερικάνικο νόμο περί δικαιωμάτων πνευματικής ιδιοκτησίας που είναι μοναδικές για τις ΗΠΑ, όπως η καταγραφή των δικαιωμάτων αυτών. Τα πρόσωπα στις χώρες εκτός των ΗΠΑ πρέπει να συμβουλευθούν τους τοπικούς τους νομικούς συμβούλους που ειδικεύονται στο νόμο περί δικαιωμάτων πνευματικής ιδιοκτησίας.

[2]

§1-106, Title 17, U.S. Code.

[3]

§1-107, Title 17, U.S. Code.

[4]

Ο 37 CFR 201.26 καθορίζει το δημόσιο λογισμικό υπολογιστών ως το λογισμικό που έχει διανεμηθεί δημόσια με μια ρητή αποκήρυξη της προστασίας δικαιωμάτων πνευματικής ιδιοκτησίας από τον ίδιο τον ιδιοκτήτη. Όπως έχει δηλώσει το Ίδρυμα Ελεύθερου Λογισμικού (FSF), το δημόσιο λογισμικό δεν έχει καθόλου δικαιώματα πνευματικής ιδιοκτησίας.

[5]

Υπό το νόμο Δικαστικών Βελτιώσεων του 1990, που ενέκρινε τη δημιουργία ενός εθνικού ληξιαρχείου για το κοινά διανεμημένο λογισμικό (shareware), οι ιδιοκτήτες δικαιωμάτων πνευματικής ιδιοκτησίας λογισμικού μπορούν να δωρίσουν το λογισμικό τους στο κοινό με το να το αναθέσουν στο Machine-Readable Collections Reading Room (δωμάτιο συλλογών που μπορούν να αναγνωριστούν από μηχανές) της βιβλιοθήκης του Κογκρέσου. 37 Code of Federal Regulations Part 201.26 (1991).

[6]

Σχήμα 1. Διάγραμμα 1

[7]

Πίνακας 1. Διάγραμμα 2

Δικαιώματα που χορηγούνταιΚοινόBSDGPLWindows 98
Διατήρηση δικαιωμάτων Όχι Ναι Ναι Ναι
Δικαίωμα εκπόνησης Ναι Ναι Ναι Ναι
Δικαίωμα εμφάνισης Ναι Ναι Ναι Ναι
Δικαίωμα Αντιγραφής Ναι Ναι Ναι Όχι
Δικαίωμα Τροποποίησης Ναι Ναι Ναι Όχι
Δικαίωμα διανομής Ναι Ναι Ναι, υπό την ίδια άδεια Όχι
[8]

17 U.S. Code §101.

[9]

17 U.S. Code §103.

[10]

Για μια σε βάθος συζήτηση του νόμου, δείτε "Software Derivative Work: A Circuit Dependent Determination", Dan Ravicher, October 31, 2002, http://www.pbwt.com/Attorney/files/ravicher 1.pdf.

[11]

17 U.S. Code §101.

[12]

Computer Associates Intl. VC. Altai, Inc., 982 F.2d 693 (2nd Cir. 1992).

[13]

Engineering Dynamics, Inc. v. Structural Software, inc., 26 F.3d 1335 (5th Cir. 1994); Kepner-Tregoe, Inc. v. Leadership Software, Inc., 12 F.3d 527 (5th Cir. 1994).

[14]

Gates Rubber Co. v. Bando Chem. Indust. Ltd., 9 F.3d 823 (10th Cir. 1993); Mitel, Inc. v. Iqtel, Inc., 124 F.3d 1366 (10th Cir. 1997).

[15]

Bateman v. Mnemonics, Inc., 79 F.3d 1532 (11th Cir. 1996); Mitek Holdings, Inc. v. Arce Engineering Co., Inc., 89 F.3d 1548.

[16]

Apple Computer, Inc. v. Microsoft Corp., 35 F.3d 1435 (9th Cir. 1994).