Κεφάλαιο 1. Εισαγωγή

1.1. Σύνοψη

Ευχαριστούμε για το ενδιαφέρον σας για το FreeBSD! Το ακόλουθο κεφάλαιο καλύπτει διάφορες πτυχές του FreeBSD Project, όπως την ιστορία του, τους στόχους του, το μοντέλο ανάπτυξης, κ.τ.λ.

Μετά την ανάγνωση αυτού του κεφαλαίου, θα γνωρίζετε:

  • Πως σχετίζεται το FreeBSD με άλλα λειτουργικά συστήματα Η/Υ.

  • Την ιστορία του FreeBSD Project.

  • Τους στόχους του FreeBSD Project.

  • Τις βασικές αρχές του open-source μοντέλου ανάπτυξης του FreeBSD.

  • Και φυσικά: από που προέρχεται το όνομα "FreeBSD".

1.2. Καλώς ήλθατε στο FreeBSD!

Το FreeBSD είναι ένα λειτουργικό σύστημα βασισμένο στο 4.4BSD-Lite, το οποίο μπορεί να χρησιμοποιηθεί σε Η/Υ Intel (x86 και Itanium®), AMD64 και Sun UltraSPARC®. Σε εξέλιξη βρίσκεται επίσης η διαδικασία μεταφοράς του FreeBSD σε άλλες αρχιτεκτονικές. Μπορείτε επίσης να διαβάσετε για την ιστορία του FreeBSD, ή για την πιο πρόσφατη επίσημη έκδοση του. Εάν ενδιαφέρεστε να συμβάλλετε με κάποιο τρόπο στο Project (κώδικα, hardware, χρηματοδότηση), διαβάστε το άρθρο Συνεισφέροντας στην Ανάπτυξη του FreeBSD.

1.2.1. Τι μπορεί να κάνει το FreeBSD;

Το FreeBSD έχει πολλά αξιόλογα χαρακτηριστικά. Μερικά από αυτά είναι:

  • Preemptive πολυεπεξεργασία (preemptive multitasking) με δυναμικό έλεγχο προτεραιότητας για να εξασφαλιστεί ομαλός και δίκαιος διαμοιρασμός των πόρων του Η/Υ μεταξύ εφαρμογών και χρηστών, ακόμη και στις πιο αντίξοες συνθήκες και βαρύ φορτίο.

  • Πολυχρηστικές δυνατότητες (multi-user facilities) οι οποίες επιτρέπουν σε πολλά άτομα ταυτόχρονα να χρησιμοποιήσουν ένα σύστημα FreeBSD για διαφορετικά πράγματα. Αυτό σημαίνει, για παράδειγμα, ότι τα περιφερειακά του συστήματος, όπως εκτυπωτές και οδηγοί ταινιών είναι σωστά μοιρασμένα μεταξύ όλων των χρηστών του συστήματος ή του δικτύου και πως μπορούν να τεθούν συγκεκριμένα όρια σε χρήστες ή ομάδες χρηστών, προστατεύοντας κρίσιμους πόρους του συστήματος από υπερβολική χρήση.

  • Ισχυρές δυνατότητες δικτύωσης TCP/IP (TCP/IP networking) με υποστήριξη για βιομηχανικά πρότυπα όπως τα SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec και IPv6. Αυτό σημαίνει πως ένα μηχάνημα FreeBSD μπορεί να αλληλεπιδρά εύκολα με άλλα συστήματα και να εργάζεται σαν εταιρικός εξυπηρετητής, υποστηρίζοντας λειτουργίες ζωτικής σημασίας, όπως NFS (απομακρυσμένη πρόσβαση σε αρχεία) και υπηρεσίες ηλεκτρονικού ταχυδρομείου (e-mail), ή την παρουσία του οργανισμού σας στο διαδίκτυο μέσω των υπηρεσιών WWW, FTP, routing και firewall (ασφάλειας).

  • Η προστασία της μνήμης (memory protection) εξασφαλίζει ότι οι διάφορες εφαρμογές (ή οι χρήστες) δεν αλληλεπιδρούν μεταξύ τους. Μια εφαρμογή που παρουσιάζει κάποιο πρόβλημα δε μπορεί να επηρεάσει άλλες με κανέναν τρόπο.

  • Το βιομηχανικό πρότυπο X Window System (X11R6) προσφέρει γραφικό περιβάλλον εργασίας (GUI) σε οποιοδήποτε μηχάνημα και διατίθεται με τον πλήρη πηγαίο κώδικα.

  • Συμβατότητα εκτελέσιμων με πολλά προγράμματα που έχουν μεταγλωττιστεί για Linux, SCO, SVR4, BSDI και NetBSD.

  • Χιλιάδες έτοιμες-προς-εκτέλεση εφαρμογές είναι διαθέσιμες από την συλλογή ports και packages για το FreeBSD. Γιατί να ψάχνετε στο διαδίκτυο όταν μπορείτε να τα βρείτε όλα εδώ;

  • Στο διαδίκτυο είναι επίσης διαθέσιμες χιλιάδες πρόσθετες και εύκολες στην προσαρμογή εφαρμογές. Το FreeBSD έχει συμβατότητα πηγαίου κώδικα με τα πιο δημοφιλή εμπορικά συστήματα UNIX®, επομένως οι περισσότερες εφαρμογές χρειάζονται λίγες έως καθόλου μετατροπές για να μεταγλωττιστούν (compile).

  • Η κατά απαίτηση σελιδοποίηση εικονικής μνήμης και το "ολοκληρωμένο VM/buffer cache" παρέχουν υψηλή απόδοση σε εφαρμογές με αυξημένες ανάγκες σε μνήμη, ενώ διατηρούν την ικανοποιητική απόκριση του συστήματος στους άλλους χρήστες.

  • Υποστήριξη SMP για μηχανήματα με πολλαπλές CPU.

  • Πλήρης σειρά εργαλείων ανάπτυξης για C, C++. Στη Συλλογή των Ports και των έτοιμων πακέτων, θα βρείτε πολλές ακόμα γλώσσες προγραμματισμού, κατάλληλες τόσο για έρευνα όσο και για ανάπτυξη λογισμικού.

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

  • Εκτεταμένη online τεκμηρίωση.

  • Και πολλά άλλα!

Το FreeBSD βασίζεται στην έκδοση 4.4BSD-Lite του Computer Systems Research Group (CSRG) του Πανεπιστημίου της Καλιφόρνιας στο Berkeley, και συνεχίζει την διακεκριμένη παράδοση του στην ανάπτυξη συστημάτων BSD. Επιπρόσθετα στο εξαίρετο έργο που παρείχε το CSRG, το FreeBSD Project ξόδεψε πολλές χιλιάδες ώρες στη βελτιστοποίηση του συστήματος για μέγιστες επιδόσεις και αξιοπιστία σε καθημερινές καταστάσεις πραγματικού φόρτου εργασίας. Το FreeBSD προσφέρει απόδοση και αξιοπιστία ισάξια με αντίστοιχων εμπορικών συστημάτων και τα συνδυάζει με τελευταίες τεχνολογιές και χαρακτηριστικά που δεν υπάρχουν πουθενά αλλού.

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

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

  • Υπηρεσίες Ίντερνετ: Το ισχυρό σύστημα δικτύωσης TCP/IP του FreeBSD, το αναδεικνύει σε ιδανική πλατφόρμα για μια μεγάλη γκάμα υπηρεσιών Ίντερνετ όπως:

    • Εξυπηρετητές ιστοσελίδων World Wide Web (κοινούς ή με ασφαλή σύνδεση [SSL])

    • Δρομολόγηση πρωτοκόλλων IPv4 και IPv6

    • Firewalls και πύλες NAT ("IP masquerading")

    • Εξυπηρετητές FTP

    • Εξυπηρετητές ηλεκτρονικού ταχυδρομείου

    • Και άλλα…​

  • Εκπαίδευση: Είστε φοιτητής πληροφορικής ή κάποιου σχετικού τομέα; Δεν υπάρχει καλύτερος τρόπος να μάθετε για λειτουργικά συστήματα, αρχιτεκτονικές Η/Υ, και συστήματα δικτύων από την πρακτική εμπειρία και την σε βάθος γνώση που μπορεί να σας παρέχει το FreeBSD. Το μεγάλο πλήθος των δωρεάν διαθέσιμων πακέτων εφαρμογών CAD, γραφικής σχεδίασης, και μαθηματικών, κάνουν το FreeBSD εξαιρετικά χρήσιμο σε όσους το κύριο ενδιαφέρον τους στους υπολογιστές είναι να κάνουν τη δουλειά τους!

  • Έρευνα: Με διαθέσιμο τον πηγαίο κώδικα ολόκληρου του συστήματος, το FreeBSD είναι μία εξαίρετη πλατφόρμα για την έρευνα στα λειτουργικά συστήματα όπως επίσης για άλλους κλάδους της πληροφορικής. Η φύση της ελεύθερης διάθεσης του FreeBSD επιτρέπει επίσης σε απομακρυσμένες ομάδες να συνεργάζονται σε ιδέες ή να μοιράζονται την ανάπτυξη εφαρμογών, χωρίς να ανησυχούν για άδειες χρήσης και χωρίς να περιορίζεται η δυνατότητα τους για ελεύθερη συζήτηση οποιουδήποτε θέματος σε ανοιχτές ομάδες συζήτησης (forums).

  • Δικτύωση: Χρειάζεστε ένα καινούργιο router (δρομολογητή); Ένα εξυπηρετητή DNS; Ένα firewall για να κρατάτε τον κόσμο έξω από το εσωτερικό σας δίκτυο; Το FreeBSD μπορεί εύκολα να μετατρέψει εκείνο το παλιό PC που κάθεται αχρησιμοποίητο στην γωνία, σε ένα προηγμένο δρομολογητή με εξεζητημένες δυνατότητες φιλτραρίσματος πακέτων.

  • Embedded: Το FreeBSD αποτελεί μια εξαιρετική πλατφόρμα για τη δημιουργία embedded συστημάτων. Με υποστήριξη για τις πλατφόρμες ARM®, MIPS® και PowerPC® και σε συνδυασμό με αξιόπιστη δικτύωση, προηγμένα χαρακτηριστικά και την ελεύθερη άδεια BSD το FreeBSD είναι ένα εξαιρετικό σημείο εκκίνησης για embedded συστήματα router, firewall και άλλα.

  • Desktop: Το FreeBSD είναι μια εξαίρετη επιλογή για ένα οικονομικό desktop. Το FreeBSD σας επιτρέπει να επιλέξετε ανάμεσα σε πολλά ανοικτού κώδικα περιβάλλοντα εργασίας τα οποία περιλαμβάνουν το GNOME και το KDE. To FreeBSD μπορεί να ξεκινήσει ακόμα και "diskless" (χωρίς σκληρό δίσκο), κάνοντας έτσι τους προσωπικούς σταθμούς εργασίας ακόμη πιο φτηνούς και ευκολότερους στη διαχείριση.

  • Ανάπτυξη Λογισμικού: Το βασικό σύστημα του FreeBSD διατίθεται ολοκληρωμένο, με πλήρη σειρά εργαλείων ανάπτυξης, που περιλαμβάνουν ένα πλήρη C/C++ compiler και debugger.

Το FreeBSD είναι διαθέσιμο για δωρεάν κατέβασμα ή μπορείτε να το προμηθευτείτε σε CD-ROM ή DVD. Δείτε το Που θα Βρείτε το FreeBSD για περισσότερες πληροφορίες για το πως να αποκτήσετε το FreeBSD.

1.2.2. Ποιος χρησιμοποιεί FreeBSD;

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

  • Apache - Το Apache Software Foundation χρησιμοποιεί το FreeBSD στα περισσότερα δημόσια συστήματα του, που συμπεριλαμβάνουν ένα από τα μεγαλύτερα αποθετήρια SVN στον κόσμο με περισσότερα από 1.4 εκατομμύρια commits.

  • Apple - Το OS X δανείζεται πολλά στοιχεία από το FreeBSD για το υποσύστημα δικτύωσης και τα εργαλεία χρήστη (userland). To iOS περιέχει επίσης στοιχεία που προέρχονται από το FreeBSD.

  • Cisco - Οι συσκευές ασφαλείας IronPort και anti-spam χρησιμοποιούν ένα τροποποιημένο πυρήνα του FreeBSD.

  • Citrix - Η σειρά συσκευών ασφαλείας NetScaler παρέχει load balancing στα επίπεδα 4-7, caching περιεχομένου, firewall σε επίπεδο εφαρμογών, ασφαλές VPN και υπηρεσίες mobile cloud σε συνδυασμό με την ισχύ του τερματικού του FreeBSD.

  • Dell KACE - Οι συσκευές διαχείρισης συστημάτων KACE χρησιμοποιούν FreeBSD λόγω της σταθερότητας και επεκτασιμότητας του καθώς και της κοινότητας που στηρίζει την συνεχή ανάπτυξη του.

  • Experts Exchange - Όλοι οι δημόσιοι εξυπηρετητές ιστοσελίδων χρησιμοποιούν FreeBSD με εκτεταμένη χρήση jails για την απομόνωση των περιβάλλοντων ανάπτυξης και ελέγχου, χωρίς την πρόσθετη επιβάρυνση της εικονικοποίησης (virtualization).

  • Isilon - Τα επαγγλεματικά συστήματα αποθήκευσης της Isilon βασίζονται στο FreeBSD. Η εξαιρετικά ελεύθερη άδεια του FreeBSD επέτρεψε στην Isilon να ενσωματώσει το δικό της κώδικα (με τα δικά της πνευματικά δικαιώματα) στον πυρήνα και να επικεντρώσει την προσπάθεια της στη δημιουργία του προϊόντος της, αντί να ξαναγράψει ένα λειτουργικό σύστημα από την αρχή.

  • iXsystems - Η σειρά συσκευών αποθήκευσης TrueNAS βασίζεται στο FreeBSD. Εκτός από τα εμπορικά της προϊόντα, η iXsystems κατευθύνει επίσης την ανάπτυξη των projects ανοικτού λογισμικού PC-BSD και FreeNAS.

  • Juniper - Το λειτουργικό σύστημα JunOS το οποίο χρησιμοποιείται σε όλες τις συσκευές δικτύωσης της Juniper (που περιλαμβάνουν routers, switches και συσκευές ασφαλείας) βασίζεται στο FreeBSD. Η Juniper είναι μια εταιρία που επιδεικνύει τη συμβιωτική σχέση μεταξύ του Project και των εμπορικών προιόντων. Οι βελτιώσεις που παράγονται στη Juniper ενσωματώνονται στο FreeBSD μειώνοντας έτσι την πολυπλοκότητα της μελλοντικής ενσωμάτωσης νέων χαρακτηριστικών του FreeBSD πίσω στο JunOS.

  • McAfee - Το SecurOS, που αποτελεί τη βάση των προϊόντων firewall της εταιρίας και περιλαμβάνει το Sidewinder, βασίζεται στο FreeBSD.

  • NetApp - Οι συσκευές αποθήκευσης Data ONTAP GX βασίζονται στο FreeBSD. Επιπρόσθετα, η NetApp έχει συνεισφέρει αρκετά νέα χαρακτηριστικά, συμπεριλαμβανομένου του bhyve, του νέου hypervisor ύπο άδεια BSD.

  • Netflix - Η συσκευή OpenConnect που χρησιμοποιεί η Netflix για το streaming ταινιών στους πελάτες της, βασίζεται στο FreeBSD. Η Netflix έχει εκτεταμένη συνεισφορά στον κώδικα και εργάζεται ώστε να μην υπάρχουν διαφορές μεταξύ του κώδικα της και του FreeBSD. Οι συσκευές Netflix OpenConnect είναι υπεύθυνες για περισσότερο από το 32% της συνολικής κίνησης Internet στη Βόρειο Αμερική.

  • Sandvine - Η Sandvine χρησιμοποιεί το FreeBSD ως βάση για την υψηλής απόδοσης δικτυακή πλατφόρμα επεξεργασίας που χρησιμοποιεί στα προϊόντα της.

  • Sony - Η κονσόλα παιχνιδιών PlayStation 4 χρησιμοποιεί μια τροποποιημένη έκδοση του FreeBSD.

  • Sophos - Η συσκευή Sophos Email Appliance χρησιμοποιεί μια ενισχυμένης ασφάλειας έκδοση του FreeBSD και σαρώνει τα εισερχόμενα email για spam και ιούς καθώς και τα εξερχόμενα για ανεπιθύμητα προγράμματα (malware) και πιθανή απώλεια ευαίσθητων δεδομένων.

  • Spectra Logic - Η σειρά αποθηκευτικών μέσων nTier χρησιμοποιεί FreeBSD και OpenZFS.

  • The Weather Channel - Η συσκευή IntelliStar που εγκαθίσταται στους παρόχους καλωδιακής τηλεόρασης και παρέχει δελτία καιρού στους συνδρομητές, χρησιμοποιεί FreeBSD.

  • Verisign - Η Verisign είναι υπεύθυνη για τη λειτουργία των τομέων .com και .net και των αντίστοιχων εξυπηρετητών DNS. Χρησιμοποιεί διάφορα δικτυακά λειτουργικά συστήματα, συμπεριλαμβανομένου του FreeBSD, για να εξασφαλίσει ότι δεν μπορεί να υπάρξει κάποιο κοινό σημείο αποτυχίας στην δικτυακή υποδομή της.

  • Voxer - Η Voxer χρησιμοποιεί το FreeBSD με ZFS στην πλατφόρμα μηνυμάτων που εχει αναπτύξει για κινητά τηλέφωνα. Η Voxer αρχικά χρησιμοποιούσε ένα σύστημα που προέρχονταν από το Solaris, αλλά το άλλαξε σε FreeBSD λόγω της εξαιρετικής του τεκμηρίωσης, της μεγαλύτερης και πιο ενεργής κοινότητας και του φιλικότερου περιβάλλοντος ανάπτυξης. Εκτός από τα ιδιαίτερα κρίσιμα χαρακτηριστικά - όπως το ZFS και το DTrace - το FreeBSD επίσης διαθέτει και υποστήριξη TRIM για το ZFS.

  • WhatsApp - Όταν η WhatsApp χρειάστηκε μια πλατφόρμα ικανή να αντιμετωπίσει περισσότερες από 1 εκατομμύριο ταυτόχρονες συνδέσεις TCP ανά εξυπηρετητή, επέλεξαν το FreeBSD. Έπειτα πέτυχαν περισσότερες από 2.5 εκατομμύρια συνδέσεις ανά εξυπηρετητή.

  • Wheel Systems - Η συσκευή ασφαλείας FUDO επιτρέπει στις επιχειρήσεις να ελέγχουν, να κατευθύνουν και να καταγράφουν διαχειριστές και εργαζομένους άλλων εταιριών που εργάζονται στα συστήματα τους. Βασίζεται στα καλύτερα χαρακτηριστικά ασφαλείας του FreeBSD που περιλαμβάνουν τεχνολογίες όπως ZFS, GELI, Capsicum, HAST και auditdstd.

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

  • BSD Router - Ένας εναλλακτικός router για μεγάλες επιχειρήσεις που χρησιμοποιεί FreeBSD και είναι σχεδιασμένος να λειτουργεί σε απλά PC της αγοράς.

  • FreeNAS - Μια τροποποιημένη έκδοση του FreeBSD σχεδιασμένη για χρήση ως συσκευή δικτυακής αποθήκευσης. Παρέχει γραφική διεπαφή γραμμένη σε Python η οποία απλουστεύει τη διαχείριση των συστημάτων αρχείων UFS και ZFS. Περιλαμβάνει υποστήριξη για NFS, SMB/CIFS, AFP, FTP και iSCSI. Έχει δυνατότητα επέκτασης μέσω πρόσθετων (plugins) τα οποία βασίζονται σε FreeBSD jails.

  • GhostBSD - Μια διανομή του FreeBSD για χρήση desktop. Παρέχεται με το περιβάλλον εργασίας Gnome.

  • mfsBSD - Ένα σύνολο εργαλείων για τη δημιουργία ενός συστήματος FreeBSD το οποίο εκτελείται αποκλειστικά από τη μνήμη.

  • NAS4Free - Μια διανομή για εξυπηρετητές αρχείων που βασίζεται στο FreeBSD και παρέχεται με μια web διεπαφή ρυθμίσεων γραμμένη σε PHP.

  • PC-BSD - Μια τροποποιημένη διανομή του FreeBSD που προσανατολίζεται σε χρήση desktop και παρέχει γραφικά εργαλεία για να αναδείξει τη δύναμη του FreeBSD σε όλους τους χρήστες. Είναι σχεδιασμένη ώστε να διευκολύνει τη μετάβαση των χρηστών Windows και OS X στο FreeBSD.

  • pfSense - Μια διανομή για firewall που βασίζεται στο FreeBSD και περιέχει τεράστια συλλογή χαρακτηριστικών και εκτεταμένη υποστήριξη για IPv6.

  • m0n0wall - Μια λιτή έκδοση του FreeBSD με ένα εξυπηρετητή ιστοσελίδων και διεπαφή σε PHP. Έχει σχεδιαστεί ως συσκευή firewall και καταλαμβάνει χώρο μικρότερο από 12 MB.

  • ZRouter - Ένα εναλλακτικό firmware ανοικτού λογισμικού για δικτυακές συσκευές, βασισμένο στο FreeBSD. Έχει σχεδιαστεί ώστε να αντικαθιστά το ιδιοταγές firmware εμπορικών routers.

Το FreeBSD χρησιμοποιείται για να υποστηρίζει μερικές από τις μεγαλύτερες τοποθεσίες στο Ίντερνετ, περιλαμβανομένων των:

και πολλών ακόμη. Στη Wikipedia θα βρείτε μια λίστα προϊόντων που βασίζονται στο FreeBSD.

1.3. Πληροφορίες για το FreeBSD Project

Το ακόλουθο τμήμα παρέχει μερικές πληροφορίες σχετικές με το project, και περιλαμβάνει μια σύντομη ιστορία του FreeBSD, τους στόχους, και το μοντέλο ανάπτυξης του.

1.3.1. Μια σύντομη ιστορία του FreeBSD

To FreeBSD Project γεννήθηκε στις αρχές του 1993, μερικώς σαν εξέλιξη του "Unofficial 386BSD Patchkit" από τους 3 τελευταίους συντονιστές του patchkit: τον Nate Williams, τον Rod Grimes και τον Jordan Hubbard.

Ο πρωταρχικός στόχος ήταν να παραχθεί ένα ενδιάμεσο στιγμιότυπο (snapshot) του 386BSD ώστε να διορθωθούν μερικά προβλήματα που ο μηχανισμός του patchkit δεν ήταν ικανός να λύσει. Ο αρχικός τίτλος εργασίας για το project ήταν "386BSD 0.5" ή "386BSD Interim" και αναφέρονταν σε αυτό ακριβώς το γεγονός.

Το 386BSD ήταν το λειτουργικό σύστημα του Bill Jolitz, το οποίο μέχρι εκείνο το σημείο, υπέφερε βαριά έχοντας αμεληθεί για σχεδόν ένα έτος. Καθώς το patchkit φούσκωνε ολοένα και περισσότερο με το πέρασμα των ημερών, το ενδιάμεσο "cleanup" snapshot αποτέλεσε μια συμπαράσταση για τον Bill. Τα σχέδια αυτά διακόπηκαν απότομα, όταν ξαφνικά ο Bill Jolitz αποφάσισε να αποσύρει την έγκριση του στο project δίχως μια ξεκάθαρη ένδειξη του τι θα έπρεπε να γίνει.

Οι τρεις συντονιστές γρήγορα αποφάσισαν πως ο στόχος παρέμενε αξιόλογος, ακόμη και χωρίς την βοήθεια του Bill, και έτσι υιοθέτησαν το όνομα "FreeBSD", που επινόησε ο David Greenman. Οι αρχικοί στόχοι τέθηκαν κατόπιν συμβουλών από τους τότε χρήστες του συστήματος, και όταν έγινε πλέον ξεκάθαρο πως το project είχε πάρει σωστή πορεία και ίσως έτεινε να γίνει πραγματικότητα, ο Jordan ήρθε σε επαφή με την Walnut Creek CDROM προσβλέποντας στην βελτίωση των καναλιών διανομής του FreeBSD για όλους αυτούς τους άτυχους που δεν είχαν εύκολη πρόσβαση στο Ίντερνετ. Η Walnut Creek CDROM, όχι μόνο υποστήριξε την ιδέα διανομής του FreeBSD σε CD, αλλά προχώρησε αρκετά περισσότερο, παρέχοντας στο project ένα μηχάνημα εργασίας και μια γρήγορη σύνδεση στο Ίντερνετ. Δίχως τον βαθμό πίστης της Walnut Creek CDROM σε αυτό που εκείνο τον καιρό ήταν ένα εντελώς άγνωστο project, είναι πολύ απίθανο το FreeBSD να είχε φτάσει τόσο μακριά, και τόσο γρήγορα, όπως σήμερα.

Η πρώτη διανομή CD-ROM (και με γενικά ευρεία διάδοση στο δίκτυο) ήταν η FreeBSD 1.0, που κυκλοφόρησε τον Δεκέμβρη του 1993. Βασίζονταν σε μια ταινία του 4.3BSD-Lite ("Net/2") του U.C. Berkeley, έχοντας πάρει και πολλά στοιχεία από το 386BSD και το Free Software Foundation. Ήταν αρκετά επιτυχημένη για πρώτη προσπάθεια, και την συνεχίσαμε με την αρκετά επιτυχημένη έκδοση FreeBSD 1.1 που κυκλοφόρησε τον Μάϊο του 1994.

Περίπου εκείνη την περίοδο, σχηματίστηκαν απρόσμενα στον ορίζοντα σύννεφα καταιγίδας, καθώς η Novell και το U.C. Berkeley τακτοποίησαν την μακράς διαρκείας δικαστική διαμάχη σχετικά με τα δικαιώματα της ταινίας Net/2. Μία συνθήκη αυτής της συμφωνίας ήταν η παραδοχή από την μεριά του U.C. Berkeley ότι μεγάλο μέρος του Net/2 ήταν "επιβαρυμένος" κώδικας και ιδιοκτησία της Novell, η οποία με την σειρά της το είχε αποκτήσει από την AT&T λίγο καιρό πριν. Αυτό που πήρε ως αντάλλαγμα το Berkeley ήταν οι "ευλογίες" της Novell ότι η έκδοση 4.4BSD-Lite, όταν τελικά ολοκληρωνόταν, θα δηλωνόταν ως μη-επιβαρυμένη, και όλοι οι μέχρι τότε χρήστες του Net/2 θα ενθαρρύνονταν ένθερμα να μεταβούν σε αυτή. Αυτό συμπεριλάμβανε και το FreeBSD, και στο project δόθηκε χρόνος μέχρι τον Ιούλιο του 1994 να σταματήσει τις παραδόσεις των προϊόντων που βασίζονταν στο Net/2. Υπό τους όρους αυτής της συμφωνίας, επιτράπηκε στο project μια τελευταία έκδοση πριν την λήξη της προθεσμίας, και αυτή ήταν η έκδοση FreeBSD 1.1.5.1.

Το FreeBSD βρέθηκε τότε στη δυσχερή θέση κυριολεκτικά να ξανα-ανακαλύψει τον εαυτό του από ένα σύνολο από bit του 4.4BSD-Lite, εντελώς καινούργιο, και κυρίως ατελές. Οι εκδόσεις "Lite" ήταν light (ελαφριές) εν' μέρει επειδή το CSRG του Berkeley είχε αφαιρέσει μεγάλο όγκο κώδικα ο οποίος ήταν απαραίτητος για να κατασκευαστεί ένα πραγματικά εκκινήσιμο λειτουργικό σύστημα (λόγω διαφόρων νομικών ζητημάτων), και εν' μέρει επειδή το port για Intel του 4.4 ήταν σε υψηλό βαθμό ατελές. Η μετάβαση ολοκληρώθηκε τον Νοέμβριο του 1994, και σε αυτό το σημείο κυκλοφόρησε η FreeBSD 2.0. Παρά το γεγονός ότι ήταν ακόμη αρκετά πρόχειρη μέσες-άκρες, η έκδοση ήταν μια σημαντική επιτυχία και την ακολούθησε η πιο αξιόπιστη και ευκολότερη ως προς την εγκατάσταση έκδοση FreeBSD 2.0.5 τον Ιούνιο του 1995.

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

Για την ώρα, η μακρόχρονη ανάπτυξη συνεχίζεται στον κλάδο 10.X-CURRENT (trunk) και τα στιγμιότυπα (snapshots) του 10.X είναι πάντοτε διαθέσιμα μέσω του εξυπηρετητή snapshot.

1.3.2. Στόχοι του FreeBSD Project

Οι στόχοι του FreeBSD Project είναι να παρέχει λογισμικό που θα μπορεί να χρησιμοποιηθεί για οποιαδήποτε περίσταση και δίχως δεσμεύσεις. Πολλοί από μας έχουν κάνει σημαντική επένδυση στον κώδικα (και το project) και σίγουρα δε θα μας πείραζε πότε-πότε μια μικρή οικονομική συνεισφορά, αλλά σίγουρα δεν είμαστε έτοιμοι να επιμείνουμε σε αυτό. Πιστεύουμε ότι η πρωταρχική και σπουδαιότερη "αποστολή" μας είναι να παρέχουμε κώδικα σε υπάρχοντες και μελλοντικούς χρήστες, και για οποιοδήποτε σκοπό, ώστε ο κώδικας μας να έχει την ευρύτερη πιθανή χρήση και να αποφέρει το μεγαλύτερο δυνατό όφελος. Αυτό είναι, πιστεύω, ένας από τους σημαντικότερους στόχους του Ελεύθερου Λογισμικού και ένας από τους οποίους υποστηρίζουμε με ενθουσιασμό.

Το τμήμα του πηγαίου μας κώδικα που βρίσκεται υπό την GNU General Public License (GPL) ή την Library General Public License (LGPL) έχει κάπως περισσότερες δεσμεύσεις, αν και σκοπός τους είναι μάλλον να διασφαλίσουν την ελεύθερη διάθεση του κώδικα, παρά το αντίθετο. Λόγω των επιπρόσθετων επιπλοκών που θέτει η άδεια χρήσης GPL στην εμπορική χρήση του λογισμικού, προτιμούμε, όσο είναι εφικτό, να παρέχουμε το λογισμικό μας υπό το χαλαρότερο BSD copyright.

1.3.3. Το Μοντέλο Ανάπτυξης του FreeBSD

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

Χρήσιμα πράγματα που πρέπει να γνωρίζετε για το FreeBSD Project και την διαδικασία ανάπτυξης του, είτε δουλεύετε ανεξάρτητα είτε ως στενοί συνεργάτες:

Τα SVN repositories

Για πολλά χρόνια, ο κεντρικός κορμός κώδικα του FreeBSD συντηρούνταν μέσω του CVS (Concurrent Versions System), ενός ελεύθερα διαθέσιμου εργαλείου ελέγχου πηγαίου κώδικα. Τον Ιούνιο του 2008, το Project αποφάσισε τη μετάβαση στο SVN (Subversion). Η αλλαγή κρίθηκε αναγκαία, καθώς οι τεχνικοί περιορισμοί του CVS ήταν πλέον εμφανείς, εξαιτίας του μεγέθους του αποθηκευμένου κώδικα και του ιστορικού που τον συνοδεύει. Η Τεκμηρίωση και η Συλλογή των Ports μεταφέρθηκαν επίσης από το CVS στο SVN το Μάιο και Ιούλιο του 2012 αντίστοιχα. Ακολουθήστε το σύνδεσμο Συγχρονίζοντας τον Πηγαίο σας Κώδικα για περισσότερες πληροφορίες σχετικά με την ανάκτηση του FreeBSD src/ repository και τον σύνδεσμο Χρησιμοποιώντας τη Συλλογή των Ports για λεπτομέρειες σχετικές με την ανάκτηση της Συλλογής των Ports.

Η λίστα των committers

Οι committers είναι άτομα που έχουν άδεια εγγραφής (write) στο δέντρο Subversion και είναι εξουσιοδοτημένοι να κάνουν μετατροπές στον κώδικα του FreeBSD (ο όρος "committer" προέρχεται από την εντολή commit, η οποία χρησιμοποιείται για να γίνουν νέες αλλαγές στο repository). Οποιοσδήποτε μπορεί να υποβάλλει ένα σφάλμα (bug) στη Βάση Δεδομένων Προβλημάτων. Πριν την υποβολή, καλό είναι να γίνει σχετική αναζήτηση στις λίστες ταχυδρομείου, τα φορουμς και τα κανάλια IRC του FreeBSD για να επιβεβαιωθεί ότι όντως πρόκειται για πρόβλημα του λειτουργικού.

The FreeBSD core team

Η FreeBSD core team θα ήταν ισοδύναμη με το διοικητικό συμβούλιο αν το FreeBSD Project ήταν μια ανώνυμη εταιρεία. Ο πρωταρχικός στόχος της core team είναι να εξασφαλίσει ότι το project, στο σύνολο του, είναι σε καλή κατάσταση και να το οδηγεί προς την σωστή κατεύθυνση. Μια από τις λειτουργίες της core team είναι να προσκαλεί αφοσιωμένους και υπεύθυνους developers να συμμετέχουν στην ομάδα ανάπτυξης (τους committers) καθώς και να βρίσκει νέα μέλη για την ίδια την core team καθώς κάποιοι αποχωρούν. Η παρούσα core team εκλέχτηκε από ένα σύνολο υποψηφίων committers τον Ιούλιο του 2014. Εκλογές διεξάγονται κάθε 2 χρόνια.

Όπως και τα περισσότερη μέλη της ομάδας ανάπτυξης, τα περισσότερα μέλη του core team είναι εθελοντές όσον αφορά την ανάπτυξη του FreeBSD και δεν έχουν οικονομικής φύσεως οφέλη από το project, επομένως η "δέσμευση" δεν θα πρέπει να παρερμηνεύεται ως "εγγυημένη υποστήριξη". Η παραπάνω παρομοίωση με το "διοικητικό συμβούλιο" δεν είναι πολύ ακριβής, ίσως είναι καταλληλότερο να πούμε ότι πρόκειται για ανθρώπους που θυσίασαν τις ζωές τους για χάρη του FreeBSD ενάντια στην καλύτερη τους κρίση!

Εξωτερικοί συνεργάτες

Τέλος, αλλά οπωσδήποτε όχι μικρότερης σημασίας, η μεγαλύτερη ομάδα ανάπτυξης είναι οι ίδιοι οι χρήστες που μας παρέχουν σχόλια και διορθώσεις των bug σε σχεδόν σταθερή βάση. Ο κύριος τρόπος για να κρατάτε επαφή με την μη-συγκεντρωτική ομάδα ανάπτυξης του FreeBSD είναι να γίνετε συνδρομητές στην ηλεκτρονική λίστα τεχνικών συζητήσεων του FreeBSD όπου γίνονται οι ανάλογες συζητήσεις. Δείτε το Πηγές Πληροφόρησης στο Διαδίκτυο για περισσότερες πληροφορίες σχετικά με τις διάφορες λίστες ηλεκτρονικού ταχυδρομείου του FreeBSD.

Η Λίστα Συνεργατών του FreeBSD είναι μεγάλη και συνεχώς αυξανόμενη, επομένως γιατί να μην γίνετε και εσείς μέλος της και να συμβάλλετε σήμερα σε κάτι στο FreeBSD;

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

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

Το μόνο που ζητάμε από όσους ενδιαφέρονται να ενωθούν μαζί μας στην ομάδα ανάπτυξης του FreeBSD, είναι λίγη από την ίδια αφοσίωση της τωρινής ομάδας, για μια συνεχή πορεία στην επιτυχία του!

1.3.4. Προγράμματα Τρίτων Κατασκευαστών

Εκτός από τη βασική του διανομή, το FreeBSD προσφέρει μια συλλογή λογισμικού με χιλιάδες προγράμματα για καθημερινή χρήση. Την στιγμή που γράφονται αυτές οι γραμμές, υπάρχουν πάνω από 36000 ports! Η λίστα των ports ξεκινάει από εξυπηρετητές http (WWW), μέχρι παιχνίδια, γλώσσες προγραμματισμού, κειμενογράφους, και οτιδήποτε άλλο ενδιάμεσα. Η συνολική Συλλογή των Ports απαιτεί προσεγγιστικά 3 GB. Για να μεταγλωττιστεί (compile) ένα port, χρειάζεται απλώς να μεταβείτε στον κατάλογο του προγράμματος που επιθυμείτε να εγκαταστήσετε, να πληκτρολογήσετε make install, και να αφήσετε το σύστημα σας να κάνει τα υπόλοιπα. Ολόκληρη η αυθεντική διανομή για κάθε port που κάνετε build παρέχεται δυναμικά έτσι τα ports που δεν χρειάζεστε δεν καταλαμβάνουν άσκοπο χώρο στο σκληρό σας δίσκο. Σχεδόν κάθε port παρέχεται επίσης και σαν προ-μεταγλωττισμένο (pre-compiled) "πακέτο (package)", το οποίο μπορεί να εγκατασταθεί με μια απλή εντολή (pkg install) για εκείνους που δεν επιθυμούν να μεταγλωττίζουν τα ports τους από τον πηγαίο κώδικα. Περισσότερες πληροφορίες για τα packages και τα ports μπορείτε να βρείτε στο Εγκατάσταση Εφαρμογών: Πακέτα και Ports.

1.3.5. Πρόσθετη Τεκμηρίωση

Όλες οι τρέχουσες εκδόσεις του FreeBSD παρέχουν επιλογή στο πρόγραμμα εγκατάστασης (είτε το sysinstall(8) ή το bsdinstall(8)) για την εγκατάσταση πρόσθετης τεκμηρίωσης στην τοποθεσία /usr/local/shared/doc/freebsd κατά την αρχική εγκατάσταση του συστήματος. Μπορείτε επίσης να εγκαταστήσετε την τεκμηρίωση οποιαδήποτε στιγμή αργότερα, χρησιμοποιώντας τα πακέτα όπως περιγράφεται στο “Χρήση Έτοιμων Πακέτων Τεκμηρίωσης”. Μπορείτε να δείτε την τοπικά εγκατεστημένη τεκμηρίωση χρησιμοποιώντας οποιοδήποτε πρόγραμμα φυλλομετρητή, στις παρακάτω τοποθεσίες:

Το Εγχειρίδιο Χρήσης του FreeBSD

/usr/local/shared/doc/freebsd/handbook/index.html

Συχνές ερωτήσεις του FreeBSD (FAQ)

/usr/local/shared/doc/freebsd/faq/index.html

Μπορείτε επίσης να δείτε τα πρωτότυπα (και συχνά αναβαθμιζόμενα) αντίγραφα στο http://www.FreeBSD.org/.


Last modified on: 11 Δεκεμβρίου 2021 by Sergio Carlavilla Delgado