Πώς να γίνετε committer και το χρειάζεστε πραγματικά;

Γειά σου! Με λένε Ντμίτρι Παβλόφ, εργάζομαι σε GridGain, και είμαι επίσης committer και συμμετέχων στο PMC στο Apache Ignite και συνεισφέρω στο Apache Training. Πρόσφατα έκανα μια παρουσίαση σχετικά με το έργο ενός committer στη συνάντηση ανοιχτού κώδικα της Sberbank. Με την ανάπτυξη της κοινότητας ανοιχτού κώδικα, πολλοί άνθρωποι άρχισαν όλο και περισσότερο να έχουν ερωτήσεις: πώς να γίνετε committer, ποιες εργασίες να αναλάβετε και πόσες γραμμές κώδικα πρέπει να γραφτούν για να αποκτήσετε αυτόν τον ρόλο. Όταν σκεφτόμαστε δεσμευτές, φανταζόμαστε αμέσως παντοδύναμους και παντογνώστες ανθρώπους με ένα στέμμα στο κεφάλι και έναν τόμο «Καθαρού Κώδικα» αντί για σκήπτρο. Είναι έτσι? Στην ανάρτησή μου, θα προσπαθήσω να απαντήσω σε όλες τις σημαντικές ερωτήσεις σχετικά με τους committers, ώστε να καταλάβετε αν το χρειάζεστε πραγματικά.

Πώς να γίνετε committer και το χρειάζεστε πραγματικά;

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

Ποιος είναι ο δεσμευτής και γιατί χρειάζεται;

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

Γιατί να γίνεις δεσμευτής;

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

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

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

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

Λοιπόν, υπάρχουν και πρόσθετα μπόνους: Οι committers Apache, για παράδειγμα, λαμβάνουν μια δωρεάν άδεια IntelliJ Idea Ultimate (αν και με ορισμένους περιορισμούς).

Τι να κάνετε για να γίνετε δεσμευτής;

Είναι απλό - απλά πρέπει να δεσμευτείς.

Πώς να γίνετε committer και το χρειάζεστε πραγματικά;

Αν νομίζετε ότι δεν υπάρχουν εργασίες για εσάς σε έργα, κάνετε λάθος. Απλώς εγγραφείτε στην κοινότητα που σας ενδιαφέρει και κάντε ό,τι χρειάζεται. Το Apache Software Foundation έχει ξεχωριστό οδηγός με απαιτήσεις για committers.

Τι προβλήματα θα πρέπει να λύσετε;

Οι πιο ποικίλες - από την ανάπτυξη έως τις δοκιμές γραφής και την τεκμηρίωση. Ναι, ναι, η συνεισφορά των ελεγκτών και των τεκμηριωτών στην κοινότητα εκτιμάται σε ίση βάση με τη συμβολή των προγραμματιστών. Υπάρχουν μη τυπικές εργασίες - για παράδειγμα, η εκτέλεση ενός καναλιού YouTube και η ενημέρωση σε άλλους χρήστες πώς χρησιμοποιείτε ένα προϊόν ανοιχτού κώδικα. Για παράδειγμα, το Apache Software Foundation έχει ξεχωριστό σελίδα, όπου αναφέρεται ποια βοήθεια απαιτείται.  

Χρειάζεται να γράψω ένα μεγάλο χαρακτηριστικό για να γίνω committer;

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

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

Πως να συμπεριφερεσαι?

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

Πώς να γίνετε committer και το χρειάζεστε πραγματικά;

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

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

Τέλος, διαβάστε Κώδικας δεοντολογίας και μάθε να κάνετε ερωτήσεις.

Πώς να συνεισφέρετε εάν δεν είστε δεσμευτής;

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

Διαφορετικότητα - όφελος ή βλάβη;

Ποικιλομορφία - κατά την κατανόηση του Apache Software Foundation, αυτό, μεταξύ άλλων, είναι η συμμετοχή των συμμετεχόντων σε ένα έργο ανοιχτού κώδικα από διάφορες εταιρείες. Εάν όλοι συνδέονται με έναν μόνο οργανισμό, τότε με την απώλεια ενδιαφέροντος για το έργο, όλοι οι συμμετέχοντες τρέχουν γρήγορα μακριά από αυτό. Το Diversity παρέχει μακροπρόθεσμο, σταθερό έργο, ποικίλη εμπειρία και ένα ευρύ φάσμα απόψεων των συμμετεχόντων.

Για αγάπη ή για ευκολία;

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

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

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

Committer - να είσαι ή να μην είσαι;

Πώς να γίνετε committer και το χρειάζεστε πραγματικά;

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

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο