5 Χαρακτηριστικά ενός Καλού Έργου Ανοικτού Κώδικα

5 Χαρακτηριστικά ενός Καλού Έργου Ανοικτού Κώδικα

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





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





ΚΑΤΑΣΚΕΥΗ ΒΙΝΤΕΟ ΤΗΣ ΗΜΕΡΑΣ

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





Τι πρέπει να αναζητήσετε σε ένα έργο ανοιχτού κώδικα

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

Κατεβάστε βίντεο από το youtube απευθείας στο iphone

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



Λάβετε υπόψη τα ακόλουθα χαρακτηριστικά για να προσδιορίσετε εάν αξίζει τον χρόνο σας ένας ανοιχτός κώδικας.

1. Έχει άδεια;

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





Τα περισσότερα έργα ανοιχτού κώδικα έχουν μια επιτρεπτή άδεια, όπως το MIT, το BSD ή το Apache 2.0. Η άδεια MIT μοιράζεται και διανέμει λογισμικό δωρεάν και δεν παρέχει εγγύηση:

  Μια εικόνα άδειας MIT που τραβήχτηκε στο GitHub

Οι άδειες Copyleft όπως η General Public License, η Mozilla Public License και η Affero General Public License συνοδεύονται από περαιτέρω περιορισμούς.





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

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

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

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

2. Είναι κοινόχρηστος ο πηγαίος κώδικας;

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

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

Όμως, η άδεια μπορεί να περιορίσει την αναδιανομή του πηγαίου κώδικα και να επιτρέπει μόνο την αναδιανομή της τροποποιημένης μορφής του. Ο τροποποιημένος κώδικας μπορεί να έχει διαφορετικό όνομα ή έκδοση για να τον διαφοροποιεί από το αρχικό έργο.

3. Έχει το Έργο κατευθυντήριες γραμμές για τους συντελεστές;

Κάθε έργο ανοιχτού κώδικα θα πρέπει να έχει έναν οδηγό συνεργατών. Πιθανότατα θα το βρείτε στον ριζικό φάκελο του έργου, που συχνά ονομάζεται CONTRIBUTORS ή CONTRIBUTORS.md. Ένας οδηγός συντελεστών περιέχει απλές οδηγίες για το πώς να συνεισφέρετε στο έργο.

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

Ακολουθεί ένα παράδειγμα οδηγιών συντελεστών από το έργο ανοιχτού κώδικα AsyncAPI GitHub :

  Μια εικόνα που δείχνει ένα παράδειγμα οδηγού συντελεστών που λήφθηκε στο GitHub

4. Έχει ενεργή κοινότητα;

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

πώς να αλλάξετε τον κωδικό πρόσβασης wifi στα Windows 10

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

Για να προσδιορίσετε εάν μια κοινότητα είναι ενεργή, δείτε τα κοινωνικά κανάλια της. Ξεκινήστε παρακολουθώντας τις δραστηριότητές τους σε λογαριασμούς social media, Discord ή Slack. Η εργασία σε μια ενεργή κοινότητα με ελεύθερη ροή πληροφοριών και πόρων είναι καλύτερη.

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

Ένα παράδειγμα έργου ανοιχτού κώδικα με μια φανταστική κοινότητα είναι το πλαίσιο Javascript του Facebook, React.

Το React έχει εξελιχθεί στην έκδοση 18 μέσα σε εννέα χρόνια, ενώ ένα παρόμοιο πλαίσιο Vue.js βρίσκεται ακόμα στην έκδοση 3. Και τα δύο πλαίσια είναι λιγότερο από δέκα χρόνια. Η ζωντανή κοινότητα του React επισκιάζει άλλα δημοφιλή πλαίσια JavaScript, όπως το Angular.

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

5. Είναι οι συντηρητές ενεργοί και προσεκτικοί;

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

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

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

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

Χαρακτηριστικά ενός καλού έργου ανοιχτού κώδικα

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

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

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