Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| paulwebster:handbook:introduction [2018/04/21 23:06] – Saving midpoint! PaulWebster | paulwebster:handbook:introduction [2022/01/23 01:51] (current) – Move to personal namespace KubilayKocak | ||
|---|---|---|---|
| Line 15: | Line 15: | ||
| * And of course: where the name “%%FreeBSD%%” comes from. | * And of course: where the name “%%FreeBSD%%” comes from. | ||
| - | ===== Welcome to FreeBSD! (1.2) ===== | + | ===== Welcome to FreeBSD (1.2) ===== |
| %%FreeBSD%% is a 4.4BSD-Lite based operating system for Intel (x86 and Itanium®), AMD64, ARM®, and Sun %%UltraSPARC%%® computers. Ports to other architectures are also under way. You can also read about the history of %%FreeBSD%%, | %%FreeBSD%% is a 4.4BSD-Lite based operating system for Intel (x86 and Itanium®), AMD64, ARM®, and Sun %%UltraSPARC%%® computers. Ports to other architectures are also under way. You can also read about the history of %%FreeBSD%%, | ||
| Line 61: | Line 61: | ||
| ===== Who Uses FreeBSD? (1.2.2) ===== | ===== Who Uses FreeBSD? (1.2.2) ===== | ||
| + | |||
| %%FreeBSD%%' | %%FreeBSD%%' | ||
| - | Apache - The Apache Software Foundation runs most of its public facing infrastructure, | + | |
| - | Apple - OS X borrows heavily from %%FreeBSD%% for the network stack, virtual file system, and many userland components. Apple iOS also contains elements borrowed from %%FreeBSD%%. | + | * Apache - The Apache Software Foundation runs most of its public facing infrastructure, |
| - | Cisco - [[/ | + | |
| - | Citrix - The [[/ | + | |
| - | Dell KACE - The KACE system management appliances run %%FreeBSD%% because of its reliability, | + | |
| - | Experts Exchange - All public facing web servers are powered by %%FreeBSD%% and they make extensive use of jails to isolate development and testing environments without the overhead of virtualization. | + | |
| - | Isilon - Isilon' | + | |
| - | iXsystems - The %%TrueNAS%% line of unified storage appliances is based on %%FreeBSD%%. In addition to their commercial products, iXsystems also manages development of the open source projects %%TrueOS%% and %%FreeNAS%%. | + | |
| - | Juniper - The %%JunOS%% operating system that powers all Juniper networking gear (including routers, switches, security, and networking appliances) is based on %%FreeBSD%%. Juniper is one of many vendors that showcases the symbiotic relationship between the project and vendors of commercial products. Improvements generated at Juniper are upstreamed into %%FreeBSD%% to reduce the complexity of integrating new features from %%FreeBSD%% back into %%JunOS%% in the future. | + | |
| - | [[/ | + | |
| - | [[/ | + | |
| - | Netflix - The [[/ | + | |
| - | Sandvine - Sandvine uses %%FreeBSD%% as the basis of their high performance real-time network processing platforms that make up their intelligent network policy control products. | + | |
| - | Sony - The [[/ | + | |
| - | Sophos - The Sophos Email Appliance product is based on a hardened %%FreeBSD%% and scans inbound mail for spam and viruses, while also monitoring outbound mail for malware as well as the accidental loss of sensitive information. | + | |
| - | Spectra Logic - The nTier line of archive grade storage appliances run %%FreeBSD%% and %%OpenZFS%%. | + | |
| - | Stormshield - Stormshield Network Security appliances are based on a hardened version of %%FreeBSD%%. The BSD license allows them to integrate their own intellectual property with the system while returning a great deal of interesting development to the community. | + | |
| - | The Weather Channel - The [[/ | + | |
| - | Verisign - Verisign is responsible for operating the .com and .net root domain registries as well as the accompanying DNS infrastructure. They rely on a number of different network operating systems including %%FreeBSD%% to ensure there is no common point of failure in their infrastructure. | + | |
| - | Voxer - Voxer powers their mobile voice messaging platform with ZFS on %%FreeBSD%%. Voxer switched from a Solaris derivative to %%FreeBSD%% because of its superior documentation, | + | |
| - | [[/WhatsApp|WhatsApp]] | + | |
| + | * %%WhatsApp%% - When %%WhatsApp%% needed a platform that would be able to handle more than 1 million concurrent TCP connections per server, they chose %%FreeBSD%%. They then proceeded to scale past 2.5 million connections per server. | ||
| Wheel Systems - The FUDO security appliance allows enterprises to monitor, control, record, and audit contractors and administrators who work on their systems. Based on all of the best security features of %%FreeBSD%% including ZFS, GELI, Capsicum, HAST, and auditdistd. | Wheel Systems - The FUDO security appliance allows enterprises to monitor, control, record, and audit contractors and administrators who work on their systems. Based on all of the best security features of %%FreeBSD%% including ZFS, GELI, Capsicum, HAST, and auditdistd. | ||
| + | |||
| %%FreeBSD%% has also spawned a number of related open source projects: | %%FreeBSD%% has also spawned a number of related open source projects: | ||
| - | BSD Router - A %%FreeBSD%% based replacement for large enterprise routers designed to run on standard PC hardware. | + | |
| - | %%FreeNAS%% - A customized %%FreeBSD%% designed to be used as a network file server appliance. Provides a python based web interface to simplify the management of both the UFS and ZFS file systems. Includes support for NFS, SMB/CIFS, AFP, FTP, and iSCSI. Includes an extensible plugin system based on %%FreeBSD%% jails. | + | * BSD Router - A %%FreeBSD%% based replacement for large enterprise routers designed to run on standard PC hardware. |
| - | %%GhostBSD%% - A desktop oriented distribution of %%FreeBSD%% bundled with the Gnome desktop environment. | + | |
| - | mfsBSD - A toolkit for building a %%FreeBSD%% system image that runs entirely from memory. | + | |
| - | NAS4Free - A file server distribution based on %%FreeBSD%% with a PHP powered web interface. | + | |
| - | OPNSense - OPNsense is an open source, easy-to-use and easy-to-build %%FreeBSD%% based firewall and routing platform. OPNsense includes most of the features available in expensive commercial firewalls, and more in many cases. It brings the rich feature set of commercial offerings with the benefits of open and verifiable sources. | + | |
| - | %%TrueOS%% - A customized version of %%FreeBSD%% geared towards desktop users with graphical utilities to exposing the power of %%FreeBSD%% to all users. Designed to ease the transition of Windows and OS X users. | + | |
| - | pfSense - A firewall distribution based on %%FreeBSD%% with a huge array of features and extensive IPv6 support. | + | |
| - | ZRouter - An open source alternative firmware for embedded devices based on %%FreeBSD%%. Designed to replace the proprietary firmware on off-the-shelf routers. | + | |
| + | | ||
| %%FreeBSD%% is also used to power some of the biggest sites on the Internet, including: | %%FreeBSD%% is also used to power some of the biggest sites on the Internet, including: | ||
| - | Yahoo! | ||
| - | Yandex | ||
| - | Rambler | ||
| - | Sina | ||
| - | Pair Networks | ||
| - | Sony Japan | ||
| - | Netcraft | ||
| - | Netflix | ||
| - | [[/ | ||
| - | Weathernews | ||
| - | TELEHOUSE America | ||
| - | and many more. Wikipedia also maintains a list of products based on %%FreeBSD%%. | ||
| - | 1.3. About the %%FreeBSD%% Project | + | * Yahoo! |
| + | * Yandex | ||
| + | * Rambler | ||
| + | * Sina | ||
| + | * Pair Networks | ||
| + | * Sony Japan | ||
| + | * Netcraft | ||
| + | * Netflix | ||
| + | * [[/ | ||
| + | * Weathernews | ||
| + | * TELEHOUSE America | ||
| + | * and many more. Wikipedia also maintains a list of products based on %%FreeBSD%%. | ||
| + | |||
| + | ===== About the FreeBSD | ||
| The following section provides some background information on the project, including a brief history, project goals, and the development model of the project. | The following section provides some background information on the project, including a brief history, project goals, and the development model of the project. | ||
| - | 1.3.1. A Brief History of %%FreeBSD%% | + | |
| + | ==== A Brief History of FreeBSD (1.3.1) ==== | ||
| The %%FreeBSD%% Project had its genesis in the early part of 1993, partially as an outgrowth of the Unofficial 386BSDPatchkit by the patchkit' | The %%FreeBSD%% Project had its genesis in the early part of 1993, partially as an outgrowth of the Unofficial 386BSDPatchkit by the patchkit' | ||
| + | |||
| The original goal was to produce an intermediate snapshot of 386BSD in order to fix a number of problems with it that the patchkit mechanism just was not capable of solving. The early working title for the project was 386BSD 0.5 or 386BSD Interim in reference of that fact. | The original goal was to produce an intermediate snapshot of 386BSD in order to fix a number of problems with it that the patchkit mechanism just was not capable of solving. The early working title for the project was 386BSD 0.5 or 386BSD Interim in reference of that fact. | ||
| + | |||
| 386BSD was Bill Jolitz' | 386BSD was Bill Jolitz' | ||
| + | |||
| The trio thought that the goal remained worthwhile, even without Bill's support, and so they adopted the name " | The trio thought that the goal remained worthwhile, even without Bill's support, and so they adopted the name " | ||
| + | |||
| The first CD-ROM (and general net-wide) distribution was %%FreeBSD%% 1.0, released in December of 1993. This was based on the 4.3BSD-Lite (“Net/ | The first CD-ROM (and general net-wide) distribution was %%FreeBSD%% 1.0, released in December of 1993. This was based on the 4.3BSD-Lite (“Net/ | ||
| + | |||
| Around this time, some rather unexpected storm clouds formed on the horizon as Novell and U.C. Berkeley settled their long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C. Berkeley' | Around this time, some rather unexpected storm clouds formed on the horizon as Novell and U.C. Berkeley settled their long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C. Berkeley' | ||
| + | |||
| %%FreeBSD%% then set about the arduous task of literally re-inventing itself from a completely new and rather incomplete set of 4.4BSD-Lite bits. The “Lite” releases were light in part because Berkeley' | %%FreeBSD%% then set about the arduous task of literally re-inventing itself from a completely new and rather incomplete set of 4.4BSD-Lite bits. The “Lite” releases were light in part because Berkeley' | ||
| + | |||
| Since that time, %%FreeBSD%% has made a series of releases each time improving the stability, speed, and feature set of the previous version. | Since that time, %%FreeBSD%% has made a series of releases each time improving the stability, speed, and feature set of the previous version. | ||
| For now, long-term development projects continue to take place in the 10.X-CURRENT (trunk) branch, and snapshot releases of 10.X are continually made available from the snapshot server as work progresses. | For now, long-term development projects continue to take place in the 10.X-CURRENT (trunk) branch, and snapshot releases of 10.X are continually made available from the snapshot server as work progresses. | ||
| - | 1.3.2. %%FreeBSD%% Project Goals | + | |
| + | ==== FreeBSD Project Goals (1.3.2) ==== | ||
| Contributed by Jordan Hubbard. | Contributed by Jordan Hubbard. | ||
| + | |||
| The goals of the %%FreeBSD%% Project are to provide software that may be used for any purpose and without strings attached. Many of us have a significant investment in the code (and project) and would certainly not mind a little financial compensation now and then, but we are definitely not prepared to insist on it. We believe that our first and foremost “mission” is to provide code to any and all comers, and for whatever purpose, so that the code gets the widest possible use and provides the widest possible benefit. This is, I believe, one of the most fundamental goals of Free Software and one that we enthusiastically support. | The goals of the %%FreeBSD%% Project are to provide software that may be used for any purpose and without strings attached. Many of us have a significant investment in the code (and project) and would certainly not mind a little financial compensation now and then, but we are definitely not prepared to insist on it. We believe that our first and foremost “mission” is to provide code to any and all comers, and for whatever purpose, so that the code gets the widest possible use and provides the widest possible benefit. This is, I believe, one of the most fundamental goals of Free Software and one that we enthusiastically support. | ||
| + | |||
| That code in our source tree which falls under the GNU General Public License (GPL) or Library General Public License (LGPL) comes with slightly more strings attached, though at least on the side of enforced access rather than the usual opposite. Due to the additional complexities that can evolve in the commercial use of GPL software we do, however, prefer software submitted under the more relaxed BSD copyright when it is a reasonable option to do so. | That code in our source tree which falls under the GNU General Public License (GPL) or Library General Public License (LGPL) comes with slightly more strings attached, though at least on the side of enforced access rather than the usual opposite. Due to the additional complexities that can evolve in the commercial use of GPL software we do, however, prefer software submitted under the more relaxed BSD copyright when it is a reasonable option to do so. | ||
| - | 1.3.3. The %%FreeBSD%% Development Model | + | |
| + | ==== The FreeBSD Development Model (1.3.3) ==== | ||
| Contributed by Satoshi Asami. | Contributed by Satoshi Asami. | ||
| + | |||
| The development of %%FreeBSD%% is a very open and flexible process, being literally built from the contributions of thousands of people around the world, as can be seen from our list of contributors. %%FreeBSD%%' | The development of %%FreeBSD%% is a very open and flexible process, being literally built from the contributions of thousands of people around the world, as can be seen from our list of contributors. %%FreeBSD%%' | ||
| + | |||
| Useful things to know about the %%FreeBSD%% Project and its development process, whether working independently or in close cooperation: | Useful things to know about the %%FreeBSD%% Project and its development process, whether working independently or in close cooperation: | ||
| - | The SVN repositories | + | |
| - | For several years, the central source tree for %%FreeBSD%% was maintained by CVS (Concurrent Versions System), a freely available source code control tool. In June 2008, the Project switched to using SVN (Subversion). The switch was deemed necessary, as the technical limitations imposed by CVS were becoming obvious due to the rapid expansion of the source tree and the amount of history already stored. The Documentation Project and Ports Collection repositories also moved from CVS to SVN in May 2012 and July 2012, respectively. Please refer to the Synchronizing your source tree section for more information on obtaining the %%FreeBSD%% src/ repository and Using the Ports Collection for details on obtaining the %%FreeBSD%% Ports Collection. | + | **The SVN repositories** |
| - | The committers list | + | |
| - | The committers are the people who have write access to the Subversion tree, and are authorized to make modifications to the %%FreeBSD%% source (the term “committer” comes from commit, the source control command which is used to bring new changes into the repository). Anyone can submit a bug to the Bug Database. Before submitting a bug report, the %%FreeBSD%% mailing lists, IRC channels, or forums can be used to help verify that an issue is actually a bug. | + | For several years, the central source tree for %%FreeBSD%% was maintained by CVS (Concurrent Versions System), a freely available source code control tool. In June 2008, the Project switched to using SVN (Subversion). The switch was deemed |
| - | The %%FreeBSD%% core team | + | necessary, as the technical limitations imposed by CVS were becoming obvious due to the rapid expansion of the source tree and the amount of history already stored. The Documentation Project and Ports Collection repositories also moved |
| - | The %%FreeBSD%% core team would be equivalent to the board of directors if the %%FreeBSD%% Project were a company. The primary task of the core team is to make sure the project, as a whole, is in good shape and is heading in the right directions. Inviting dedicated and responsible developers to join our group of committers is one of the functions of the core team, as is the recruitment of new core team members as others move on. The current core team was elected from a pool of committer candidates in July 2014. Elections are held every 2 years. | + | from CVS to SVN in May 2012 and July 2012, respectively. Please refer to the Synchronizing your source tree section for more information on obtaining the %%FreeBSD%% src/ repository and Using the Ports Collection for details on obtaining |
| + | the %%FreeBSD%% Ports Collection. | ||
| + | |||
| + | **The committers list** | ||
| + | |||
| + | The committers are the people who have write access to the Subversion tree, and are authorized to make modifications to the %%FreeBSD%% source (the term “committer” comes from commit, the source control command which is used to bring new | ||
| + | changes into the repository). Anyone can submit a bug to the Bug Database. Before submitting a bug report, the %%FreeBSD%% mailing lists, IRC channels, or forums can be used to help verify that an issue is actually a bug. | ||
| + | |||
| + | **The %%FreeBSD%% core team** | ||
| + | |||
| + | The %%FreeBSD%% core team would be equivalent to the board of directors if the %%FreeBSD%% Project were a company. The primary task of the core team is to make sure the project, as a whole, is in good shape and is heading in the right | ||
| + | directions. Inviting dedicated and responsible developers to join our group of committers is one of the functions of the core team, as is the recruitment of new core team members as others move on. The current core team was elected | ||
| + | from a pool of committer candidates in July 2014. Elections are held every 2 years. | ||
| Note: | Note: | ||
| - | Like most developers, most members of the core team are also volunteers when it comes to %%FreeBSD%% development and do not benefit from the project financially, | + | Like most developers, most members of the core team are also volunteers when it comes to %%FreeBSD%% development and do not benefit from the project financially, |
| - | Outside contributors | + | support.” The “board of directors” analogy above is not very accurate, and it may be more suitable to say that these are the people who gave up their lives in favor of %%FreeBSD%% against their better judgement! |
| - | Last, but definitely not least, the largest group of developers are the users themselves who provide feedback and bug fixes to us on an almost constant basis. The primary way of keeping in touch with %%FreeBSD%%' | + | |
| - | The %%FreeBSD%% Contributors List is a long and growing one, so why not join it by contributing something back to %%FreeBSD%% today? | + | **Outside contributors** |
| + | |||
| + | Last, but definitely not least, the largest group of developers are the users themselves who provide feedback and bug fixes to us on an almost constant basis. The primary way of keeping in touch with %%FreeBSD%%' | ||
| + | |||
| + | [[https:// | ||
| Providing code is not the only way of contributing to the project; for a more complete list of things that need doing, please refer to the %%FreeBSD%% Project web site. | Providing code is not the only way of contributing to the project; for a more complete list of things that need doing, please refer to the %%FreeBSD%% Project web site. | ||
| + | |||
| In summary, our development model is organized as a loose set of concentric circles. The centralized model is designed for the convenience of the users of %%FreeBSD%%, | In summary, our development model is organized as a loose set of concentric circles. The centralized model is designed for the convenience of the users of %%FreeBSD%%, | ||
| + | |||
| All we ask of those who would join us as %%FreeBSD%% developers is some of the same dedication its current people have to its continued success! | All we ask of those who would join us as %%FreeBSD%% developers is some of the same dedication its current people have to its continued success! | ||
| - | 1.3.4. Third Party Programs | + | |
| + | ==== Third Party Programs (1.3.4) ==== | ||
| In addition to the base distributions, | In addition to the base distributions, | ||
| - | 1.3.5. Additional Documentation | + | |
| + | ==== Additional Documentation (1.3.5) ==== | ||
| All supported %%FreeBSD%% versions provide an option in the installer to install additional documentation under / | All supported %%FreeBSD%% versions provide an option in the installer to install additional documentation under / | ||
| - | The %%FreeBSD%% Handbook | + | |
| + | **The %%FreeBSD%% Handbook** | ||
| / | / | ||
| - | The %%FreeBSD%% FAQ | + | |
| + | **The %%FreeBSD%% FAQ** | ||
| / | / | ||
| - | You can also view the master (and most frequently updated) copies at https:// | + | |
| + | You can also view the master (and most frequently updated) copies at [[https:// | ||