Η Οργάνωση των Εκδόσεων του FreeBSD

Murray Stokely


          http://www.FreeBSD.org/~murray
          

Αναθεώρηση: 43184
Τελευταία τροποποίηση στις 2013-11-13 από hrs.
Περίληψη

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

[ HTML σε τμήματα / HTML σε ένα τμήμα ]

Πίνακας Περιεχομένων
1. Εισαγωγή
2. Η Διαδικασία Δημιουργίας μιας Έκδοσης
3. Μεταγλώττιση της Έκδοσης
4. Διανομή των Εκδόσεων
5. Επεκτασιμότητα
6. Μαθήματα που Πήραμε από την Έκδοση 4.4 του FreeBSD
7. Μελλοντικές Κατευθύνσεις
8. Ευχαριστίες
9. Αναφορές

1. Εισαγωγή

Η ανάπτυξη του FreeBSD είναι μια πολύ ανοιχτή διαδικασία. Το FreeBSD αποτελείται από συνεισφορές χιλιάδων ανθρώπων από όλο τον κόσμο. Η ομάδα του FreeBSD παρέχει πρόσβαση μέσω ανώνυμου CVS[1] σε όλους, έτσι ώστε να μπορεί όποιος θέλει να δει μηνύματα log, διαφορές (patches) που έχουν τα διάφορα development branches, και άλλα χαρακτηριστικά που βοηθούν την ανάπτυξη, τα οποία προκύπτουν από την χρήση ενός αυστηρού συστήματος διαχείρισης κώδικα. Αυτό αποτέλεσε και τον πιο σημαντικό παράγοντα έλξης για ένα μεγάλο αριθμό από ταλαντούχους προγραμματιστές από όλο τον κόσμο στο FreeBSD. Είναι προφανές, βέβαια, πως πολύ σύντομα θα είχε γίνει εντελώς χαοτική η κατάσταση αν είχαν όλοι, από όλο τον κόσμο, πρόσβαση να γράψουν στον κώδικα. Γι' αυτό, μόνο μια «επιλεγμένη» ομάδα από περίπου 300 άτομα έχουν πρόσβαση να γράψουν στο CVS repository. Αυτοί οι committers[6] είναι υπεύθυνοι για το μεγαλύτερο μέρος της ανάπτυξηςς που γίνεται στο FreeBSD. Μια κεντρική-ομάδα[7] (core team) από διακεκριμένους προγραμματιστές εκλέγεται για να παρέχει κάποιου είδους καθοδήγηση και μια κατεύθυνση στο σύνολο των committers.

Οι ταχύτατοι ρυθμοί ανάπτυξης του FreeBSD δεν αφήνουν και πολύ χρόνο για το ξεκαθάρισμα του συστήματος ανάπτυξης σε μια έκδοση με ποιότητα που να αξίζει να χρησιμοποιείται ευρέως. Για να λυθεί αυτό το δίλλημα, η ανάπτυξη γίνεται ταυτόχρονα σε δυο παράλληλα μονοπάτια. Ο κύριος κορμός ανάπτυξης είναι ο HEAD ή trunk στο CVS repository μας, γνωστός και ως «FreeBSD-CURRENT», ή «-CURRENT» εν συντομία.

Ένας πιο σταθερός κορμός συντηρείται, γνωστός με το όνομα «FreeBSD-STABLE» ή πιο σύντομα «-STABLE». Και οι δυο κορμοί είναι αποθηκευμένοι στο κύριο CVS repository, στην Καλιφόρνια, και αντιγράφονται μέσω CVSup[2] σε mirrors παντού στον κόσμο. Το FreeBSD-CURRENT[8] είναι η «πρώτη σειρά» της ανάπτυξης του FreeBSD καθώς σε αυτό γίνονται πρώτα όλες οι καινούριες αλλαγές. Το FreeBSD-STABLE είναι ο κορμός ανάπτυξης από τον οποίο φτιάχνονται οι εκδόσεις. Οι αλλαγές εισέρχονται σε αυτόν, τον δεύτερο κορμό ανάπτυξης, με πιο αργό ρυθμό, αφού πρώτα (σύμφωνα με την πολιτική μας) δοκιμαστούν στο FreeBSD-CURRENT και έχουν εξεταστεί πολύ καλά.

Κατά την περίοδο που μεσολαβεί από τη μια έκδοση στην επόμενη, φτιάχνονται καθημερινά snapshots από τα μηχανήματα της ομάδας του FreeBSD και είναι διαθέσιμες από τον εξυπηρετητή ftp://stable.FreeBSD.org/. Η μεγάλη διαθεσιμότητα των εκτελέσιμων snapshots, καθώς και η τάση της κοινότητας των χρηστών μας να ενημερώνουν τα μηχανήματά τους με τις πρόσφατες -STABLE εκδόσεις μέσω CVSup και «make world»[8] βοηθούν να κρατιέται το FreeBSD-STABLE σε μια πολύ αξιόπιστη κατάσταση ακόμα και πριν αρχίσει ο κύκλος των ελέγχων ποιότητας ακριβώς πριν από την διάθεση μιας έκδοσης του FreeBSD.

Συνεχώς στέλνονται από τους χρήστες μας αναφορές προβλημάτων και αιτήσεις για καινούρια χαρακτηριστικά, κατά τη διάρκεια του κύκλου της κάθε έκδοσης. Οι αναφορές προβλημάτων εισάγονται στην βάση GNATS[9] μέσω e-mail, με την εφαρμογή send-pr(1), ή μέσω του web-interface που παρέχεται στην διεύθυνση http://www.FreeBSD.org/send-pr.html. Εκτός από τις διάφορες λίστες ηλεκτρονικού ταχυδρομείου με θέμα τα τεχνικά χαρακτηριστικά του FreeBSD υπάρχει και η λίστα FreeBSD Quality Assurance mailing list, η οποία παρέχει ένα φόρουμ για συζητήσεις σχετικά με τις λεπτομέρειες της «οργάνωσης των εκδόσεων».

Για να εξυπηρετηθούν οι πιο συντηρητικοί χρήστες μας, με έκδοση του FreeBSD 4.3 αρχίσαμε να χρησιμοποιούμε ξεχωριστούς κορμούς εκδόσεων. Αυτοί οι κορμοί δημιουργούνται λίγο πρίν φτιαχτεί η τελική έκδοση. Μετά την ανακοίνωση της έκδοσης, μόνο πολύ σημαντικές αλλαγές και προσθήκες σχετικές με την ασφάλεια γίνονται στον κορμό της έκδοσης. Εκτός από την δυνατότητα αναβάθμισης μέσω CVS, εκτελέσιμα patchkits φτιάχνονται για να μπορούν να αναβαθμίσουν τα συστήματά τους όσοι χρησιμοποιούν τις εκδόσεις RELENG_X_Y.

Το Τμήμα 2, «Η Διαδικασία Δημιουργίας μιας Έκδοσης» εξηγεί με λεπτομέρειες τα διάφορα στάδια της διαδικασίας που βρίσκεται πίσω από κάθε έκδοση, μέχρι και τα βήματα που οδηγούν στην μεταγλώττιση του συστήματος και το Τμήμα 3, «Μεταγλώττιση της Έκδοσης» εξηγεί την ίδια τη διαδικασία της μεταγλώττισης. Το Τμήμα 5, «Επεκτασιμότητα» περιγράφει πως μπορεί να επεκταθεί το βασικό σύστημα από τρίτους και το Τμήμα 6, «Μαθήματα που Πήραμε από την Έκδοση 4.4 του FreeBSD» περιγράφει κάποια από τα πράγματα που μάθαμε από την διαδικασία έκδοσης του FreeBSD 4.4. Τέλος, το Τμήμα 7, «Μελλοντικές Κατευθύνσεις» παρουσιάζει κάποιες από τις κατευθύνσεις που θέλουμε να πάρει η ανάπτυξη στο μέλλον.

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.

Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.