Whatsapp

Ποιος είναι ο καλύτερος τρόπος για να συνεισφέρετε στον πυρήνα του Linux;

Anonim

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

Για να ζωγραφίσετε μια τέλεια εικόνα, ο πυρήνας είναι για έναν υπολογιστή ό,τι ένας κινητήρας για ένα αυτοκίνητο. Ρωτάτε ποιος είναι ο καλύτερος τρόπος για να συνεισφέρετε στον πυρήνα του Linux; Δεν γνωρίζω. Δεν είμαι αρμόδιος για τους πυρήνες, αλλά σίγουρα έχω κάποιες προτάσεις που μπορεί να σας φανούν χρήσιμες.

Προαπαιτούμενα που εμπλέκονται

Ο Linux Kernel γράφτηκε σε C και γλώσσες προγραμματισμού assembly να είναι του τύπου Monolithic. Κυκλοφόρησε με την άδεια GNU GPL, είναι διαθέσιμο στον ιστότοπο του Linux Kernel Archives.

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

Ένα καλό μέρος για να ξεκινήσετε είναι το Kernel Newbies, όπου θα εξοικειωθείτε με το Eudyptula Challenge – μια σειρά ασκήσεων προγραμματισμού που διδάσκει πώς να συνεισφέρετε στον πυρήνα του Linux.

Ένα άλλο πράγμα που πρέπει να γνωρίζετε προτού εμβαθύνετε στον κώδικα Linux είναι ότι το αποθετήριο Linux στο GitHub είναι σχεδόν ένα stand-in mirror και ο Linus δεν δέχεται αιτήματα έλξης.

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

Οι τρόποι συνεισφοράς

Υπάρχουν 3 κύριοι τρόποι με τους οποίους μπορείτε να συνεισφέρετε στον πυρήνα:

1. Τελειοποιήστε την ποιότητα κώδικα

Το

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

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

2. Ολοκληρώστε τα ToDos

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

3. Διόρθωση σφαλμάτων

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

Λοιπόν, ορίστε!

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

Στο τέλος της ημέρας, ο Linux Kernel είναι διαθέσιμος σε όλους όσους ενδιαφέρονται να συνεισφέρουν σε αυτόν και κανείς δεν είναι κάτω από εξαναγκασμός να το κάνει.

Ποιος πιστεύετε ότι είναι ο καλύτερος τρόπος να συνεισφέρετε στον πυρήνα του Linux; Είστε συνεισφέρων με κωδικό ή οποιονδήποτε άλλο τρόπο; Ή ίσως γνωρίζετε ανθρώπους που είναι. Ρίξτε τα δύο σεντ σας στο παρακάτω πλαίσιο συζήτησης.