Το να έχετε συνεισφορές ανοιχτού κώδικα προσθέτει βάρος στο βιογραφικό σας και σας βοηθά να ξεχωρίζετε από το πλήθος, εάν θέλετε να ασχοληθείτε με τον τομέα της πληροφορικής.
Οι άνθρωποι συχνά συνδέουν τον ανοιχτό κώδικα με έργα μεγάλης κλίμακας και προγραμματιστές θαύμα που κωδικοποιούν από τα υπόγειά τους. Όμως η πραγματικότητα είναι διαφορετική. Η συμβολή σε ένα έργο ανοιχτού κώδικα είναι πολύ πιο εύκολη από ό, τι νομίζετε. Και δεν χρειάζεται καν να ξέρετε πώς να προγραμματίσετε για να ξεκινήσετε.
Βήμα 1: Προσδιορισμός των δεξιοτήτων και της στοίβας τεχνολογίας σας
Πριν μεταβείτε στο GitHub ή σε άλλες πλατφόρμες ανάπτυξης λογισμικού, θα πρέπει να αναλύσετε τις δεξιότητές σας. Ίσως είναι η ανάπτυξη ιστού με το React. Ή αν ασχολείστε με τα λειτουργικά συστήματα, μπορεί να είστε ικανοί στην ανάπτυξη προγραμμάτων οδήγησης C και συσκευών.
Κάντε μια λίστα με όλες τις τεχνολογίες που είστε εξοικειωμένοι, μαζί με μερικές που θέλετε να μάθετε στην πορεία. Στη συνέχεια, ταξινομήστε αυτές τις τεχνολογίες με βάση την τεχνογνωσία σας, ώστε να μπορείτε να βρείτε ένα έργο που ταιριάζει με τον τομέα σας.
Προαπαιτούμενες Τεχνολογίες
Όλα τα έργα ανοιχτού κώδικα χρησιμοποιούν ένα σύστημα ελέγχου έκδοσης, είτε πρόκειται για Git, Apache Subversion είτε Mercurial. Επομένως, είναι σημαντικό να ενημερωθείτε για οποιοδήποτε από αυτά τα συστήματα ελέγχου εκδόσεων, ώστε να μπορείτε να συμμετέχετε ενεργά στην ανάπτυξη του έργου.
Βήμα 2: Εύρεση έργου ανοιχτού κώδικα
Το επόμενο βήμα είναι η αναζήτηση ένα καλό έργο ανοιχτού κώδικα που είναι επί του παρόντος ενεργή και ανοιχτή για συνεισφορά. Μπορείτε να κρίνετε τη δημοτικότητα ενός έργου κοιτάζοντας τον αριθμό των αστεριών και των πιρουνιών του.
Αλλά πού βρίσκεις ένα έργο; Ακολουθούν τρεις γνωστές πλατφόρμες για την αναζήτηση έργων:
Μεταβείτε στην ιστοσελίδα των Οργανισμών Google Summer of Code για να βρείτε μια πλήρη λίστα έργων ανοιχτού κώδικα που είναι ανοιχτά αυτήν τη στιγμή για συνεισφορές. Και όχι, δεν χρειάζεται να εγγραφείτε στο GSoC για να το κάνετε.
Ο ιστότοπος σάς παρέχει ένα πεδίο αναζήτησης, λειτουργίες ταξινόμησης και μια κατηγορική προβολή των οργανισμών, ώστε να μπορείτε να φιλτράρετε αυτούς που δεν αντιστοιχούν στο σύνολο δεξιοτήτων σας.
Μπορείτε ακόμη και να αναζητήσετε μια συγκεκριμένη τεχνολογία και θα επιστρέψει τους οργανισμούς που χρησιμοποιούν τη συγκεκριμένη τεχνολογία.
Όταν είστε έτοιμοι, κάντε κλικ στην κάρτα ενός οργανισμού και θα μεταφερθείτε στην ιστοσελίδα του. Από εκεί, μπορείτε να μάθετε περισσότερα για αυτό, να περιηγηθείτε στα διαθέσιμα έργα και να δείτε τον κώδικά τους.
Επισκεφτείτε τη σελίδα CNCF Contributors και μετακινηθείτε προς τα κάτω για να βρείτε μια καλά οργανωμένη λίστα έργων ανοιχτού κώδικα μαζί με την κύρια γλώσσα προγραμματισμού που χρησιμοποιείται.
Μπορείτε να κάνετε κλικ σε ένα συγκεκριμένο έργο, το οποίο θα σας μεταφέρει σε μια ενότητα που επισημαίνει το αποθετήριο του έργου, τον επίσημο ιστότοπο, τους χειρισμούς μέσων κοινωνικής δικτύωσης και πολλά άλλα.
3. Θέματα GitHub
Ένας ακόμη αξιοσημείωτος, και αναμφίβολα ο καλύτερος, τρόπος αναζήτησης έργων ανοιχτού κώδικα είναι η χρήση του GitHub. Εάν οι οργανισμοί μεγάλης κλίμακας που αναφέρονται στον ιστότοπο του GSoC και του CNCF σας τρομάζουν, να είστε σίγουροι, καθώς μπορείτε να βρείτε πολλά μικρά έργα που κερδίζουν έδαφος στο GitHub.
Επιλέξτε ένα θέμα που σας ενδιαφέρει (για παράδειγμα, "ανάπτυξη πυρήνα") και συνδέστε το στην παρακάτω διεύθυνση URL:
https://github.com/topics/topic-name
Φροντίστε να αντικαταστήσετε θέμα-όνομα με την τεχνολογία ή το θέμα που σας ενδιαφέρει.
Το GitHub θα επιστρέψει έργα στον συγκεκριμένο τομέα, συμπεριλαμβανομένων λεπτομερειών όπως η περιγραφή τους, ο αριθμός των αστεριών, οι ετικέτες και άλλα. Από εδώ, μπορείτε να επιλέξετε όποιο σας κεντρίζει το ενδιαφέρον και να συνεχίσετε από εκεί.
Βήμα 3: Κατανόηση μιας βάσης κώδικα ανοιχτού κώδικα
Οπότε ολοκληρώσατε ένα έργο. Φαίνεται πολλά υποσχόμενο και το θέμα φαίνεται συναρπαστικό. Αλλά πώς μπορείτε να κατανοήσετε ολόκληρη τη βάση κώδικα; Αισθάνεται σαν ένα σκληρό καρύδι για να σπάσει, ακόμη και για έμπειρους προγραμματιστές.
Το πρώτο πράγμα που πρέπει να γνωρίζετε είναι: εάν πρόκειται για ένα τεράστιο έργο ανοιχτού κώδικα, πιθανότατα οι προγραμματιστές θα το είχε χωρίσει σε ενότητες και δεν χρειάζεται να κατανοήσετε κάθε γραμμή κώδικα για να μπορέσετε συμβάλλει. Αντ 'αυτού, έχετε μια πανοραμική άποψη του έργου και σκάψτε βαθύτερα στο τμήμα με το οποίο θέλετε να ασχοληθείτε.
Συνιστάται επίσης να χρησιμοποιείτε το λογισμικό σε προσωπικά έργα για να πάρετε μια ιδέα για το πώς λειτουργεί. Αυτό θα σας βοηθήσει να μάθετε περισσότερα για το λογισμικό ακόμα και όταν δεν εργάζεστε απευθείας σε αυτό.
1. Εγγραφείτε στη λίστα αλληλογραφίας
Ο καλύτερος τρόπος για να ζητήσετε ερωτήσεις και να κατανοήσετε τον κώδικα είναι να εγγραφείτε στην επίσημη λίστα αλληλογραφίας. Εάν πρόκειται για ένα τεράστιο έργο, ετοιμαστείτε να βομβαρδιστείτε με αλληλογραφία μετά την αλληλογραφία που περιέχει ζητήματα και αιτήματα για λειτουργίες. Ελέγξτε το αρχείο README του έργου για τη διεύθυνση URL της λίστας αλληλογραφίας.
Ως αρχάριος, μπορείτε να στείλετε ένα μήνυμα δηλώνοντας ότι είστε νέος και θέλετε να συνεισφέρετε στο έργο. Οι περισσότεροι από τους προγραμματιστές θα το εκτιμούσαν και θα σας βοηθούσαν με ένα σφάλμα ή ένα ζήτημα που είναι στο επίπεδό σας.
2. Εγγραφείτε στην Πλατφόρμα Επικοινωνίας του Έργου
Πολλά έργα ανοιχτού κώδικα διαθέτουν Discord, Slack ή κάποια άλλη πλατφόρμα επικοινωνίας για να συνομιλούν οι προγραμματιστές. Παρόμοια με τη διεύθυνση URL της λίστας αλληλογραφίας, μπορείτε να τα βρείτε στη λίστα στο αρχείο README ενός έργου.
Βήμα 4: Συμβολή σε ένα έργο ανοιχτού κώδικα
Έχετε δημιουργήσει επαφή με υπάρχοντες συνεργάτες και νιώθετε αρκετά σίγουροι για τον κώδικα. Ποιο είναι το επόμενο?
Τώρα ήρθε η ώρα να βρείτε μερικά χαμηλά φρούτα και να διορθώσετε ένα πρόβλημα γράφοντας κάποιο κώδικα.
1. Εύρεση καλών-πρώτων ζητημάτων στο GitHub
Στο GitHub, οι προγραμματιστές καταγράφουν σφάλματα και αιτήματα λειτουργιών σε μια ενότητα με την ετικέτα Θέματα. Μπορείτε να κάνετε κύλιση σε αυτήν τη λίστα και να βρείτε ένα πρόβλημα που σας φαίνεται επιλύσιμο. Για αρχάριους, κάντε κλικ στο Ετικέτες και φιλτράρετε τη λίστα κάνοντας κλικ στο Καλά πρώτα θέματα ή Για αρχάριους.
2. Χρήση του goodfirstissue.dev
goodfirstissue.dev είναι ένας φανταστικός ιστότοπος που κάνει τη δουλειά πιο εύκολη για εσάς. Συγκεντρώνει ζητήματα που αφορούν το καλό και το αρχάριο από χιλιάδες αποθετήρια και τα παραθέτει σε μια ευανάγνωστη μορφή. Μπορείτε να επιλέξετε προβλήματα από ένα έργο και να φιλτράρετε τη λίστα κατά γλώσσα και τεχνολογία που χρησιμοποιείται.
Κάνοντας κλικ σε μια καταχώριση θα επεκταθεί και θα εμφανιστούν ζητήματα που είναι ιδανικά για αρχάριους που ξεκινούν με συνεισφορές ανοιχτού κώδικα.
Εάν δεν νιώθετε αρκετά σίγουροι για να λύσετε ένα πρόβλημα μόνοι σας, μπορείτε να φιλτράρετε προβλήματα με την ετικέτα Βοήθεια, Ζητείται βοήθεια, ή Απαιτείται βοήθεια. Αυτά παρατίθενται από προγραμματιστές που εργάζονται ήδη για ένα ζήτημα αλλά χρειάζονται βοήθεια.
Η βοήθεια σε κάποιον άλλο είναι ένας καλός τρόπος για να βρείτε έναν μέντορα και να μάθετε περισσότερα για το έργο.
4. Εξωραϊσμός της τεκμηρίωσης ή της διεπαφής χρήστη
Άτομα που δεν ξέρουν να κωδικοποιούν μπορούν επίσης να συνεισφέρουν στον ανοιχτό κώδικα. Μπορείτε να βοηθήσετε στη δημιουργία μιας διεπαφής χρήστη για τον ιστότοπο του έργου ή να βελτιώσετε το υπάρχον αρχείο ή τεκμηρίωση README ώστε να είναι κατανοητό για αρχάριους. Ωστόσο, το τελευταίο απαιτεί να γνωρίζετε ορισμένα βασικά στοιχεία για το έργο και τη λειτουργία του.
Μπορείτε να βρείτε ζητήματα που σχετίζονται με τη βελτίωση του README ή την ανάπτυξη ενός UI/UX για τον ιστότοπο του έργου. Εάν δεν μπορείτε, στείλτε μήνυμα στον ιδιοκτήτη του έργου επισημαίνοντας τις δεξιότητές σας και τον λόγο για τον οποίο θέλετε να συνεισφέρετε. Οι περισσότεροι προγραμματιστές θα εκτιμούσαν τη βοήθεια και θα σας βοηθήσουν.
Βήμα 5: Συγχώνευση του πρώτου σας αιτήματος έλξης
Τώρα, το μόνο που μένει είναι να διορθώστε ένα πρόβλημα και δημιουργήστε ένα αίτημα έλξης για να υποβάλετε τις αλλαγές σας στον κωδικό για έγκριση. Μπορείς χρησιμοποιήστε το Git για να συνεισφέρετε στο έργο. Εάν οι τροποποιήσεις σας επιλύσουν το πρόβλημα χωρίς να σπάσουν τίποτα, ο κάτοχος θα συγχωνεύσει το αίτημα έλξης σας και θα έχετε κάνει την πρώτη σας συνεισφορά ανοιχτού κώδικα.
Εάν κάνατε λάθος, μπορείτε να τους ζητήσετε να ξεκαθαρίσουν τις αμφιβολίες σας προτού αρχίσετε να εργάζεστε ξανά για το πρόβλημα. Είτε έτσι είτε αλλιώς, χρειάζεται χρόνος, προσπάθεια και επιμονή για να μπορέσετε να μάθετε ένα έργο και να συμβάλλετε σε αυτό.
Τώρα είστε συνεισφέρων ανοιχτού κώδικα
Τώρα έχετε μάθει όλα όσα χρειάζεται να κάνετε από την επιλογή ενός έργου ανοιχτού κώδικα έως τη συγχώνευση του πρώτου σας αιτήματος έλξης. Αυτή είναι μόνο η αρχή, όμως. Εάν σας αρέσει το έργο, μπορείτε να συνεχίσετε να συνεισφέρετε και να γίνετε ένας πολύ γνωστός προγραμματιστής στην κοινότητα.
Ο κώδικας ανοιχτού κώδικα διαφέρει από τον ιδιόκτητο κώδικα. Θα πρέπει να γνωρίζετε τα χαρακτηριστικά του καθενός και πώς διαφέρουν το ένα από το άλλο.