Πώς να επιλέξετε μια άδεια GitHub και γιατί είναι σημαντικό να κάνετε τη σωστή επιλογή; Το GitHub είναι η μεγαλύτερη υπηρεσία για την κοινή ανάπτυξη έργων πληροφορικής και τη μετέπειτα φιλοξενία τους. Με τη βοήθεια αυτής της διαδικτυακής υπηρεσίας, ένας απεριόριστος αριθμός ατόμων μπορούν να εργαστούν σε ένα έργο ταυτόχρονα, καθώς και από οπουδήποτε στον κόσμο. Το GitHub διαθέτει επίσης ένα σύστημα διαχείρισης ή ελέγχου που σας επιτρέπει να βλέπετε και να ελέγχετε απολύτως όλες τις αλλαγές που γίνονται από προγραμματιστές με την πάροδο του χρόνου και σας επιτρέπει επίσης να επιστρέψετε στην κατάσταση που συνέβη πριν από τις αλλαγές.
Αλλά για να το θέσω απλά, το GitHub είναι το λεγόμενο κοινωνικό δίκτυο για προγραμματιστές και προγραμματιστές, όπου μπορείτε να βρείτε και αργότερα να εξασκηθείτε σε κώδικες άλλων προγραμματιστών. Μπορείτε επίσης να αποθηκεύσετε το χαρτοφυλάκιό σας στο GitHub. Γενικά, το GitHub είναι μια υπηρεσία που είναι κατάλληλη τόσο για αρχάριους προγραμματιστές όσο και για έμπειρους προγραμματιστές. Ωστόσο, οι χρήστες αυτής της υπηρεσίας μπορεί μερικές φορές να έχουν κάποιες ερωτήσεις σχετικά με την επιλογή άδειας, καθώς η επιλογή τους εκεί είναι αρκετά διαφορετική.
Τι είναι η άδεια GitHub
Η άδεια είναι ένα ειδικό έγγραφο που δημιουργήθηκε από το κρατικό έντυπο και σας επιτρέπει να συμμετέχετε σε ένα συγκεκριμένο είδος επιχειρηματικής δραστηριότητας, η οποία χωρίς αποτυχία απαιτεί ιδιαίτερη προσοχή από την κρατική πλευρά. Όμως, τις περισσότερες φορές, στην πράξη χρησιμοποιούνται μόνο συντομευμένες συμφωνίες άδειας χρήσης ή συμφωνίες που προβλέπουν την έκδοση αδειών ιδιωτικού δικαίου. Γενικά, η άδεια επιδιώκει μόνο έναν, αλλά ο πιο σημαντικός στόχος, αυτός είναι μια συμφωνία σχετικά με τις υποχρεώσεις και τα δικαιώματα μεταξύ του δικαιοπάροχου και του δικαιοδόχου. Αυτά τα καθήκοντα και τα δικαιώματα μπορούν να είναι απολύτως οτιδήποτε, αλλά μόνο στο πλαίσιο του νόμου. Ένα αξιοσημείωτο παράδειγμα είναι ότι ο δικαιοπάροχος μπορεί να απαιτεί να απαιτείται το όνομα του κατόχου των πνευματικών δικαιωμάτων κατά τη χρήση του έργου από τον κάτοχο της άδειας. Ή, για παράδειγμα, να επιτρέπεται η εργασία αντιγραφής, αλλά απαγορεύεται απολύτως οποιαδήποτε τροποποίηση του. Ή, για να αναδείξουμε τέτοιες απαιτήσεις ώστε το έργο να κυκλοφορήσει ακριβώς με τις ίδιες συνθήκες με το πρωτότυπο, και ούτω καθεξής, υπάρχουν πολλά παραδείγματα για την υποβολή διαφόρων όρων.
Αλλά, επίσης, δεν πρέπει να ξεχνάμε ότι η άδεια προστατεύει τα δικαιώματα όχι μόνο του δικαιοδόχου, αλλά και του δικαιοδόχου. Δεδομένου ότι σε αυτό μπορείτε να δείτε και να διαβάσετε καθαρά όλες τις προϋποθέσεις για τη χρήση του έργου και επομένως δεν χρειάζεται να φοβάται ότι ο δικαιοπάροχος θα απαιτήσει ξαφνικά τυχόν κρατήσεις ή οποιαδήποτε άλλη αποζημίωση για τη χρήση του έργου του.
Εάν αρνηθείτε να χρησιμοποιήσετε την άδεια χρήσης που σχετίζεται με το έργο, τα πνευματικά δικαιώματα εξακολουθούν να ισχύουν σύμφωνα με τους νομικούς κανόνες που ισχύουν σε μια συγκεκριμένη χώρα. Με απλά λόγια, η απουσία άδειας σε καμία περίπτωση δεν σημαίνει ότι άλλοι δημιουργοί μπορούν να χρησιμοποιήσουν αυτό το έργο με όποιον τρόπο θέλουν. Όλα είναι ακριβώς το αντίθετο, γιατί χωρίς κάποια συγκεκριμένη άδεια, ο προγραμματιστής σε καμία περίπτωση δεν παραιτείται από τα δικαιώματα που του παραχωρούσε ο νόμος. Είναι επίσης σημαντικό να θυμάστε πάντα ότι η άδεια διέπει όλα τα δικαιώματα και τις υποχρεώσεις. Αυτό γίνεται για την προστασία του ιδιοκτήτη του έργου από τις προσδοκίες των χρηστών και ό,τι συνεπάγεται οποιαδήποτε εγγύηση. Άλλωστε, κανείς δεν θέλει με κανέναν τρόπο να καταλήξει ο κώδικάς του στα δικαστήρια.
Τι είναι πνευματικά δικαιώματα
Τα πνευματικά δικαιώματα εμφανίζονται σε ένα άτομο μόνο όταν, ως αποτέλεσμα πνευματικής δραστηριότητας, δημιουργεί ένα συγκεκριμένο έργο που θα είναι μοναδικό, αλλά ταυτόχρονα χρήσιμο, για παράδειγμα, μπορείτε να γράψετε το ίδιο πρόγραμμα. Όταν γίνουν όλα τα παραπάνω, το άτομο γίνεται ο συγγραφέας και πλέον έχει απολύτως όλα τα πνευματικά δικαιώματα σε αυτό το έργο. Πρέπει επίσης να πούμε ότι τα πνευματικά δικαιώματα είναι ιδιοκτησία και μη. Η διαφορά τους είναι ότι τα δικαιώματα ιδιοκτησίας μπορούν να μεταβιβαστούν σε οποιονδήποτε, αλλά τα μη περιουσιακά δικαιώματα θα παραμένουν πάντα μόνο στον δημιουργό σε οποιαδήποτε κατάσταση. Άλλωστε το να είσαι συγγραφέας είναι δικαίωμα αμεταβίβαστο και αναφαίρετο.
Σε τι χρησιμεύει μια άδεια ανοιχτού κώδικα;
Αυτή είναι επίσης μια αρκετά δημοφιλής ερώτηση στους αρχάριους προγραμματιστές και προγραμματιστές, καθώς απλά δεν καταλαβαίνουν γιατί πρέπει να επισυναφθεί μια άδεια στα έργα τους, γιατί χωρίς αυτήν το έργο μπορεί επίσης να υπάρχει αθόρυβα. Ωστόσο, αυτό δεν είναι απολύτως αληθές, γιατί εάν, για παράδειγμα, κάποιος αρχάριος προγραμματιστής έγραψε κάποιο αρκετά σημαντικό και χρήσιμο κομμάτι κώδικα, αλλά δεν τον προστάτευσε με άδεια χρήσης, τότε οι άλλοι χρήστες έχουν ερωτήσεις. Και ακριβώς γι’ αυτό, όταν οι πελάτες έρχονται σε αυτόν και θέλουν να χρησιμοποιήσουν αυτό το κομμάτι κώδικα για τους εμπορικούς τους σκοπούς, βλέπουν ότι ο κωδικός δεν έχει καμία άδεια και απλώς τον αρνούνται. Αυτό οφείλεται στο γεγονός ότι οι εταιρείες απλώς δεν θα χρησιμοποιούν τον κωδικό χωρίς άδεια, επειδή δεν χρειάζονται προβλήματα με το νόμο και τους δικηγόρους.
Και αυτός είναι ο λόγος που ακόμη και το πιο χρήσιμο και βολικό έργο δεν θα υλοποιηθεί ποτέ. Και ο προγραμματιστής που ήθελε να πάρει αυτό το κομμάτι κώδικα θα πρέπει να ψάξει και να χρησιμοποιήσει μια εναλλακτική ή να ξαναγράψει εντελώς τον κώδικα που είχε ήδη γραφτεί από τον αρχάριο προγραμματιστή νωρίτερα. Αυτός είναι ο λόγος για τον οποίο είναι καλύτερο να βεβαιωθείτε εκ των προτέρων ότι ο προγραμματιστής χρησιμοποιεί τη σωστή, και το πιο σημαντικό, την κατάλληλη άδεια χρήσης. Εξερευνώντας το GitHub σε ένα εκπαιδευτικό βίντεο σε 15 λεπτά: https://youtu.be/JfpCicDUMKc
Ποια άδεια GitHub είναι κατάλληλη σε ορισμένες συνθήκες – πώς να επιλέξετε;
Δεν μπορεί να υπάρξει ακριβής απάντηση σε αυτή την ερώτηση, καθώς η επιλογή μιας άδειας εξαρτάται μόνο από τους στόχους του έργου και από τις προσωπικές προτιμήσεις και επιθυμίες του ίδιου του προγραμματιστή. Όπως μπορείτε να δείτε, υπάρχουν πολλές διάφορες άδειες χρήσης στο GitHub, και το πιο σημαντικό, είναι όλες δωρεάν και σε δημόσιο τομέα, πράγμα που σημαίνει ότι κάθε προγραμματιστής μπορεί να βρει την
άδεια ανοιχτού κώδικα που σίγουρα ταιριάζει στο έργο του. Αλλά, το πιο σημαντικό, δεν πρέπει να ξεχνάμε ότι μια άδεια ανοιχτού κώδικα δεν είναι απλώς ένας κώδικας χωρίς άδεια. Με λίγη έρευνα, μπορείτε να συλλέξετε όλες τις άδειες ανοιχτού κώδικα και να τις χωρίσετε σε τρεις μεγάλες κύριες ομάδες:
- Έντονα προστατευτικό.
- Ασθενώς προστατευτικό.
- Επιτρεπτικός.
έντονα προστατευτικό
Οι άδειες που προστατεύουν έντονα είναι τις περισσότερες φορές παραλλαγές της GPL. Αυτές οι άδειες απαιτούν την αδειοδότηση του έργου καθώς και την αποκάλυψη των πηγαίων κωδίκων, ανεξάρτητα από το πώς θα χρησιμοποιηθεί ή έχει ήδη χρησιμοποιηθεί οποιοσδήποτε κώδικας ή έργο.
Ασθενώς προστατευτικό
Οι άδειες ασθενούς προστασίας είναι τις περισσότερες φορές παραλλαγές της Lesser GPL. Στην οποία η κύρια διαφορά από τις επιτρεπτές άδειες είναι ότι εδώ είναι απλώς απαραίτητο να λάβετε επίσης άδεια χρήσης του προγράμματος με την άδεια GPL, καθώς και να παρέχετε τους πηγαίους κώδικες χωρίς αποτυχία. Ταυτόχρονα, εάν υπάρχει βιβλιοθήκη στο έργο του προγραμματιστή, δηλαδή στατική σύνδεση ή δυναμική σύνδεση με την άδεια LGPL, τότε θα είναι επίσης συμβατή με οποιαδήποτε από τις άδειες χρήσης του έργου αυτού του προγραμματιστή.
επιτρεπτικός
Υπάρχει ένας αρκετά μεγάλος αριθμός επιτρεπτικών αδειών, στις τάξεις τους οι πιο δημοφιλείς άδειες είναι το MIT, το Apache 2.0 και το BSD. Με μικρές παραλλαγές, αυτές οι άδειες έχουν τη δυνατότητα να επιτρέπουν τη χρήση του κώδικα τόσο σε έργα ανοιχτού κώδικα όσο και για εμπορικούς σκοπούς και έργα. Αλλά, σε αυτή την περίπτωση, είναι σημαντικό να θυμάστε ότι είναι απαραίτητο να αναφέρετε την πατρότητα του αρχικού προγράμματος.
Άλλες δημοφιλείς άδειες GitHub
Εκτός από αυτές τις τρεις ομάδες αδειών, υπάρχουν και άλλες, για παράδειγμα, μια άλλη από τις πιο χρήσιμες άδειες είναι η GPLv2 με επεκτάσεις classpath. Αυτή η άδεια μπορεί επίσης να χρησιμοποιηθεί τόσο για έργα ανοιχτού κώδικα όσο και για εμπορικά έργα και σκοπούς. Η πιο δημοφιλής εμφάνισή του είναι στην Oracle, η οποία χρησιμοποιεί το GPLv2 με επεκτάσεις classpath για την άδεια χρήσης έργων και λύσεων ανοιχτού κώδικα. Αυτή η άδεια είναι αρκετά σημαντική και χρήσιμη, καθώς οι κανονικές άδειες GPL, για παράδειγμα, δεν θα μπορούν ποτέ να χειριστούν τον bytecode. Δηλαδή, έχουν μια ειδική περιγραφή της διαδικασίας μεταγλώττισης και σύνδεσης, η οποία είναι εντελώς ακατάλληλη για άλλες ερμηνευμένες γλώσσες προγραμματισμού, η πιο δημοφιλής γλώσσα Java είναι μεταξύ αυτών των γλωσσών. Για τέτοιες περιπτώσεις κυκλοφόρησε μια ειδική άδεια GPLv2 με επεκτάσεις classpath. Άλλωστε, λέει πολύ ξεκάθαρα και ξεκάθαρα ότι η βιβλιοθήκη που κυκλοφόρησε με αυτήν την άδεια μπορεί να χρησιμοποιηθεί για εμπορικά έργα και σκοπούς με οποιαδήποτε άλλη άδεια.
Τι άλλο πρέπει να γνωρίζετε για τις
άδειες GitHub .
Προσθήκη άδειας
Αφού επιλεγεί τελικά η τελική άδεια χρήσης, μένει μόνο να την προσθέσετε στην ίδια τη ρίζα του έργου. Για να εκτελέσετε αυτήν την ενέργεια, πρέπει απλώς να προσθέσετε την επιλεγμένη άδεια χρήσης κάτω από τη ρίζα του έργου κατά τη δημιουργία του ίδιου του έργου ή οποιαδήποτε άλλη στιγμή. Αλλά ακόμη και σε αυτήν την ενέργεια, η υπηρεσία ιστού GitHub κατάφερε να φροντίσει τους χρήστες της και έκαναν έναν αρκετά βολικό τρόπο να προσθέσουν την τελική άδεια ακόμη και στην αρχή του ίδιου του έργου.
Ωστόσο, δυστυχώς, δεν είναι μόνο αυτό, καθώς ο προγραμματιστής ή ο προγραμματιστής πρέπει να ελέγξει απολύτως όλες τις εξαρτήσεις που χρησιμοποιήθηκαν στην ιδέα ή το έργο του. Δηλαδή, αν έστω και μία από τις εξαρτήσεις που κυκλοφορεί με την άδεια GPL, τότε απολύτως ολόκληρο το έργο του προγραμματιστή πρέπει να είναι συμβατό με GPL. Για τέτοια επαλήθευση, χρησιμοποιούνται συνήθως προγράμματα ή εργαλεία που έχουν σχεδιαστεί προηγουμένως. Για παράδειγμα, υπάρχει ένα εργαλείο για αυτό το https://github.com/pivotal/LicenseFinder:
Μπορούμε να πούμε ότι η αδειοδότηση είναι μια αρκετά χρονοβόρα εργασία, αλλά ταυτόχρονα μια απαραίτητη ενέργεια για τη ζωή ενός έργου ή οποιασδήποτε ιδέας ενός προγραμματιστή. Για να επιλέξετε τη σωστή άδεια, δυστυχώς, πρέπει να αφιερώσετε αρκετό χρόνο, ωστόσο, αξίζει τον κόπο για να είναι επιτυχημένο το έργο. Είναι καλύτερο να βάζετε την επιλογή άδειας στην πρώτη θέση όταν γράφετε οποιοδήποτε πρόγραμμα, καθώς κάνοντας αυτό στην αρχή, μπορείτε να κατευθύνετε απολύτως όλες τις προσπάθειές σας προς τη σωστή κατεύθυνση και να γράψετε ένα πρόγραμμα που θα είναι επιτυχημένο και βολικό για τους περισσότερους χρήστες.