Περιγραφή των Συστημάτων BSD

Greg Lehey

Νομική Σημείωση

Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο του FreeBSD Foundation.

Οι λέξεις ή φράσεις AMD, AMD Athlon, AMD Opteron, Élan, και PCnet είναι εμπορικά σύμβολα της Advanced Micro Devices, Inc.

Οι λέξεις ή φράσεις Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, και TrueType είναι εμπορικά σύμβολα της Apple Computer, Inc., κατοχυρωμένα στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Οι λέξεις Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, και Xeon είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Intel Corporation και των θυγατρικών της στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Το Linux είναι ένα κατοχυρωμένα εμπορικό σύμβολο του Linus Torvalds στις Ηνωμένες Πολιτείες.

Οι λέξεις Motif, OSF/1, και UNIX είναι κατοχυρωμένα εμπορικά σύμβολα και οι λέξεις ή φράσεις IT DialTone και The Open Group είναι εμπορικά σύμβολα του The Open Group στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Οι λέξεις ή φράσεις SPARC, SPARC64, και UltraSPARC είναι εμπορικά σύμβολα της SPARC International, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες. Η SPARC International Inc. κατέχει όλα τα εμπορικά δικαιώματα των συμβόλων SPARC και επιτρέπει την ορθή χρήση τους από όλα τα μέλη της, κατόπιν σχετικής άδειας.

Οι λέξεις ή φράσεις Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, SunOS και VirtualBox είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Sun Microsystems, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Η λέξη UNIX είναι κατοχυρωμένο εμπορικό σύμβολο του Open Group στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Η λέξη XFree86 είναι ένα εμπορικό σύμβολο του The XFree86 Project, Inc.

Πολλές από τις λέξεις ή φράσεις οι οποίες χρησιμοποιούνται από τους κατασκευαστές ή τους πωλητές τους για να διακρίνουν τα προϊόντα τους θεωρούνται εμπορικά σύμβολα. Όπου αυτές εμφανίζονται σε αυτό το κείμενο και για όσες από αυτές γνωρίζει η Ομάδα Ανάπτυξης του FreeBSD ότι είναι πιθανόν να είναι εμπορικά σύμβολα, θα δείτε ένα από τα σύμβολα: “™” ή “®”.

Περίληψη

Στον κόσμο του open source, η λέξη "Linux" είναι σχεδόν συνώνυμη με την έννοια "Λειτουργικό Σύστημα", αλλά δεν είναι το μόνο open source UNIX® λειτουργικό σύστημα. Σύμφωνα με τον Μετρητή Λειτουργικών Συστημάτων του Internet, από τον Απρίλιο του 1999 το 31.3% των υπολογιστών του κόσμου που είναι συνδεδεμένοι στο δίκτυο τρέχουν Linux. Το 14.6% τρέχουν BSD UNIX®. Κάποιες από τις μεγαλύτερες εφαρμογές του παγκόσμιου ιστού, όπως το Yahoo!, τρέχουν BSD. Ο πιο μεγάλος σε φόρτο FTP εξυπηρετητής του κόσμου το 1999 (που δεν υπάρχει πλέον), το ftp.cdrom.com, χρησιμοποιούσε BSD για να μεταφέρει πάνω από 1.4 TB δεδομένων τη μέρα. Είναι προφανές ότι αυτή δεν είναι μια περιορισμένη αγορά: το BSD είναι ένα καλά κρατημένο μυστικό.

Λοιπόν, ποιο είναι το μυστικό; Γιατί το BSD δεν είναι πιο ευρέως γνωστό; Αυτό το άρθρο είναι μια προσπάθεια να απαντηθούν αυτές και άλλες ερωτήσεις.


1. Τί είναι το BSD;

BSD σημαίνει "Berkeley Software Distribution". Είναι το όνομα από τις διανομές πηγαίου κώδικα που έκανε το Πανεπιστήμιο της Καλιφόρνια, Berkeley (University of California, Berkeley), οι οποίες ήταν αρχικά επεκτάσεις στο UΝΙΧ ερευνητικό λειτουργικό σύστημα της AT&T. Διάφορα open source λειτουργικά συστήματα είναι βασισμένα σε μια έκδοση αυτού του πηγαίου κώδικα γνωστή ως 4.4BSD-Lite. Εκτός από αυτό, περιέχουν και μια ποικιλία από πακέτα από άλλες Open Source πηγές, με την ομάδα GNU να είναι μια από τις πιο σημαντικές. Συνολικά, το λειτουργικό σύστημα περιλαμβάνει:

  • Τον BSD πυρήνα, που διαχειρίζεται την δρομολόγηση των διεργασιών, την μνήμη, την συμμετρική πολυ-επεξεργασία (symmetric multi-processing, SMP) τους οδηγούς συσκευών, κλπ.

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

  • Η βιβλιοθήκη της C, το βασικό API του συστήματος.

    Η C βιβλιοθήκη του BSD είναι βασισμένη σε κώδικα από το Berkeley, όχι από την ομάδα GNU.

  • Εργαλεία όπως φλοιοί (shells), προγράμματα διαχείρισης αρχείων, μεταγλωττιστές (compilers, linkers).

    Κάποια από τα εργαλεία είναι βασισμένα σε κώδικα GNU, κάποια άλλα όχι.

  • Το Σύστημα X Window, που υλοποιεί το γραφικό περιβάλλον.

    Το σύστημα X Window που χρησιμοποιείται στις πιο πολλές εκδόσεις του BSD συντηρείται από μια διαφορετική ομάδα προγραμματιστών: είτε την ομάδα , είτε την ομάδα X.Org. Αυτός είναι ο ίδιος κώδικας που χρησιμοποιεί και το Linux. Το BSD συνήθως δεν ορίζει ένα συγκεκριμένο "γραφικό περιβάλλον", όπως το GNOME ή το KDE, παρόλο που και τα δυο είναι διαθέσιμα.

  • Πολλά άλλα προγράμματα και εργαλεία.

2. Τί, ένα αληθινό UNIX®;

Τα BSD λειτουργικά συστήματα δεν είναι κλώνοι, αλλά open source προϊόντα που έχουν βγει από το Πειραματικό UNIX® λειτουργικό σύστημα της AT&T, που είναι επίσης πρόγονος του μοντέρνου UNIX® System V. Αυτό ίσως σας προκαλέσει έκπληξη. Πώς μπορεί κάτι τέτοιο να γίνει, αφού η AT&T δεν έχει διανείμει ποτέ τον κώδικά της σαν open source;

Είναι αλήθεια ότι το AT&T UNIX® δεν είναι open source, και κατά μια έννοια, αν είμαστε αυστηροί με το θέμα των πνευματικών δικαιωμάτων, το BSD σίγουρα δεν είναι UNIX®, αλλά από την άλλη, η ίδια η AT&T έχει ενσωματώσει κώδικα από άλλες ομάδες ανάπτυξης, με μια από τις πιο σημαντικές να είναι η Ομάδα Έρευνας της Επιστήμης των Υπολογιστών του Πανεπιστημίου της California, Berkeley, CA (Computer Sciences Research Group (CSRG), University of California, Berkeley, CA). Ξεκινώντας το 1976, η CSRG ξεκίνησε να διανέμει tapes με το λογισμικό τους, αποκαλώντας το Berkeley Software Distribution ή απλώς BSD.

Οι αρχικές εκδόσεις του BSD αποτελούνταν κυρίως από προγράμματα για χρήστες, αλλά αυτό άλλαξε δραματικά όταν η CSRG έκλεισε ένα συμβόλαιο με την Defense Advanced Projects Research Agency (DARPA) για να αναβαθμίσει τα πρωτόκολλα επικοινωνίας του δικτύου της DARPA, του ARPANET. Τα νέα πρωτόκολλα ήταν γνωστά ως Internet Protocols, αργότερα TCP/IP παίρνοντας το όνομά τους από τα δύο πιο σημαντικά πρωτόκολλα Η πρώτη ευρέως γνωστή υλοποίηση ήταν μέρος του 4.2BSD, που ανακοινώθηκε το 1982.

Κατά τη διάρκεια της δεκαετίας του 80 αναπτύχθηκε ένα πλήθος εταιρειών που διέθεταν σταθμούς εργασίας. Πολλές προτίμησαν να αγοράσουν την άδεια του UNIX® αντί να αναπτύξουν δικά τους λειτουργικά συστήματα. Συγκεκριμένα, η Sun Microsystems αγόρασε την άδεια του UNIX® και ανέπτυξε μια έκδοση του 4.2BSD την οποία ονόμασε SunOS. Όταν και η ίδια η AT&T μπόρεσε, άρχισε να πουλά το UNIX® με μια έκδοση περιορισμένων δυνατοτήτων που λεγόταν System III, την οποία γρήγορα ακολούθησε το System V. Η βάση πηγαίου κώδικα του System V δεν περιείχε κώδικα δικτύωσης, οπότε όλες οι υλοποιήσεις περιείχαν επιπλέον λογισμικό από το BSD, συμπεριλαμβανομένου του λογισμικού TCP/IP, αλλά και προγράμματα όπως τον φλοιό csh και τον επεξεργαστή κειμένου vi. Συνολικά, αυτές οι βελτιώσεις ήταν γνωστές σαν οι Επεκτάσεις Berkeley.

Τα tapes του BSD περιείχαν πηγαίο κώδικα της AT&T κι έτσι απαιτούσαν μια άδεια πηγαίου κώδικα του UNIX®. Μέχρι το 1990, η χρηματοδότηση της CSRG τέλειωνε, και πήγαινε για κλείσιμο. Κάποια μέλη της ομάδας αποφάσισαν να διανείμουν τον BSD κώδικα, που ήταν Open Source, χωρίς τα κομμάτια του εμπορικού AT&T κώδικα. Αυτό έγινε τελικά με την Networking Tape 2, γνωστή και ως Net/2. Η Net/2 δεν ήταν ένα ολοκληρωμένο λειτουργικό σύστημα. Περίπου 20% από τον κώδικα του πυρήνα έλειπε. Ένα από τα μέλη της CSRG, ο William F. Jolitz, έγραψε τον υπόλοιπο κώδικα που έλειπε και τον έδωσε νωρίς το 1992 με όνομα 386BSD. Την ίδια στιγμή, μια άλλη ομάδα από πρώην μέλη της CSRG ίδρυσε μια εμπορική εταιρεία με όνομα Berkeley Software Design Inc. και εξέδωσε μια πειραματική έκδοση ενός λειτουργικού συστήματος που λεγόταν BSD/386, το οποίο ήταν βασισμένο στον ίδιο πηγαίο κώδικα. Το όνομα του λειτουργικού συστήματος άλλαξε αργότερα σε BSD/OS.

Το 386BSD ποτέ δεν έγινε ένα σταθερό λειτουργικό σύστημα. Αντί γι αυτό, δύο άλλες ομάδες ξεπήδησαν από αυτό το 1993. Η ομάδα του NetBSD και η ομάδα του FreeBSD. Οι δυο ομάδες αρχικά ξεχώρισαν επειδή είχαν διαφορετική υπομονή όσον αφορά σε κάποιες βελτιώσεις στο 386BSD. Η ομάδα του NetBSD ξεκίνησε στην αρχή της χρονιάς, και η πρώτη έκδοση του FreeBSD δεν ήταν έτοιμη μέχρι το τέλος της χρονιάς. Στο μεταξύ η βάση του πηγαίου κώδικα είχε πλέον τόσες διαφορές που ήταν δύσκολο να ενωθεί η μια με με την άλλη ομάδα. Επιπλέον, οι δυο ομάδες είχαν και διαφορετικούς στόχους όπως θα δούμε παρακάτω. Το 1996 δημιουργήθηκε το OpenBSD από το NetBSD και το 2003 δημιουργήθηκε το DragonFlyBSD από το FreeBSD.

3. Γιατί δεν είναι το BSD πιο γνωστό;

Για διάφορους λόγους, το BSD είναι σχετικά άγνωστο:

  1. Αυτοί που αναπτύσσουν το BSD ασχολούνται συχνά περισσότερο με το να διορθώνουν τον κώδικά τους παρά με το να τον διαφημίζουν.

  2. Αρκετή από την δημοσιότητα του Linux οφείλεται σε παράγοντες εξωτερικούς (σε σχέση με αυτούς που αναπτύσσουν το Linux), όπως στα μέσα ενημέρωσης, και σε εταιρείες που έχουν φτιαχτεί για να παρέχουν υπηρεσίες βασισμένες σε Linux. Μέχρι πρόσφατα, τα open source BSD δεν είχαν τέτοιους διαφημιστές.

  3. Αυτοί που αναπτύσσουν το BSD τείνουν να είναι πιο έμπειροι από τους χρήστες του Linux και δεν τους ενδιαφέρει τόσο πολύ να το κάνουν εύκολο στη χρήση. Οι καινούριοι χρήστες έχουν την τάση να αισθάνονται πιο άνετα με το Linux.

  4. Το 1992, η AT&T έκανε μήνυση στην BSDI, την εταιρεία που ανέπτυσσε το BSD/386, κατηγορώντας την ότι το προϊόν περιείχε κώδικα του οποίου τα πνευματικά δικαιώματα ανήκαν στην AT&T. Η υπόθεση κανονίστηκε εκτός δικαστηρίου το 1994, αλλά το φάντασμα της μήνυσης ακόμα συνεχίζει να τρομάζει τον κόσμο. Ακόμα και σχετικά πρόσφατα, τον Μάρτιο του 2000, ένα άρθρο που βγήκε στον παγκόσμιο ιστό υποστηρίζει ότι η υπόθεση έκλεισε με "πρόσφατο διακανονισμό".

    Μια λεπτομέρεια που η μήνυση ξεκαθάρισε είναι η κατάσταση των ονομάτων: κατά τη διάρκεια της δεκαετίας του'80, το BSD ήταν γνωστό ως "BSD UNIX®". Με την αφαίρεση ακόμα και του τελευταίου κομματιού κώδικα από την AT&T, έχασε και το δικαίωμα στο όνομα UNIX®. Έτσι θα δείτε αναφορές σε βιβλία με τίτλους όπως "the 4.3BSD UNIX® operating system" και "the 4.4BSD operating system".

  5. Υπάρχει η εντύπωση πως τα BSD λειτουργικά συστήματα είναι κομματιασμένα και αντιμαχόμενα. Η Wall Street Journal μιλούσε για "balkanization" των ομάδων ανάπτυξης του BSD. Ακριβώς όπως και η μήνυση, αυτή η εντύπωση βασίζεται κυρίως σε παλιές ιστορίες.

4. Σύγκριση του BSD με το Linux

Τελικά ποια είναι η διαφορά μεταξύ, ας πούμε, του Debian Linux και του FreeBSD; Για τον μέσο χρήστη, η διαφορά είναι στην πραγματικότητα μικρή: και τα δυο είναι λειτουργικά συστήματα που μοιάζουν με το UNIX®. Και τα δυο αναπτύσσονται από μη εμπορικές κοινότητες (αυτό δεν ισχύει για πολλές άλλες διανομές του Linux φυσικά). Στις επόμενες παραγράφους, θα πούμε λίγα πράγματα για το BSD και θα το συγκρίνουμε με το Linux. Η περιγραφή ταιριάζει πιο πολύ στο FreeBSD, το οποίο είναι περίπου το 80% των εγκατεστημένων BSD, αλλά οι διαφορές από το NetBSD, το OpenBSD και το DragonFlyBSD είναι μικρές.

4.1. Σε ποιον ανήκει το BSD;

Δεν υπάρχει ένα άτομο ή οργανισμός στον οποίο να ανήκει το BSD. Αναπτύσσεται και διανέμεται από μια κοινότητα προγραμματιστών από όλο τον κόσμο που έχουν αρκετές γνώσεις και είναι αφοσιωμένοι στην ανάπτυξή του. Κάποια από τα κομμάτια του BSD είναι ανεξάρτητα Open Source projects που συντηρούνται από κάποια διαφορετική ομάδα ή άτομο.

4.2. Πως αναπτύσσεται και ενημερώνεται το BSD;

Οι BSD πυρήνες αναπτύσσονται ακολουθώντας το Open Source μοντέλο ανάπτυξης. Κάθε ομάδα διατηρεί ένα δέντρο πηγαίου κώδικα στο οποίο έχουν όλοι πρόσβαση, χρησιμοποιώντας το Concurrent Versions System (CVS). Το δέντρο πηγαίου κώδικα περιέχει όλο τον πηγαίο κώδικα για τα αρχεία του συστήματος, καθώς και τεκμηρίωση ή άλλα σχετικά αρχεία. Το CVS επιτρέπει στους χρήστες να "εξάγουν" (με άλλα λόγια να πάρουν ένα αντίγραφο) οποιασδήποτε έκδοσης του συστήματος.

Ένας μεγάλος αριθμός προγραμματιστών από όλο τον κόσμο συνεισφέρουν με βελτιώσεις για το BSD. Χωρίζονται σε τρεις κατηγορίες:

  • Οι Contributors γράφουν κώδικα ή τεκμηρίωση. Δεν έχουν δικαίωμα να κάνουν commit (να προσθέσουν κώδικα) απευθείας στον πηγαίο κώδικα. Για να μπει ο κώδικάς τους στο σύστημα πρέπει να περάσει από έλεγχο και να δοκιμαστεί από κάποιον προγραμματιστή που έχει τέτοια δικαιώματα, ο οποίος λέγεται και committer.

  • Οι Committers είναι προγραμματιστές με δικαίωμα να προσθέτουν πράγματα απευθείας στον πηγαίο κώδικα. Για να γίνει κάποιος committer πρέπει να δείξει ότι έχει ικανότητες σε κάποιο συγκεκριμένο τομέα, στον οποίο είναι ενεργός.

    Αφήνεται στην διακριτικότητα του committer το αν θα πρέπει να πάρει άδεια πριν κάνει αλλαγές σε ένα συγκεκριμένο μέρος του πηγαίου κώδικα. Γενικά, ένας έμπειρος committer μπορεί να κάνει αλλαγές που είναι προφανώς σωστές χωρίς να ζητήσει άδεια. Για παράδειγμα, ένας committer από την ομάδα τεκμηρίωσης μπορεί να διορθώνει ορθογραφικά ή γραμματικά λάθη χωρίς να ζητήσει επιβεβαίωση. Από την άλλη, προγραμματιστές που κάνουν μεγάλες ή περίπλοκες αλλαγές θα πρέπει να δίνουν κάπως τις αλλαγές τους στους άλλους για έλεγχο πριν κάνουν commit. Σε εξαιρετικές περιπτώσεις, ένα μέλος της βασικής ομάδας (core team) με την ιδιότητα του Principal Architect μπορεί να απαιτήσει οι αλλαγές να αφαιρεθούν από τον πηγαίο κώδικα, μια διαδικασία που λέγεται backing out. Όλοι οι committers παίρνουν mail που περιγράφουν κάθε ξεχωριστή αλλαγή που γίνεται commit, οπότε δεν είναι δυνατόν να προστεθεί κάτι κρυφά.

  • Η Core team. Τέλος, το FreeBSD και το NetBSD έχουν το καθένα μια βασική ομάδα (core team) που έχει την διαχείριση του συστήματος. Η βασική ομάδα έχει αναπτυχθεί στην πορεία του project, και ο ρόλος της δεν είναι πάντα σαφώς καθορισμένος. Δεν είναι απαραίτητο να είναι κάποιος προγραμματιστής, αν και συνήθως τα μέλη της βασικής ομάδας είναι από τα άτομα που αναπτύσσουν το BSD. Οι κανόνες για την βασική ομάδα διαφέρουν από το ένα project στο άλλο, αλλά γενικά η γνώμη της βασικής ομάδας μετράει περισσότερο στην κατεύθυνση του project από αυτή των υπόλοιπων.

Αυτή η οργάνωση διαφέρει από αυτή του Linux σε διάφορα σημεία:

  1. Δεν υπάρχει ένα μοναδικό άτομο που να ελέγχει τα περιεχόμενα του συστήματος. Πρακτικά, αυτή η διαφορά υπερεκτιμάται, αφού ο Principal Architect μπορεί να απαιτήσει κάποιος κώδικας να αφαιρεθεί, και ακόμα και στο Linux υπάρχουν αρκετά άτομα που τους επιτρέπεται να κάνουν αλλαγές.

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

  3. Τα BSD project συντηρούν ολόκληρο το "Λειτουργικό Σύστημα", κι όχι μόνο τον πυρήνα. Αυτή η διαφορά είναι μόνο οριακά χρήσιμη. Ούτε το BSD, ούτε το Linux δεν είναι πολύ χρήσιμα χωρίς εφαρμογές. Οι εφαρμογές που χρησιμοποιούνται στο BSD είναι συχνά οι ίδιες εφαρμογές που χρησιμοποιούνται κάτω από το Linux.

  4. Σαν αποτέλεσμα της κεντρικής και σαφώς ορισμένης συντήρησης ενός CVS δέντρου πηγαίου κώδικα, η ανάπτυξη του BSD είναι ξεκάθαρη, και είναι εύκολη η πρόσβαση σε οποιαδήποτε έκδοση του συστήματος είτε με αριθμό έκδοσης, είτε με ημερομηνία. Το CVS επίσης επιτρέπει αθροιστικές αλλαγές στο σύστημα. Για παράδειγμα, το repository του FreeBSD ενημερώνεται περίπου 100 φορές τη μέρα. Οι πιο πολλές από αυτές τις αλλαγές είναι μικρές.

4.3. Εκδόσεις του BSD

Οι ομάδες ανάπτυξης των FreeBSD, NetBSD και OpenBSD διαθέτουν το σύστημα σε τρεις διαφορετικές "εκδόσεις". Όπως και με το Linux, σε κάθε έκδοση δίνεται ένας αριθμός, π.χ. 1.4.1 ή 3.5. Εκτός από αυτό, ο αριθμός της έκδοσης έχει ένα επίθεμα, το οποίο υποδηλώνει το σκοπό της έκδοσης:

  1. Η πειραματική έκδοση του συστήματος λέγεται CURRENT. Το FreeBSD ορίζει ένα αριθμό έκδοσης για το CURRENT, για παράδειγμα FreeBSD 5.0-CURRENT. Το NetBSD χρησιμοποιεί ένα κάπως διαφορετικό τρόπο ονοματολογίας και προσθέτει γράμμα στο τέλος του αριθμού έκδοσης το οποίο αντιστοιχεί σε αλλαγές εσωτερικών λειτουργιών, για παράδειγμα NetBSD 1.4.3G. Το OpenBSD δεν ορίζει κάποιο αριθμό ("OpenBSD-current"). Η ανάπτυξη καινούριων πραγμάτων πάντα γίνεται σε αυτόν τον κλάδο.

  2. Σε τακτά χρονικά διαστήματα, από δυο μέχρι και τέσσερεις φορές το χρόνο, τα project ανακοινώνουν μια RELEASE έκδοση του συστήματος, η οποία διατίθεται σε CD-ROM και μπορεί κάποιος να την κατεβάσει από FTP εξυπηρετητές, για παράδειγμα ανακοινώνεται το OpenBSD 2.6-RELEASE ή το NetBSD 1.4-RELEASE. Η RELEASE έκδοση απευθύνεται σε τελικούς χρήστες, και είναι η κανονική μορφή του συστήματος. Το NetBSD διαθέτει επίσης και patch εκδόσεις με ένα τρίτο ψηφίο, όπως για παράδειγμα την NetBSD 1.4.2.

  3. Καθώς προβλήματα βρίσκονται σε κάποια RELEASE έκδοση, διορθώνονται, και οι αλλαγές προστίθενται στο CVS. Στο FreeBSD, το αποτέλεσμα ονομάζεται η STABLE έκδοση, ενώ στο NetBSD και στο OpenBSD συνεχίζει να λέγεται η RELEASE έκδοση. Μικρά καινούρια χαρακτηριστικά μπορεί να προστεθούν και σε αυτόν τον κλάδο μετά από μια δοκιμαστική περίοδο στον CURRENT κλάδο.

Το Linux, σε αντίθεση, συντηρεί δυο ξεχωριστά δέντρα πηγαίου κώδικα. Την σταθερή και την πειραματική έκδοση. Οι σταθερές εκδόσεις έχουν ένα ζυγό αριθμό έκδοσης, όπως 2.0, 2.2 ή 2.4. Οι πειραματικές εκδόσεις έχουν περιττό αριθμό έκδοσης, όπως 2.1, 2.3 ή 2.5. Σε κάθε περίπτωση, ο αριθμός ακολουθείται από ένα ακόμα αριθμό που υποδεικνύει την ακριβή έκδοση. Ακόμα, κάθε διανομέας προσθέτει τα δικά του προγράμματα χρήστη και εργαλεία, οπότε το όνομα της διανομής είναι επίσης σημαντικό. Κάθε διανομέας επίσης προσθέτει τον δικό του αριθμό στην διανομή, οπότε μια πλήρης περιγραφή μπορεί να είναι κάτι σαν "TurboLinux 6.0 με πυρήνα 2.2.14"

4.4. Τι εκδόσεις του BSD είναι διαθέσιμες;

Σε αντίθεση με τις διανομές του Linux, υπάρχουν μόνο τέσσερα διαφορετικά open source BSD. Κάθε BSD ομάδα συντηρεί τον δικό της πηγαίο κώδικα και τον δικό της πυρήνα. Πρακτικά, φυσικά, υπάρχουν πολύ λιγότερες διαφορές στα προγράμματα χρήστη των BSD ομάδων από ότι υπάρχουν στο Linux.

Είναι δύσκολο να κατηγοριοποιηθούν οι σκοποί της κάθε BSD ομάδας. Οι διαφορές είναι πολύ υποκειμενικές. Βασικά,

  • Το FreeBSD έχει ως στόχο την υψηλή απόδοση και την ευκολία χρήσης από τους τελικούς χρήστες. Είναι επίσης το αγαπημένο των υπηρεσιών παροχής περιεχομένου στον παγκόσμιο ιστό. Τρέχει σε αρκετές πλατφόρμες: συστήματα βασισμένα στην i386™ αρχιτεκτονική ("PC"), συστήματα βασισμένα στους AMD 64-bit επεξεργαστές, συστήματα βασισμένα στην αρχιτεκτονική UltraSPARC®, συστήματα με επεξεργαστές Alpha της Compaq και συστήματα βασισμένα στο πρότυπο PC-98 της NEC. Το FreeBSD έχει σημαντικά περισσότερους χρήστες από τα άλλα projects.

  • Το NetBSD στοχεύει στην μέγιστη μεταφερσιμότητα: "μα φυσικά και τρέχει NetBSD". Τρέχει σε μηχανές από υπολογιστές χειρός μέχρι μεγάλους εξυπηρετητές, και έχει χρησιμοποιηθεί ακόμα και σε αποστολές της NASA. Είναι μια πολύ καλή επιλογή για παλιό μη-Intel® hardware.

  • Το OpenBSD δίνει μεγάλη σημασία στην ασφάλεια και στην καθαρότητα του κώδικα: χρησιμοποιεί ένα συνδυασμό από ιδέες open source και λεπτομερή έλεγχο του κώδικα για να φτιάξει ένα σύστημα που είναι ολοφάνερα σωστό, κάτι που το κάνει να είναι η επιλογή των οργανισμών που δίνουν σημασία στην ασφάλεια, όπως τράπεζες, χρηματιστήρια και παραρτήματα της κυβέρνησης των ΗΠΑ. Όπως και το NetBSD τρέχει σε αρκετές πλατφόρμες.

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

Υπάρχουν ακόμη και δύο BSD λειτουργικά συστήματα που δεν είναι open source, το BSD/OS και το Mac OS® X της Apple:

  • Το BSD/OS είναι το πιο παλιό από τα βασισμένα στο 4.4BSD λειτουργικά συστήματα. Δεν ήταν open source, παρόλο που άδειες πηγαίου κώδικα ήταν διαθέσιμες με σχετικά χαμηλό κόστος. Έμοιαζε πολύ με το FreeBSD. Δύο χρόνια μετά την εξαγορά της BSDi από τη Wind River Systems, το BSD/OS απέτυχε να επιβιώσει σαν ανεξάρτητο προϊόν. Μπορεί ακόμα να είναι διαθέσιμη υποστήριξη και πηγαίος κώδικας από την Wind River, αλλά όλη η ανάπτυξη γίνεται πλέον στο embedded λειτουργικό σύστημα VxWorks.

  • Το Mac OS® X είναι η πιο πρόσφατη έκδοση του λειτουργικού συστήματος για την γραμμή υπολογιστών Macintosh® της Apple Computer Inc. Ο πυρήνας του λειτουργικού συστήματος, ο οποίος είναι βασισμένος στο BSD και λέγεται Darwin, είναι διαθέσιμος ως ένα πλήρες λειτουργικό σύστημα ανοιχτού κώδικα για υπολογιστές x86 και PPC. Το σύστημα γραφικών Aqua/Quartz και πολλά άλλα εμπορικά μέρη του Mac OS® X δεν είναι διαθέσιμα σε μορφή πηγαίου κώδικα. Αρκετά μέλη της ομάδας ανάπτυξης του Darwin συμμετέχουν στην ανάπτυξη του FreeBSD κι ανάποδα.

4.5. Τι διαφορά έχει η άδεια του BSD από την GNU Public άδεια;

Το Linux διατίθεται σύμφωνα με τους όρους της GNU General Public License (GPL), η οποία είναι σχεδιασμένη για να αποκλείσει το μη-ελεύθερο λογισμικό. Ειδικότερα, οποιοδήποτε προϊόν βασισμένο σε κάποιο προϊόν διαθέσιμο σύμφωνα με τους όρους της GPL πρέπει κι αυτό να δίνεται σε μορφή πηγαίου κώδικα αν ζητηθεί. Αντίθετα, η BSD άδεια είναι λιγότερο περιοριστική: διανομές οι οποίες είναι διαθέσιμες μόνο σε εκτελέσιμη μορφή επιτρέπονται. Αυτό είναι πολύ χρήσιμο σε embedded εφαρμογές.

4.6. Τί άλλο θά 'πρεπε να ξέρω;

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

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

4.7. Τι προτείνετε να χρησιμοποιήσω, BSD ή Linux;

Κι αυτό τι υποτίθεται ότι σημαίνει πρακτικά; Ποιος θά 'πρεπε να χρησιμοποιεί BSD, και ποιος θά 'πρεπε να χρησιμοποιεί Linux;

Αυτή είναι μια πολύ δύσκολη ερώτηση να απαντήσει κανείς. Ας δούμε μερικές γενικές οδηγίες:

  • "Αν δεν έχει χαλάσει, μην το φτιάξετε": Αν ήδη χρησιμοποιείτε κάποιο open source λειτουργικό σύστημα, και είστε ικανοποιημένοι από αυτό, μάλλον δεν υπάρχει κανένας καλός λόγος να το αλλάξετε.

  • Τα BSD συστήματα, και ειδικά το FreeBSD, μπορούν να έχουν αξιοσημείωτα καλύτερη απόδοση από το Linux. Αλλά αυτό δεν ισχύει πάντα. Σε πολλές περιπτώσεις, δεν υπάρχει διαφορά στην απόδοση ή είναι πολύ μικρή. Σε μερικές περιπτώσεις μπορεί το Linux να αποδίδει καλύτερα από το FreeBSD.

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

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

  • Η BSD άδεια μπορεί να σας αρέσει περισσότερο από την GPL.

  • Το BSD μπορεί να τρέξει ένα μεγάλο ποσοστό από τα εκτελέσιμα των προγραμμάτων για Linux, ενώ το Linux δε μπορεί να τρέξει BSD εκτελέσιμα. Πολλές BSD υλοποιήσεις μπορούν να τρέξουν ακόμη κι εκτελέσιμα από άλλα UNIX® συστήματα. Αυτό πιθανόν να έχει ως αποτέλεσμα η μετάβαση από κάποιο άλλο σύστημα σε BSD να είναι πιο εύκολη από ότι σε Linux.

    Το BSD μπορεί να τρέξει εκτελέσιμα του Linux, ενώ το Linux δεν μπορεί να εκτελέσει προγράμματα για BSD. Σαν αποτέλεσμα, περισσότερο λογισμικό είναι διαθέσιμο για BSD από ότι για Linux.

4.8. Ποιος παρέχει υποστήριξη, service και εκπαίδευση για το BSD;

Η BSDi / FreeBSD Mall, Inc. πάντα παρείχε υποστήριξη για το BSD/OS και πρόσφατα ανακοίνωσε ότι παρέχει συμβόλαια υποστήριξης και για το FreeBSD.

Επίσης, κάθε ένα από τα BSD έχει μια λίστα με consultants που μπορείτε να προσλάβετε: για το FreeBSD, το NetBSD, και το OpenBSD.