aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/en/books/dev-model/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/en/books/dev-model/_index.po')
-rw-r--r--documentation/content/en/books/dev-model/_index.po2894
1 files changed, 2894 insertions, 0 deletions
diff --git a/documentation/content/en/books/dev-model/_index.po b/documentation/content/en/books/dev-model/_index.po
new file mode 100644
index 0000000000..5d332eefe3
--- /dev/null
+++ b/documentation/content/en/books/dev-model/_index.po
@@ -0,0 +1,2894 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: YAML Front Matter: description
+#: documentation/content/en/books/dev-model/_index.adoc:1
+#, no-wrap
+msgid "A formal study of the organization of the FreeBSD project"
+msgstr ""
+
+#. Copyright (c) 2002-2005 Niklas Saers
+#. All rights reserved.
+#. Redistribution and use in source and binary forms, with or without
+#. modification, are permitted provided that the following conditions
+#. are met:
+#. 1. Redistributions of source code must retain the above copyright
+#. notice, this list of conditions and the following disclaimer.
+#. 2. Redistributions in binary form must reproduce the above copyright
+#. notice, this list of conditions and the following disclaimer in the
+#. documentation and/or other materials provided with the distribution.
+#. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+#. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+#. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+#. ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+#. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+#. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+#. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+#. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+#. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+#. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+#. SUCH DAMAGE.
+#. type: Title =
+#: documentation/content/en/books/dev-model/_index.adoc:1
+#: documentation/content/en/books/dev-model/_index.adoc:39
+#, no-wrap
+msgid "A project model for the FreeBSD Project"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:72
+msgid "'''"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:78
+msgid "Foreword"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:84
+msgid ""
+"Up until now, the FreeBSD project has released a number of described "
+"techniques to do different parts of work. However, a project model "
+"summarising how the project is structured is needed because of the "
+"increasing amount of project members. footnote:[This goes hand-in-hand with "
+"Brooks' law that adding another person to a late project will make it later "
+"since it will increase the communication needs . A project model is a tool "
+"to reduce the communication needs.] This paper will provide such a project "
+"model and is donated to the FreeBSD Documentation project where it can "
+"evolve together with the project so that it can at any point in time reflect "
+"the way the project works. It is based on [crossref:dev-model[thesis, "
+"Saers,2003]]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:86
+msgid ""
+"I would like to thank the following people for taking the time to explain "
+"things that were unclear to me and for proofreading the document."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:88
+msgid "Andrey A. Chernov mailto:ache@freebsd.org[ache@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:89
+msgid "Bruce A. Mah mailto:bmah@freebsd.org[bmah@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:90
+msgid "Dag-Erling Smørgrav mailto:des@freebsd.org[des@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:91
+msgid "Giorgos Keramidas mailto:keramida@freebsd.org[keramida@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:92
+msgid ""
+"Ingvil Hovig "
+"mailto:ingvil.hovig@skatteetaten.no[ingvil.hovig@skatteetaten.no]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:93
+msgid "Jesper Holck mailto:jeh.inf@cbs.dk[jeh.inf@cbs.dk]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:94
+msgid "John Baldwin mailto:jhb@freebsd.org[jhb@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:95
+msgid "John Polstra mailto:jdp@freebsd.org[jdp@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:96
+msgid "Kirk McKusick mailto:mckusick@freebsd.org[mckusick@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:97
+msgid "Mark Linimon mailto:linimon@freebsd.org[linimon@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:98
+msgid "Marleen Devos"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:99
+msgid "Niels Jørgenssen mailto:nielsj@ruc.dk[nielsj@ruc.dk]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:100
+msgid "Nik Clayton mailto:nik@freebsd.org[nik@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:101
+msgid "Poul-Henning Kamp mailto:phk@freebsd.org[phk@freebsd.org]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:102
+msgid "Simon L. Nielsen mailto:simon@freebsd.org[simon@freebsd.org]"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:104
+#, no-wrap
+msgid "Overview"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:109
+msgid ""
+"A project model is a means to reduce the communications overhead in a "
+"project. As shown by [crossref:dev-model[brooks, Brooks, 1995]], increasing "
+"the number of project participants increases the communication in the "
+"project exponentially. FreeBSD has during the past few years increased both "
+"its mass of active users and committers, and the communication in the "
+"project has risen accordingly. This project model will serve to reduce this "
+"overhead by providing an up-to-date description of the project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:115
+msgid ""
+"During the Core elections in 2002, Mark Murray stated \"I am opposed to a "
+"long rule-book, as that satisfies lawyer-tendencies, and is counter to the "
+"technocentricity that the project so badly needs.\" [crossref:dev-model[bsd-"
+"election2002, FreeBSD, 2002B]]. This project model is not meant to be a "
+"tool to justify creating impositions for developers, but as a tool to "
+"facilitate coordination. It is meant as a description of the project, with "
+"an overview of how the different processes are executed. It is an "
+"introduction to how the FreeBSD project works."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:118
+msgid ""
+"The FreeBSD project model will be described as of July 1st, 2004. It is "
+"based on the Niels Jørgensen's paper [crossref:dev-model[jorgensen2001, "
+"Jørgensen, 2001]], FreeBSD's official documents, discussions on FreeBSD "
+"mailing lists and interviews with developers."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:121
+msgid ""
+"After providing definitions of terms used, this document will outline the "
+"organisational structure (including role descriptions and communication "
+"lines), discuss the methodology model and after presenting the tools used "
+"for process control, it will present the defined processes. Finally it will "
+"outline major sub-projects of the FreeBSD project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:125
+msgid ""
+"[crossref:dev-model[freebsd-developer-handbook, FreeBSD, 2002A]] Section 1.2 "
+"and 1.3 give the vision and the architectural guidelines for the project. "
+"The vision is \"To produce the best UNIX-like operating system package "
+"possible, with due respect to the original software tools ideology as well "
+"as usability, performance and stability.\" The architectural guidelines help "
+"determine whether a problem that someone wants to be solved is within the "
+"scope of the project"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:127
+#, no-wrap
+msgid "Definitions"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:130
+#, no-wrap
+msgid "Activity"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:136
+msgid ""
+"An \"activity\" is an element of work performed during the course of a "
+"project [crossref:dev-model[ref-pmbok, PMI, 2000]]. It has an output and "
+"leads towards an outcome. Such an output can either be an input to another "
+"activity or a part of the process' delivery."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:138
+#, no-wrap
+msgid "Process"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:143
+msgid ""
+"A \"process\" is a series of activities that lead towards a particular "
+"outcome. A process can consist of one or more sub-processes. An example of "
+"a process is software design."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:145
+#, no-wrap
+msgid "Hat"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:151
+msgid ""
+"A \"hat\" is synonymous with role. A hat has certain responsibilities in a "
+"process and for the process outcome. The hat executes activities. It is "
+"well defined what issues the hat should be contacted about by the project "
+"members and people outside the project."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:153
+#, no-wrap
+msgid "Outcome"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:161
+msgid ""
+"An \"outcome\" is the final output of the process. This is synonymous with "
+"deliverable, that is defined as \"any measurable, tangible, verifiable "
+"outcome, result or item that must be produced to complete a project or part "
+"of a project. Often used more narrowly in reference to an external "
+"deliverable, which is a deliverable that is subject to approval by the "
+"project sponsor or customer\" by [crossref:dev-model[ref-pmbok, PMI, "
+"2000]]. Examples of outcomes are a piece of software, a decision made or a "
+"report written."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:163
+#, no-wrap
+msgid "FreeBSD"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:166
+msgid ""
+"When saying \"FreeBSD\" we will mean the BSD derivative UNIX-like operating "
+"system FreeBSD, whereas when saying \"the FreeBSD Project\" we will mean the "
+"project organisation."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:168
+#, no-wrap
+msgid "Organisational structure"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:171
+msgid ""
+"While no-one takes ownership of FreeBSD, the FreeBSD organisation is divided "
+"into core, committers and contributors and is part of the FreeBSD community "
+"that lives around it."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:173
+msgid "The FreeBSD Project's structure (in order of descending authority)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:178
+#: documentation/content/en/books/dev-model/_index.adoc:213
+#, no-wrap
+msgid "Group"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:180
+#: documentation/content/en/books/dev-model/_index.adoc:216
+#, no-wrap
+msgid "Number of people"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:181
+#: documentation/content/en/books/dev-model/_index.adoc:217
+#, no-wrap
+msgid "Core members"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:183
+#: documentation/content/en/books/dev-model/_index.adoc:220
+#, no-wrap
+msgid "9"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:184
+#: documentation/content/en/books/dev-model/_index.adoc:221
+#, no-wrap
+msgid "Committers"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:186
+#, no-wrap
+msgid "318"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:187
+#: documentation/content/en/books/dev-model/_index.adoc:237
+#, no-wrap
+msgid "Contributors"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:188
+#: documentation/content/en/books/dev-model/_index.adoc:239
+#, no-wrap
+msgid "~3000"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:191
+msgid ""
+"Number of committers has been determined by going through CVS logs from "
+"January 1st, 2004 to December 31st, 2004 and contributors by going through "
+"the list of contributions and problem reports."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:196
+msgid ""
+"The main resource in the FreeBSD community is its developers: the committers "
+"and contributors. It is with their contributions that the project can move "
+"forward. Regular developers are referred to as contributors. As of January "
+"1st, 2003, there are an estimated 5500 contributors on the project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:200
+msgid ""
+"Committers are developers with the privilege of being able to commit "
+"changes. These are usually the most active developers who are willing to "
+"spend their time not only integrating their own code but integrating code "
+"submitted by the developers who do not have this privilege. They are also "
+"the developers who elect the core team, and they have access to closed "
+"discussions."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:204
+msgid ""
+"The project can be grouped into four distinct separate parts, and most "
+"developers will focus their involvement in one part of FreeBSD. The four "
+"parts are kernel development, userland development, ports and "
+"documentation. When referring to the base system, both kernel and userland "
+"is meant."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:206
+msgid "This split changes our table to look like this:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:208
+msgid "The FreeBSD Project's structure with committers in categories"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:214
+#, no-wrap
+msgid "Category"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:222
+#, no-wrap
+msgid "Base"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:224
+#, no-wrap
+msgid "164"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:226
+#, no-wrap
+msgid "Docs"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:228
+#, no-wrap
+msgid "45"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:230
+#, no-wrap
+msgid "Ports"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:232
+#, no-wrap
+msgid "166"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:234
+#, no-wrap
+msgid "Total"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:236
+#, no-wrap
+msgid "374"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:244
+msgid ""
+"Number of committers per area has been determined by going through CVS logs "
+"from January 1st, 2004 to December 31st, 2004. Note that many committers "
+"work in multiple areas, making the total number higher than the real number "
+"of committers. The total number of active unique committers on June 2022 "
+"was 317."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:247
+msgid ""
+"Committers fall into three groups: committers who are only concerned with "
+"one area of the project (for instance file systems), committers who are "
+"involved only with one sub-project, and committers who commit to different "
+"parts of the code, including sub-projects. Because some committers work on "
+"different parts, the total number in the committers section of the table is "
+"higher than in the above table."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:252
+msgid ""
+"The kernel is the main building block of FreeBSD. While the userland "
+"applications are protected against faults in other userland applications, "
+"the entire system is vulnerable to errors in the kernel. This, combined "
+"with the vast amount of dependencies in the kernel and that it is not easy "
+"to see all the consequences of a kernel change, demands developers with a "
+"relative full understanding of the kernel. Multiple development efforts in "
+"the kernel also require a closer coordination than userland applications do."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:256
+msgid ""
+"The core utilities, known as userland, provide the interface that identifies "
+"FreeBSD, both user interface, shared libraries and external interfaces to "
+"connecting clients. Currently, 162 people are involved in userland "
+"development and maintenance, many being maintainers for their own part of "
+"the code. Maintainership will be discussed in the crossref:dev-model[role-"
+"maintainer, Maintainership] section."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:259
+msgid ""
+"Documentation is handled by crossref:dev-model[sub-project-documentation, "
+"The FreeBSD Documentation Project] and includes all documents surrounding "
+"the FreeBSD project, including the web pages. There were during 2004 101 "
+"people making commits to the FreeBSD Documentation Project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:267
+msgid ""
+"Ports is the collection of meta-data that is needed to make software "
+"packages build correctly on FreeBSD. An example of a port is the port for "
+"the web-browser Mozilla. It contains information about where to fetch the "
+"source, what patches to apply and how, and how the package should be "
+"installed on the system. This allows automated tools to fetch, build and "
+"install the package. As of this writing, there are more than 12600 ports "
+"available. footnote:[Statistics are generated by counting the number of "
+"entries in the file fetched by portsdb by April 1st, 2005. portsdb is a part "
+"of the port sysutils/portupgrade.] , ranging from web servers to games, "
+"programming languages and most of the application types that are in use on "
+"modern computers. Ports will be discussed further in the section "
+"crossref:dev-model[sub-project-ports, The Ports Subproject]."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:269
+#, no-wrap
+msgid "Methodology model"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:272
+#, no-wrap
+msgid "Development model"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:276
+msgid ""
+"There is no defined model for how people write code in FreeBSD. However, "
+"Niels Jørgenssen has suggested a model of how written code is integrated "
+"into the project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:278
+#: documentation/content/en/books/dev-model/_index.adoc:877
+msgid "Jørgenssen's model for change integration"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:283
+#: documentation/content/en/books/dev-model/_index.adoc:882
+#, no-wrap
+msgid "Stage"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:284
+#: documentation/content/en/books/dev-model/_index.adoc:883
+#, no-wrap
+msgid "Next if successful"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:286
+#: documentation/content/en/books/dev-model/_index.adoc:885
+#, no-wrap
+msgid "Next if unsuccessful"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:287
+#: documentation/content/en/books/dev-model/_index.adoc:294
+#: documentation/content/en/books/dev-model/_index.adoc:298
+#: documentation/content/en/books/dev-model/_index.adoc:302
+#: documentation/content/en/books/dev-model/_index.adoc:306
+#: documentation/content/en/books/dev-model/_index.adoc:309
+#: documentation/content/en/books/dev-model/_index.adoc:886
+#: documentation/content/en/books/dev-model/_index.adoc:893
+#: documentation/content/en/books/dev-model/_index.adoc:897
+#: documentation/content/en/books/dev-model/_index.adoc:901
+#: documentation/content/en/books/dev-model/_index.adoc:905
+#: documentation/content/en/books/dev-model/_index.adoc:908
+#, no-wrap
+msgid "code"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:288
+#: documentation/content/en/books/dev-model/_index.adoc:291
+#: documentation/content/en/books/dev-model/_index.adoc:887
+#: documentation/content/en/books/dev-model/_index.adoc:890
+#, no-wrap
+msgid "review"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:292
+#: documentation/content/en/books/dev-model/_index.adoc:295
+#: documentation/content/en/books/dev-model/_index.adoc:891
+#: documentation/content/en/books/dev-model/_index.adoc:894
+#, no-wrap
+msgid "pre-commit test"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:296
+#: documentation/content/en/books/dev-model/_index.adoc:299
+#: documentation/content/en/books/dev-model/_index.adoc:895
+#: documentation/content/en/books/dev-model/_index.adoc:898
+#, no-wrap
+msgid "development release"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:300
+#: documentation/content/en/books/dev-model/_index.adoc:303
+#: documentation/content/en/books/dev-model/_index.adoc:899
+#: documentation/content/en/books/dev-model/_index.adoc:902
+#, no-wrap
+msgid "parallel debugging"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:304
+#: documentation/content/en/books/dev-model/_index.adoc:307
+#: documentation/content/en/books/dev-model/_index.adoc:903
+#: documentation/content/en/books/dev-model/_index.adoc:906
+#, no-wrap
+msgid "production release"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:313
+msgid ""
+"The \"development release\" is the FreeBSD-CURRENT (\"-CURRENT\") branch and "
+"the \"production release\" is the FreeBSD-STABLE branch (\"-STABLE\") "
+"[crossref:dev-model[jorgensen2001, Jørgensen, 2001]]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:319
+msgid ""
+"This is a model for one change, and shows that after coding, developers seek "
+"community review and try integrating it with their own systems. After "
+"integrating the change into the development release, called FreeBSD-CURRENT, "
+"it is tested by many users and developers in the FreeBSD community. After "
+"it has gone through enough testing, it is merged into the production "
+"release, called FreeBSD-STABLE. Unless each stage is finished successfully, "
+"the developer needs to go back and make modifications in the code and "
+"restart the process. To integrate a change with either -CURRENT or -STABLE "
+"is called making a commit."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:322
+msgid ""
+"Jørgensen found that most FreeBSD developers work individually, meaning that "
+"this model is used in parallel by many developers on the different ongoing "
+"development efforts. A developer can also be working on multiple changes, "
+"so that while they are waiting for review or people to test one or more of "
+"their changes, they may be writing another change."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:325
+msgid ""
+"As each commit represents an increment, this is a massively incremental "
+"model. The commits are in fact so frequent that during one year footnote:"
+"[The period from January 1st, 2004 to December 31st, 2004 was examined to "
+"find this number.] , 85427 commits were made, making a daily average of 233 "
+"commits."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:329
+msgid ""
+"Within the \"code\" bracket in Jørgensen's model, each programmer has their "
+"own working style and follows their own development models. The bracket "
+"could very well have been called \"development\" as it includes requirements "
+"gathering and analysis, system and detailed design, implementation and "
+"verification. However, the only output from these stages is the source code "
+"or system documentation."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:335
+msgid ""
+"From a stepwise model's perspective (such as the waterfall model), the other "
+"brackets can be seen as further verification and system integration. This "
+"system integration is also important to see if a change is accepted by the "
+"community. Up until the code is committed, the developer is free to choose "
+"how much to communicate about it to the rest of the project. In order for "
+"-CURRENT to work as a buffer (so that bright ideas that had some "
+"undiscovered drawbacks can be backed out) the minimum time a commit should "
+"be in -CURRENT before merging it to -STABLE is 3 days. Such a merge is "
+"referred to as an MFC (Merge From Current)."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:338
+msgid ""
+"It is important to notice the word \"change\". Most commits do not contain "
+"radical new features, but are maintenance updates."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:341
+msgid ""
+"The only exceptions from this model are security fixes and changes to "
+"features that are deprecated in the -CURRENT branch. In these cases, "
+"changes can be committed directly to the -STABLE branch."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:346
+msgid ""
+"In addition to many people working on the project, there are many related "
+"projects to the FreeBSD Project. These are either projects developing brand "
+"new features, sub-projects or projects whose outcome is incorporated into "
+"FreeBSD footnote:[For instance, the development of the Bluetooth stack "
+"started as a sub-project until it was deemed stable enough to be merged into "
+"the -CURRENT branch. Now it is a part of the core FreeBSD system.]. These "
+"projects fit into the FreeBSD Project just like regular development efforts: "
+"they produce code that is integrated with the FreeBSD Project. However, "
+"some of them (like Ports and Documentation) have the privilege of being "
+"applicable to both branches or commit directly to both -CURRENT and -STABLE."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:353
+msgid ""
+"There is no standards to how design should be done, nor is design collected "
+"in a centralised repository. The main design is that of 4.4BSD. footnote:"
+"[According to Kirk McKusick, after 20 years of developing UNIX operating "
+"systems, the interfaces are for the most part figured out. There is "
+"therefore no need for much design. However, new applications of the system "
+"and new hardware leads to some implementations being more beneficial than "
+"those that used to be preferred. One example is the introduction of web "
+"browsing that made the normal TCP/IP connection a short burst of data rather "
+"than a steady stream over a longer period of time.] As design is a part of "
+"the \"Code\" bracket in Jørgenssen's model, it is up to every developer or "
+"sub-project how this should be done. Even if the design should be stored in "
+"a central repository, the output from the design stages would be of limited "
+"use as the differences of methodologies would make them poorly if at all "
+"interoperable. For the overall design of the project, the project relies on "
+"the sub-projects to negotiate fit interfaces between each other rather than "
+"to dictate interfacing."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:355
+#, no-wrap
+msgid "Release branches"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:359
+msgid ""
+"The releases of FreeBSD are best illustrated by a tree with many branches "
+"where each major branch represents a major version. Minor versions are "
+"represented by branches of the major branches."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:366
+msgid ""
+"In the following release tree, arrows that follow one-another in a "
+"particular direction represent a branch. Boxes with full lines and diamonds "
+"represent official releases. Boxes with dotted lines represent the "
+"development branch at that time. Security branches are represented by "
+"ovals. Diamonds differ from boxes in that they represent a fork, meaning a "
+"place where a branch splits into two branches where one of the branches "
+"becomes a sub-branch. For example, at 4.0-RELEASE the 4.0-CURRENT branch "
+"split into 4-STABLE and 5.0-CURRENT. At 4.5-RELEASE, the branch forked off a "
+"security branch called RELENG_4_5."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:367
+#, no-wrap
+msgid "The FreeBSD release tree"
+msgstr ""
+
+#. type: Positional ($1) AttributeList argument for macro 'image'
+#: documentation/content/en/books/dev-model/_index.adoc:368
+#, no-wrap
+msgid "Refer to table below for a screen-reader friendly version."
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:368
+#, no-wrap
+msgid "branches.png"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:374
+#, no-wrap
+msgid "Major release"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:375
+#, no-wrap
+msgid "Forked from"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:377
+#, no-wrap
+msgid "Following minor releases"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:378
+#: documentation/content/en/books/dev-model/_index.adoc:398
+#, no-wrap
+msgid "..."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:382
+#, no-wrap
+msgid "3.0 Current (development branch)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:385
+#, no-wrap
+msgid "Releng 3 branches: 3.0 Release to 3.5 Release, leading to 3.5.1 Release and the subsequent 3 Stable branch"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:386
+#, no-wrap
+msgid "4.0 Current (development branch)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:387
+#, no-wrap
+msgid "3.1 Release"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:389
+#, no-wrap
+msgid "Releng 4 branches: 4.1 Release to 4.6 Release (and 4.6.2 Release), then 4.7 Release to 4.11 Release (all starting at 4.3 Release also leading to a Releng_4_n branch), and the subsequent 4 Release branch"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:390
+#, no-wrap
+msgid "5.0 Current (development branch)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:391
+#, no-wrap
+msgid "4.0 Release"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:393
+#, no-wrap
+msgid "Releng 5 branches: 5.0 Release to 5.4 Release (all except 5.0 and 5.3 also leading to a Releng_5_n branch), and the subsequent 5 Release branch"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:394
+#, no-wrap
+msgid "6.0 Current (development branch)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/dev-model/_index.adoc:395
+#, no-wrap
+msgid "5.3 Release"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:405
+msgid ""
+"The latest -CURRENT version is always referred to as -CURRENT, while the "
+"latest -STABLE release is always referred to as -STABLE. In this figure, "
+"-STABLE refers to 4-STABLE while -CURRENT refers to 5.0-CURRENT following "
+"5.0-RELEASE. [crossref:dev-model[freebsd-releng, FreeBSD, 2002E]]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:412
+msgid ""
+"A \"major release\" is always made from the -CURRENT branch. However, the "
+"-CURRENT branch does not need to fork at that point in time, but can focus "
+"on stabilising. An example of this is that following 3.0-RELEASE, 3.1-"
+"RELEASE was also a continuation of the -CURRENT-branch, and -CURRENT did not "
+"become a true development branch until this version was released and the 3-"
+"STABLE branch was forked. When -CURRENT returns to becoming a development "
+"branch, it can only be followed by a major release. 5-STABLE is predicted "
+"to be forked off 5.0-CURRENT at around 5.3-RELEASE. It is not until 5-"
+"STABLE is forked that the development branch will be branded 6.0-CURRENT."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:414
+msgid ""
+"A \"minor release\" is made from the -CURRENT branch following a major "
+"release, or from the -STABLE branch."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:417
+msgid ""
+"Following and including, 4.3-RELEASEfootnote:[The first release this "
+"actually happened for was 4.5-RELEASE, but security branches were at the "
+"same time created for 4.3-RELEASE and 4.4-RELEASE.], when a minor release "
+"has been made, it becomes a \"security branch\". This is meant for "
+"organisations that do not want to follow the -STABLE branch and the "
+"potential new/changed features it offers, but instead require an absolutely "
+"stable environment, only updating to implement security updates. footnote:"
+"[There is a terminology overlap with respect to the word \"stable\", which "
+"leads to some confusion. The -STABLE branch is still a development branch, "
+"whose goal is to be useful for most people. If it is never acceptable for a "
+"system to get changes that are not announced at the time it is deployed, "
+"that system should run a security branch.]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:422
+msgid ""
+"Each update to a security branch is called a \"patchlevel\". For every "
+"security enhancement that is done, the patchlevel number is increased, "
+"making it easy for people tracking the branch to see what security "
+"enhancements they have implemented. In cases where there have been "
+"especially serious security flaws, an entire new release can be made from a "
+"security branch. An example of this is 4.6.2-RELEASE."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:424
+#, no-wrap
+msgid "Model summary"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:427
+msgid ""
+"To summarise, the development model of FreeBSD can be seen as the following "
+"tree:"
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:428
+#, no-wrap
+msgid "The overall development model"
+msgstr ""
+
+#. type: Positional ($1) AttributeList argument for macro 'image'
+#: documentation/content/en/books/dev-model/_index.adoc:429
+#: documentation/content/en/books/dev-model/_index.adoc:1109
+#, no-wrap
+msgid "Refer to paragraphs below for a screen-reader friendly version."
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:429
+#, no-wrap
+msgid "freebsd-code-model.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:432
+msgid ""
+"The tree of the FreeBSD development with ongoing development efforts and "
+"continuous integration."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:436
+msgid ""
+"The tree symbolises the release versions with major versions spawning new "
+"main branches and minor versions being versions of the main branch. The top "
+"branch is the -CURRENT branch where all new development is integrated, and "
+"the -STABLE branch is the branch directly below it. Below the -STABLE "
+"branch are old, unsupported versions."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:440
+msgid ""
+"Clouds of development efforts hang over the project where developers use the "
+"development models they see fit. The product of their work is then "
+"integrated into -CURRENT where it undergoes parallel debugging and is "
+"finally merged from -CURRENT into -STABLE. Security fixes are merged from "
+"-STABLE to the security branches."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:447
+msgid ""
+"Many committers have a special area of responsibility. These roles are "
+"called hats. These hats can be either project roles, such as public "
+"relations officer, or maintainer for a certain area of the code. Because "
+"this is a project where people give voluntarily of their spare time, people "
+"with assigned hats are not always available. They must therefore appoint a "
+"deputy that can perform the hat's role in their absence. The other option "
+"is to have the role held by a group."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:452
+msgid ""
+"Many of these hats are not formalised. Formalised hats have a charter "
+"stating the exact purpose of the hat along with its privileges and "
+"responsibilities. The writing of such charters is a new part of the "
+"project, and has thus yet to be completed for all hats. These hat "
+"descriptions are not such a formalisation, rather a summary of the role with "
+"links to the charter where available and contact addresses."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:454
+#, no-wrap
+msgid "Hats"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:457
+#, no-wrap
+msgid "General Hats"
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:460
+#, no-wrap
+msgid "Contributor"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:465
+msgid ""
+"A Contributor contributes to the FreeBSD project either as a developer, as "
+"an author, by sending problem reports, or in other ways contributing to the "
+"progress of the project. A contributor has no special privileges in the "
+"FreeBSD project. [crossref:dev-model[freebsd-contributors, FreeBSD, 2002F]]"
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:467
+#, no-wrap
+msgid "Committer"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:472
+msgid ""
+"A person who has the required privileges to add their code or documentation "
+"to the repository. A committer has made a commit within the past 12 "
+"months. [crossref:dev-model[freebsd-developer-handbook, FreeBSD, 2000A]] An "
+"active committer is a committer who has made an average of one commit per "
+"month during that time."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:475
+msgid ""
+"It is worth noting that there are no technical barriers to prevent someone, "
+"once having gained commit privileges to the main- or a sub-project, to make "
+"commits in parts of that project's source the committer did not specifically "
+"get permission to modify. However, when wanting to make modifications to "
+"parts a committer has not been involved in before, they should read the logs "
+"to see what has happened in this area before, and also read the MAINTAINERS "
+"file to see if the maintainer of this part has any special requests on how "
+"changes in the code should be made."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:477
+#, no-wrap
+msgid "Core Team"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:483
+msgid ""
+"The core team is elected by the committers from the pool of committers and "
+"serves as the board of directors of the FreeBSD project. It promotes active "
+"contributors to committers, assigns people to well-defined hats, and is the "
+"final arbiter of decisions involving which way the project should be "
+"heading. As of July 1st, 2004, core consisted of 9 members. Elections are "
+"held every two years."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:485
+#, no-wrap
+msgid "Maintainership"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:489
+msgid ""
+"Maintainership means that the person is responsible for what is allowed to "
+"go into that area of the code and has the final say should disagreements "
+"over the code occur. This involves proactive work aimed at stimulating "
+"contributions and reactive work in reviewing commits."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:492
+msgid ""
+"With the FreeBSD source comes the MAINTAINERS file that contains a one-line "
+"summary of how each maintainer would like contributions to be made. Having "
+"this notice and contact information enables developers to focus on the "
+"development effort rather than being stuck in a slow correspondence should "
+"the maintainer be unavailable for some time."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:495
+msgid ""
+"If the maintainer is unavailable for an unreasonably long period of time, "
+"and other people do a significant amount of work, maintainership may be "
+"switched without the maintainer's approval. This is based on the stance "
+"that maintainership should be demonstrated, not declared."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:497
+msgid ""
+"Maintainership of a particular piece of code is a hat that is not held as a "
+"group."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:499
+#, no-wrap
+msgid "Official Hats"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:504
+msgid ""
+"The official hats in the FreeBSD Project are hats that are more or less "
+"formalised and mainly administrative roles. They have the authority and "
+"responsibility for their area. The following list shows the responsibility "
+"lines and gives a description of each hat, including who it is held by."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:506
+#, no-wrap
+msgid "Documentation project manager"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:509
+msgid ""
+"crossref:dev-model[sub-project-documentation, The FreeBSD Documentation "
+"Project] architect is responsible for defining and following up "
+"documentation goals for the committers in the Documentation project, which "
+"they supervise."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:512
+msgid ""
+"Hat held by: The DocEng team mailto:doceng@FreeBSD.org[doceng@FreeBSD.org]. "
+"The https://www.freebsd.org/internal/doceng/[ DocEng Charter]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:514
+#, no-wrap
+msgid "Postmaster"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:518
+msgid ""
+"The Postmaster is responsible for mail being correctly delivered to the "
+"committers' email address. They are also responsible for ensuring that the "
+"mailing lists work and should take measures against possible disruptions of "
+"mail such as having troll-, spam- and virus-filters."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:520
+msgid ""
+"Hat currently held by: the Postmaster Team "
+"mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:522
+#, no-wrap
+msgid "Release Coordination"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:525
+msgid "The responsibilities of the Release Engineering Team are"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:527
+msgid ""
+"Setting, publishing and following a release schedule for official releases"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:528
+msgid "Documenting and formalising release engineering procedures"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:529
+msgid "Creation and maintenance of code branches"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:530
+msgid ""
+"Coordinating with the Ports and Documentation teams to have an updated set "
+"of packages and documentation released with the new releases"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:531
+msgid ""
+"Coordinating with the Security team so that pending releases are not "
+"affected by recently disclosed vulnerabilities."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:534
+msgid ""
+"Further information about the development process is available in the "
+"crossref:dev-model[process-release-engineering, Release engineering] section."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:538
+msgid ""
+"Hat held by: the Release Engineering team "
+"mailto:re@FreeBSD.org[re@FreeBSD.org]. The https://www.freebsd.org/releng/"
+"charter/[ Release Engineering Charter]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:540
+#, no-wrap
+msgid "Public Relations & Corporate Liaison"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:543
+msgid "The Public Relations & Corporate Liaison's responsibilities are:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:545
+msgid ""
+"Making press statements when happenings that are important to the FreeBSD "
+"Project happen."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:546
+msgid ""
+"Being the official contact person for corporations that are working close "
+"with the FreeBSD Project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:547
+msgid ""
+"Take steps to promote FreeBSD within both the Open Source community and the "
+"corporate world."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:548
+msgid "Handle the \"freebsd-advocacy\" mailing list."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:550
+msgid "This hat is currently not occupied."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:552
+#, no-wrap
+msgid "Security Officer"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:556
+msgid ""
+"The Security Officer's main responsibility is to coordinate information "
+"exchange with others in the security community and in the FreeBSD project. "
+"The Security Officer is also responsible for taking action when security "
+"problems are reported and promoting proactive development behavior when it "
+"comes to security."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:562
+msgid ""
+"Because of the fear that information about vulnerabilities may leak out to "
+"people with malicious intent before a patch is available, only the Security "
+"Officer, consisting of an officer, a deputy and two crossref:dev-model[role-"
+"core, Core Team] members, receive sensitive information about security "
+"issues. However, to create or implement a patch, the Security Officer has "
+"the Security Officer Team mailto:security-team@FreeBSD.org[security-"
+"team@FreeBSD.org] to help do the work."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:564
+#, no-wrap
+msgid "Source Repository Manager"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:570
+msgid ""
+"The Source Repository Manager is the only one who is allowed to directly "
+"modify the repository without using the crossref:dev-model[tool-git, Git] "
+"tool. It is their responsibility to ensure that technical problems that "
+"arise in the repository are resolved quickly. The source repository manager "
+"has the authority to back out commits if this is necessary to resolve a Git "
+"technical problem."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:572
+msgid ""
+"Hat held by: the Source Repository Manager "
+"mailto:clusteradm@FreeBSD.org[clusteradm@FreeBSD.org]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:574
+#, no-wrap
+msgid "Election Manager"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:581
+msgid ""
+"The Election Manager is responsible for the crossref:dev-model[process-core-"
+"election, Core election] process. The manager is responsible for running "
+"and maintaining the election system, and is the final authority should minor "
+"unforeseen events happen in the election process. Major unforeseen events "
+"have to be discussed with the crossref:dev-model[role-core, Core Team]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:583
+msgid "Hat held only during elections."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:585
+#, no-wrap
+msgid "Web site Management"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:590
+msgid ""
+"The Web site Management hat is responsible for coordinating the rollout of "
+"updated web pages on mirrors around the world, for the overall structure of "
+"the primary web site and the system it is running upon. The management "
+"needs to coordinate the content with crossref:dev-model[sub-project-"
+"documentation, The FreeBSD Documentation Project] and acts as maintainer for "
+"the \"www\" tree."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:592
+msgid ""
+"Hat held by: the FreeBSD Webmasters mailto:www@FreeBSD.org[www@FreeBSD.org]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:594
+#, no-wrap
+msgid "Ports Manager"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:597
+msgid ""
+"The Ports Manager acts as a liaison between crossref:dev-model[sub-project-"
+"ports, The Ports Subproject] and the core project, and all requests from the "
+"project should go to the ports manager."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:600
+msgid ""
+"Hat held by: the Ports Management Team "
+"mailto:portmgr@FreeBSD.org[portmgr@FreeBSD.org]. The https://"
+"www.freebsd.org/portmgr/charter/[Portmgr charter]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:602
+#, no-wrap
+msgid "Standards"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:605
+msgid ""
+"The Standards hat is responsible for ensuring that FreeBSD complies with the "
+"standards it is committed to , keeping up to date on the development of "
+"these standards and notifying FreeBSD developers of important changes that "
+"allows them to take a proactive role and decrease the time between a "
+"standards update and FreeBSD's compliancy."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:607
+msgid ""
+"Hat currently held by: Garrett Wollman "
+"mailto:wollman@FreeBSD.org[wollman@FreeBSD.org]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:609
+#, no-wrap
+msgid "Core Secretary"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:613
+msgid ""
+"The Core Secretary's main responsibility is to write drafts to and publish "
+"the final Core Reports. The secretary also keeps the core agenda, thus "
+"ensuring that no balls are dropped unresolved."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:615
+msgid "Hat currently held by: {rene}."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:617
+#, no-wrap
+msgid "Bugmeister"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:621
+msgid ""
+"The Bugmeister is responsible for ensuring that the maintenance database is "
+"in working order, that the entries are correctly categorised and that there "
+"are no invalid entries. They supervise bugbusters."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:623
+msgid ""
+"Hat currently held by: the Bugmeister Team "
+"mailto:bugmeister@FreeBSD.org[bugmeister@FreeBSD.org]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:625
+#, no-wrap
+msgid "Donations Liaison Officer"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:628
+msgid ""
+"The task of the donations liaison officer is to match the developers with "
+"needs with people or organisations willing to make a donation."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:631
+msgid ""
+"Hat held by: the Donations Liaison Office "
+"mailto:donations@FreeBSD.org[donations@FreeBSD.org]. The https://"
+"www.freebsd.org/donations/[ Donations Liaison Charter]."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:633
+#, no-wrap
+msgid "Admin"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:636
+msgid "(Also called \"FreeBSD Cluster Admin\")"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:639
+msgid ""
+"The admin team consists of the people responsible for administrating the "
+"computers that the project relies on for its distributed work and "
+"communication to be synchronised. It consists mainly of those people who "
+"have physical access to the servers."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:641
+msgid ""
+"Hat held by: the Admin team mailto:admin@FreeBSD.org[admin@FreeBSD.org]."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:643
+#, no-wrap
+msgid "Process dependent hats"
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:646
+#, no-wrap
+msgid "Report originator"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:649
+msgid "The person originally responsible for filing a Problem Report."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:651
+#, no-wrap
+msgid "Bugbuster"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:654
+msgid ""
+"A person who will either find the right person to solve the problem, or "
+"close the PR if it is a duplicate or otherwise not an interesting one."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:656
+#, no-wrap
+msgid "Mentor"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:659
+msgid ""
+"A mentor is a committer who takes it upon them to introduce a new committer "
+"to the project, both in terms of ensuring the new committer's setup is "
+"valid, that the new committer knows the available tools required in their "
+"work, and that the new committer knows what is expected of them in terms of "
+"behavior."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:661
+#, no-wrap
+msgid "Vendor"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:664
+msgid ""
+"The person(s) or organisation whom external code comes from and whom patches "
+"are sent to."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/dev-model/_index.adoc:666
+#, no-wrap
+msgid "Reviewers"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:669
+msgid "People on the mailing list where the request for review is posted."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:672
+msgid ""
+"The following section will describe the defined project processes. Issues "
+"that are not handled by these processes happen on an ad-hoc basis based on "
+"what has been customary to do in similar cases."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:674
+#, no-wrap
+msgid "Processes"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:677
+#, no-wrap
+msgid "Adding new and removing old committers"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:682
+msgid ""
+"The Core team has the responsibility of giving and removing commit "
+"privileges to contributors. This can only be done through a vote on the "
+"core mailing list. The ports and documentation sub-projects can give commit "
+"privileges to people working on these projects, but have to date not removed "
+"such privileges."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:685
+msgid ""
+"Normally a contributor is recommended to core by a committer. For "
+"contributors or outsiders to contact core asking to be a committer is not "
+"well thought of and is usually rejected."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:688
+msgid ""
+"If the area of particular interest for the developer potentially overlaps "
+"with other committers' area of maintainership, the opinion of those "
+"maintainers is sought. However, it is frequently this committer that "
+"recommends the developer."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:691
+msgid ""
+"When a contributor is given committer status, they are assigned a mentor. "
+"The committer who recommended the new committer will, in the general case, "
+"take it upon themselves to be the new committers mentor."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:699
+msgid ""
+"When a contributor is given their commit bit, a crossref:dev-model[tool-pgp, "
+"Pretty Good Privacy]-signed email is sent from either crossref:dev-"
+"model[role-core-secretary, Core Secretary], crossref:dev-model[role-ports-"
+"manager, Ports Manager], or nik@freebsd.org to both admins@freebsd.org, the "
+"assigned mentor, the new committer, and core confirming the approval of a "
+"new account. The mentor then gathers a password line, crossref:dev-"
+"model[tool-ssh2, Secure Shell] public key, and PGP key from the new "
+"committer and sends them to crossref:dev-model[role-admin, Admin]. When the "
+"new account is created, the mentor activates the commit bit and guides the "
+"new committer through the rest of the initial process."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:700
+#, no-wrap
+msgid "Process summary: adding a new committer"
+msgstr ""
+
+#. type: Positional ($1) AttributeList argument for macro 'image'
+#: documentation/content/en/books/dev-model/_index.adoc:701
+#: documentation/content/en/books/dev-model/_index.adoc:717
+#: documentation/content/en/books/dev-model/_index.adoc:764
+#: documentation/content/en/books/dev-model/_index.adoc:816
+#: documentation/content/en/books/dev-model/_index.adoc:943
+#, no-wrap
+msgid "Refer to paragraph below for a screen-reader friendly version."
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:701
+#, no-wrap
+msgid "proc-add-committer.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:708
+msgid ""
+"When a contributor sends a piece of code, the receiving committer may choose "
+"to recommend that the contributor is given commit privileges. If they "
+"recommend this to core, core will vote on this recommendation. If the vote "
+"is in favour, a mentor is assigned the new committer and the new committer "
+"has to email their details to the administrators for an account to be "
+"created. After this, the new committer is all set to make their first "
+"commit. By tradition, this is by adding their name to the committers list."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:711
+msgid ""
+"Recall that a committer is considered to be someone who has committed code "
+"during the past 12 months. However, it is not until after 18 months of "
+"inactivity have passed that commit privileges are eligible to be revoked."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:715
+msgid ""
+"There are, however, no automatic procedures for doing this. For reactions "
+"concerning commit privileges not triggered by time, see crossref:dev-"
+"model[process-reactions,section 1.5.8]."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:716
+#, no-wrap
+msgid "Process summary: removing a committer"
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:717
+#, no-wrap
+msgid "proc-rm-committer.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:721
+msgid ""
+"When Core decides to clean up the committers list, they check who has not "
+"made a commit for the past 18 months. Committers who have not done so have "
+"their commit bits revoked and their account removed by the administrators."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:724
+msgid ""
+"It is also possible for committers to request that their commit bit be "
+"retired if for some reason they are no longer going to be actively "
+"committing to the project. In this case, it can also be restored at a later "
+"time by core, should the committer ask."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:726
+msgid "Roles in this process:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:728
+#: documentation/content/en/books/dev-model/_index.adoc:825
+#: documentation/content/en/books/dev-model/_index.adoc:985
+msgid "crossref:dev-model[role-core, Core Team]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:729
+#: documentation/content/en/books/dev-model/_index.adoc:783
+msgid "crossref:dev-model[role-contributor, Contributor]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:730
+#: documentation/content/en/books/dev-model/_index.adoc:782
+#: documentation/content/en/books/dev-model/_index.adoc:826
+#: documentation/content/en/books/dev-model/_index.adoc:986
+msgid "crossref:dev-model[role-committer, Committer]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:731
+#: documentation/content/en/books/dev-model/_index.adoc:954
+msgid "crossref:dev-model[role-maintainer, Maintainership]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:732
+msgid "crossref:dev-model[role-mentor, Mentor]"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:738
+#, no-wrap
+msgid "Committing code"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:744
+msgid ""
+"The committing of new or modified code is one of the most frequent processes "
+"in the FreeBSD project and will usually happen many times a day. Committing "
+"of code can only be done by a \"committer\". Committers commit either code "
+"written by themselves, code submitted to them, or code submitted through a "
+"crossref:dev-model[model-pr,problem report]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:750
+msgid ""
+"When code is written by the developer that is non-trivial, they should seek "
+"a code review from the community. This is done by sending mail to the "
+"relevant list asking for review. Before submitting the code for review, "
+"they should ensure it compiles correctly with the entire tree and that all "
+"relevant tests run. This is called \"pre-commit test\". When contributed "
+"code is received, it should be reviewed by the committer and tested the same "
+"way."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:754
+msgid ""
+"When a change is committed to a part of the source that has been contributed "
+"from an outside crossref:dev-model[role-vendor, Vendor], the maintainer "
+"should ensure that the patch is contributed back to the vendor. This is in "
+"line with the open source philosophy and makes it easier to stay in sync "
+"with outside projects as the patches do not have to be reapplied every time "
+"a new release is made."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:759
+msgid ""
+"After the code has been available for review and no further changes are "
+"necessary, the code is committed into the development branch, -CURRENT. If "
+"the change applies for the -STABLE branch or the other branches as well, a "
+"\"Merge From Current\" (\"MFC\") countdown is set by the committer. After "
+"the number of days the committer chose when setting the MFC have passed, an "
+"email will automatically be sent to the committer reminding them to commit "
+"it to the -STABLE branch (and possibly security branches as well). Only "
+"security critical changes should be merged to security branches."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:762
+msgid ""
+"Delaying the commit to -STABLE and other branches allows for \"parallel "
+"debugging\" where the committed code is tested on a wide range of "
+"configurations. This makes changes to -STABLE to contain fewer faults and "
+"thus giving the branch its name."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:763
+#, no-wrap
+msgid "Process summary: A committer commits code"
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:764
+#, no-wrap
+msgid "proc-commit.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:772
+msgid ""
+"When a committer has written a piece of code and wants to commit it, they "
+"first need to determine if it is trivial enough to go in without prior "
+"review or if it should first be reviewed by the developer community. If the "
+"code is trivial or has been reviewed and the committer is not the "
+"maintainer, they should consult the maintainer before proceeding. If the "
+"code is contributed by an outside vendor, the maintainer should create a "
+"patch that is sent back to the vendor. The code is then committed and then "
+"deployed by the users. Should they find problems with the code, this will "
+"be reported and the committer can go back to writing a patch. If a vendor "
+"is affected, they can choose to implement or ignore the patch."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:773
+#, no-wrap
+msgid "Process summary: A contributor commits code"
+msgstr ""
+
+#. type: Positional ($1) AttributeList argument for macro 'image'
+#: documentation/content/en/books/dev-model/_index.adoc:774
+#, no-wrap
+msgid "Refer to paragraphs below and above for a screen-reader friendly version."
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:774
+#, no-wrap
+msgid "proc-contrib.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:778
+msgid ""
+"The difference when a contributor makes a code contribution is that they "
+"submit the code through the Bugzilla interface. This report is picked up by "
+"the maintainer who reviews the code and commits it."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:780
+msgid "Hats included in this process are:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:784
+msgid "crossref:dev-model[role-vendor, Vendor]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:785
+msgid "crossref:dev-model[role-reviewer, Reviewers]"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:790
+#, no-wrap
+msgid "Core election"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:795
+msgid ""
+"Core elections are held at least every two years. footnote:[The first Core "
+"election was held September 2000] Nine core members are elected. New "
+"elections are held if the number of core members drops below seven. New "
+"elections can also be held should at least 1/3 of the active committers "
+"demand this."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:797
+msgid ""
+"When an election is to take place, core announces this at least 6 weeks in "
+"advance, and appoints an election manager to run the elections."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:802
+msgid ""
+"Only committers can be elected into core. The candidates need to submit "
+"their candidacy at least one week before the election starts, but can refine "
+"their statements until the voting starts. They are presented in the http://"
+"election.uk.freebsd.org/candidates.html[candidates list]. When writing "
+"their election statements, the candidates must answer a few standard "
+"questions submitted by the election manager."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:805
+msgid ""
+"During elections, the rule that a committer must have committed during the "
+"12 past months is followed strictly. Only these committers are eligible to "
+"vote."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:808
+msgid ""
+"When voting, the committer may vote once in support of up to nine nominees. "
+"The voting is done over a period of four weeks with reminders being posted "
+"on \"developers\" mailing list that is available to all committers."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:810
+msgid ""
+"The election results are released one week after the election ends, and the "
+"new core team takes office one week after the results have been posted."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:812
+msgid ""
+"Should there be a voting tie, this will be resolved by the new, "
+"unambiguously elected core members."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:814
+msgid ""
+"Votes and candidate statements are archived, but the archives are not "
+"publicly available."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:815
+#, no-wrap
+msgid "Process summary: Core elections"
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:816
+#, no-wrap
+msgid "proc-elections.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:821
+msgid ""
+"Core announces the election and selects an election manager who prepares the "
+"elections, and when ready, candidates can announce their candidacies through "
+"submitting their statements. The committers then vote. After the vote is "
+"over, the election results are announced and the new core team takes office."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:823
+msgid "Hats in core elections are:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:827
+msgid "crossref:dev-model[role-election-manager, Election Manager]"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:833
+#, no-wrap
+msgid "Development of new features"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:841
+msgid ""
+"Within the project there are sub-projects that are working on new features. "
+"These projects are generally done by one person [crossref:dev-"
+"model[jorgensen2001, Jørgensen, 2001]]. Every project is free to organise "
+"development as it sees fit. However, when the project is merged to the "
+"-CURRENT branch it must follow the project guidelines. When the code has "
+"been well tested in the -CURRENT branch and deemed stable enough and "
+"relevant to the -STABLE branch, it is merged to the -STABLE branch."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:848
+msgid ""
+"The requirements of the project are given by developer wishes, requests from "
+"the community in terms of direct requests by mail, Problem Reports, "
+"commercial funding for the development of features, or contributions by the "
+"scientific community. The wishes that come within the responsibility of a "
+"developer are given to that developer who prioritises their time between the "
+"request and their wishes. A common way to do this is maintain a TODO-list "
+"maintained by the project. Items that do not come within someone's "
+"responsibility are collected on TODO-lists unless someone volunteers to take "
+"the responsibility. All requests, their distribution and follow-up are "
+"handled by the crossref:dev-model[tool-bugzilla, Bugzilla] tool."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:853
+msgid ""
+"Requirements analysis happens in two ways. The requests that come in are "
+"discussed on mailing lists, both within the main project and in the sub-"
+"project that the request belongs to or is spawned by the request. "
+"Furthermore, individual developers on the sub-project will evaluate the "
+"feasibility of the requests and determine the prioritisation between them. "
+"Other than archives of the discussions that have taken place, no outcome is "
+"created by this phase that is merged into the main project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:856
+msgid ""
+"As the requests are prioritised by the individual developers on the basis of "
+"doing what they find interesting, necessary, or are funded to do, there is "
+"no overall strategy or prioritisation of what requests to regard as "
+"requirements and following up their correct implementation. However, most "
+"developers have some shared vision of what issues are more important, and "
+"they can ask for guidelines from the release engineering team."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:863
+msgid ""
+"The verification phase of the project is two-fold. Before committing code "
+"to the current-branch, developers request their code to be reviewed by their "
+"peers. This review is for the most part done by functional testing, but "
+"also code review is important. When the code is committed to the branch, a "
+"broader functional testing will happen, that may trigger further code review "
+"and debugging should the code not behave as expected. This second "
+"verification form may be regarded as structural verification. Although the "
+"sub-projects themselves may write formal tests such as unit tests, these are "
+"usually not collected by the main project and are usually removed before the "
+"code is committed to the current branch. footnote:[More and more tests are "
+"however performed when building the system (make world). These tests are "
+"however a very new addition and no systematic framework for these tests have "
+"yet been created.]"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:865
+#, no-wrap
+msgid "Maintenance"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:872
+msgid ""
+"It is an advantage to the project to for each area of the source have at "
+"least one person that knows this area well. Some parts of the code have "
+"designated maintainers. Others have de-facto maintainers, and some parts of "
+"the system do not have maintainers. The maintainer is usually a person from "
+"the sub-project that wrote and integrated the code, or someone who has "
+"ported it from the platform it was written for. footnote:[sendmail and "
+"named are examples of code that has been merged from other platforms.] The "
+"maintainer's job is to make sure the code is in sync with the project the "
+"code comes from if it is contributed code, and apply patches submitted by "
+"the community or write fixes to issues that are discovered."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:875
+msgid ""
+"The main bulk of work that is put into the FreeBSD project is maintenance. "
+"[crossref:dev-model[jorgensen2001, Jørgensen, 2001]] has made a figure "
+"showing the life cycle of changes."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:913
+msgid ""
+"Here \"development release\" refers to the -CURRENT branch while "
+"\"production release\" refers to the -STABLE branch. The \"pre-commit "
+"test\" is the functional testing by peer developers when asked to do so or "
+"trying out the code to determine the status of the sub-project. \"Parallel "
+"debugging\" is the functional testing that can trigger more review, and "
+"debugging when the code is included in the -CURRENT branch."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:920
+msgid ""
+"As of this writing, there were 269 committers in the project. When they "
+"commit a change to a branch, that constitutes a new release. It is very "
+"common for users in the community to track a particular branch. The "
+"immediate existence of a new release makes the changes widely available "
+"right away and allows for rapid feedback from the community. This also "
+"gives the community the response time they expect on issues that are of "
+"importance to them. This makes the community more engaged, and thus allows "
+"for more and better feedback that again spurs more maintenance and "
+"ultimately should create a better product."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:922
+msgid ""
+"Before making changes to code in parts of the tree that has a history "
+"unknown to the committer, the committer is required to read the commit logs "
+"to see why certain features are implemented the way they are in order not to "
+"make mistakes that have previously either been thought through or resolved."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:924
+#, no-wrap
+msgid "Problem reporting"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:929
+msgid ""
+"Before FreeBSD 10, FreeBSD included a problem reporting tool called `send-"
+"pr`. Problems include bug reports, feature requests, feature enhancements "
+"and notices of new versions of external software that are included in the "
+"project. Although `send-pr` is available, users and developers are "
+"encouraged to submit issues using our https://bugs.freebsd.org/submit/"
+"[ problem report form]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:941
+msgid ""
+"Problem reports are sent to an email address where it is inserted into the "
+"Problem Reports maintenance database. A crossref:dev-model[role-bugbuster, "
+"Bugbuster] classifies the problem and sends it to the correct group or "
+"maintainer within the project. After someone has taken responsibility for "
+"the report, the report is being analysed. This analysis includes verifying "
+"the problem and thinking out a solution for the problem. Often feedback is "
+"required from the report originator or even from the FreeBSD community. "
+"Once a patch for the problem is made, the originator may be asked to try it "
+"out. Finally, the working patch is integrated into the project, and "
+"documented if applicable. It there goes through the regular maintenance "
+"cycle as described in section crossref:dev-model[model-maintenance, "
+"Maintenance]. These are the states a problem report can be in: open, "
+"analyzed, feedback, patched, suspended and closed. The suspended state is "
+"for when further progress is not possible due to the lack of information or "
+"for when the task would require so much work that nobody is working on it at "
+"the moment."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:942
+#, no-wrap
+msgid "Process summary: problem reporting"
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:943
+#, no-wrap
+msgid "proc-pr.png"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:949
+msgid ""
+"A problem is reported by the report originator. It is then classified by a "
+"bugbuster and handed to the correct maintainer. They verify the problem and "
+"discuss the problem with the originator until they have enough information "
+"to create a working patch. This patch is then committed and the problem "
+"report is closed."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:951
+msgid "The roles included in this process are:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:953
+msgid "crossref:dev-model[role-problem-originator, Report originator]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:955
+msgid "crossref:dev-model[role-bugbuster, Bugbuster]"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:957
+msgid "[crossref:dev-model[freebsd-handle-pr, FreeBSD, 2002C]]."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:960
+#, no-wrap
+msgid "Reacting to misbehavior"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:966
+msgid ""
+"[crossref:dev-model[freebsd-committer, FreeBSD, 2001]] has a number of rules "
+"that committers should follow. However, it happens that these rules are "
+"broken. The following rules exist in order to be able to react to "
+"misbehavior. They specify what actions will result in how long a suspension "
+"of the committer's commit privileges."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:968
+msgid ""
+"Committing during code freezes without the approval of the Release "
+"Engineering team - 2 days"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:969
+msgid "Committing to a security branch without approval - 2 days"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:970
+msgid "Commit wars - 5 days to all participating parties"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:971
+msgid "Impolite or inappropriate behavior - 5 days"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:978
+msgid ""
+"For the suspensions to be efficient, any single core member can implement a "
+"suspension before discussing it on the \"core\" mailing list. Repeat "
+"offenders can, with a 2/3 vote by core, receive harsher penalties, including "
+"permanent removal of commit privileges. (However, the latter is always "
+"viewed as a last resort, due to its inherent tendency to create "
+"controversy.) All suspensions are posted to the \"developers\" mailing "
+"list, a list available to committers only."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:981
+msgid ""
+"It is important that you cannot be suspended for making technical errors. "
+"All penalties come from breaking social etiquette."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:983
+msgid "Hats involved in this process:"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:988
+#, no-wrap
+msgid "Release engineering"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:994
+msgid ""
+"The FreeBSD project has a Release Engineering team with a principal release "
+"engineer that is responsible for creating releases of FreeBSD that can be "
+"brought out to the user community via the net or sold in retail outlets. "
+"Since FreeBSD is available on multiple platforms and releases for the "
+"different architectures are made available at the same time, the team has "
+"one person in charge of each architecture. Also, there are roles in the "
+"team responsible for coordinating quality assurance efforts, building a "
+"package set and for having an updated set of documents. When referring to "
+"the release engineer, a representative for the release engineering team is "
+"meant."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1001
+msgid ""
+"When a release is coming, the FreeBSD project changes shape somewhat. A "
+"release schedule is made containing feature- and code-freezes, release of "
+"interim releases and the final release. A feature-freeze means no new "
+"features are allowed to be committed to the branch without the release "
+"engineers' explicit consent. Code-freeze means no changes to the code (like "
+"bugs-fixes) are allowed to be committed without the release engineers' "
+"explicit consent. This feature- and code-freeze is known as stabilising. "
+"During the release process, the release engineer has the full authority to "
+"revert to older versions of code and thus \"back out\" changes should they "
+"find that the changes are not suitable to be included in the release."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1003
+msgid "There are three different kinds of releases:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1005
+msgid ""
+".0 releases are the first release of a major version. These are branched of "
+"the -CURRENT branch and have a significantly longer release engineering "
+"cycle due to the unstable nature of the -CURRENT branch"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1006
+msgid ""
+".X releases are releases of the -STABLE branch. They are scheduled to come "
+"out every 4 months."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1007
+msgid ""
+".X.Y releases are security releases that follow the .X branch. These come "
+"out only when sufficient security fixes have been merged since the last "
+"release on that branch. New features are rarely included, and the security "
+"team is far more involved in these than in regular releases."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1017
+msgid ""
+"For releases of the -STABLE-branch, the release process starts 45 days "
+"before the anticipated release date. During the first phase, the first 15 "
+"days, the developers merge what changes they have had in -CURRENT that they "
+"want to have in the release to the release branch. When this period is "
+"over, the code enters a 15 day code freeze in which only bug fixes, "
+"documentation updates, security-related fixes and minor device driver "
+"changes are allowed. These changes must be approved by the release engineer "
+"in advance. At the beginning of the last 15 day period a release candidate "
+"is created for widespread testing. Updates are less likely to be allowed "
+"during this period, except for important bug fixes and security updates. In "
+"this final period, all releases are considered release candidates. At the "
+"end of the release process, a release is created with the new version "
+"number, including binary distributions on web sites and the creation of CD-"
+"ROM images. However, the release is not considered \"really released\" "
+"until a crossref:dev-model[tool-pgp, Pretty Good Privacy]-signed message "
+"stating exactly that, is sent to the mailing list freebsd-announce; anything "
+"labelled as a \"release\" before that may well be in-process and subject to "
+"change before the PGP-signed message is sent. footnote:[Many commercial "
+"vendors use these images to create CD-ROMs that are sold in retail outlets.]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1026
+msgid ""
+"The releases of the -CURRENT-branch (that is, all releases that end with "
+"\".0\") are very similar, but with twice as long timeframe. It starts 8 "
+"weeks prior to the release with announcement of the release time line. Two "
+"weeks into the release process, the feature freeze is initiated and "
+"performance tweaks should be kept to a minimum. Four weeks prior to the "
+"release, an official beta version is made available. Two weeks prior to "
+"release, the code is officially branched into a new version. This version "
+"is given release candidate status, and as with the release engineering of "
+"-STABLE, the code freeze of the release candidate is hardened. However, "
+"development on the main development branch can continue. Other than these "
+"differences, the release engineering processes are alike."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1030
+#, no-wrap
+msgid ""
+"*.0 releases go into their own branch and are aimed mainly at early adopters.\n"
+"The branch then goes through a period of stabilisation, and it is not until the\n"
+"crossref:dev-model[role-releng, Release Engineering Team] decides the demands to stability have been satisfied that the branch becomes -STABLE and -CURRENT targets the next major version. While this for the majority has been with *.1 versions, this is not a demand.\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1035
+msgid ""
+"Most releases are made when a given date that has been deemed a long enough "
+"time since the previous release comes. A target is set for having major "
+"releases every 18 months and minor releases every 4 months. The user "
+"community has made it very clear that security and stability cannot be "
+"sacrificed by self-imposed deadlines and target release dates. For slips of "
+"time not to become too long with regards to security and stability issues, "
+"extra discipline is required when committing changes to -STABLE."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1037
+msgid "Make release schedule"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1038
+msgid "Feature freeze"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1039
+msgid "Code freeze"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1040
+msgid "Make branch"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1041
+msgid "Release candidate"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1042
+msgid ""
+"Stabilize release (loop back to previous step as many times as necessary; "
+"when release is considered stable, proceed with next step)"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1043
+msgid "Build packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1044
+msgid "Warn mirrors"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1045
+msgid "Publish release"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:1051
+#, no-wrap
+msgid "Tools"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1055
+msgid ""
+"The major support tools for supporting the development process are Bugzilla, "
+"Mailman, and OpenSSH. These are externally developed tools and are commonly "
+"used in the open source world."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1057
+#, no-wrap
+msgid "Git"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1061
+msgid ""
+"Git is a system to handle multiple versions of text files and tracking who "
+"committed what changes and why. A project lives within a \"repository\" and "
+"different versions are considered different \"branches\"."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1063
+#, no-wrap
+msgid "Bugzilla"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1069
+msgid ""
+"Bugzilla is a maintenance database consisting of a set of tools to track "
+"bugs at a central site. It supports the bug tracking process for sending "
+"and handling bugs as well as querying and updating the database and editing "
+"bug reports. The project uses its web interface to send \"Problem Reports\" "
+"to the project's central Bugzilla server. The committers also have web and "
+"command-line clients."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1071
+#, no-wrap
+msgid "Mailman"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1079
+msgid ""
+"Mailman is a program that automates the management of mailing lists. The "
+"FreeBSD Project uses it to run 16 general lists, 60 technical lists, 4 "
+"limited lists and 5 lists with Git commit logs. It is also used for many "
+"mailing lists set up and used by other people and projects in the FreeBSD "
+"community. General lists are lists for the general public, technical lists "
+"are mainly for the development of specific areas of interest, and closed "
+"lists are for internal communication not intended for the general public. "
+"The majority of all the communication in the project goes through these 85 "
+"lists [crossref:dev-model[ref-bsd-handbook, FreeBSD, 2003A], Appendix C]."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1081
+#, no-wrap
+msgid "Pretty Good Privacy"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1086
+msgid ""
+"Pretty Good Privacy, better known as PGP, is a cryptosystem using a public "
+"key architecture to allow people to digitally sign and/or encrypt "
+"information in order to ensure secure communication between two parties. A "
+"signature is used when sending information out to many recipients, enabling "
+"them to verify that the information has not been tampered with before they "
+"received it. In the FreeBSD Project this is the primary means of ensuring "
+"that information has been written by the person who claims to have written "
+"it, and not altered in transit."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1088
+#, no-wrap
+msgid "Secure Shell"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1095
+msgid ""
+"Secure Shell is a standard for securely logging into a remote system and for "
+"executing commands on the remote system. It allows other connections, "
+"called tunnels, to be established and protected between the two involved "
+"systems. This standard exists in two primary versions, and only version two "
+"is used for the FreeBSD Project. The most common implementation of the "
+"standard is OpenSSH that is a part of the project's main distribution. "
+"Since its source is updated more often than FreeBSD releases, the latest "
+"version is also available in the ports tree."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:1097
+#, no-wrap
+msgid "Sub-projects"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1100
+msgid ""
+"Sub-projects are formed to reduce the amount of communication needed to "
+"coordinate the group of developers. When a problem area is sufficiently "
+"isolated, most communication would be within the group focusing on the "
+"problem, requiring less communication with the groups they communicate with "
+"than were the group not isolated."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1102
+#, no-wrap
+msgid "The Ports Subproject"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1106
+msgid ""
+"A \"port\" is a set of meta-data and patches that are needed to fetch, "
+"compile and install correctly an external piece of software on a FreeBSD "
+"system. The amount of ports has grown at a tremendous rate, as shown by the "
+"following figure."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/dev-model/_index.adoc:1107
+#, no-wrap
+msgid "Number of ports added between 1995 and 2022"
+msgstr ""
+
+#. type: Target for macro image
+#: documentation/content/en/books/dev-model/_index.adoc:1109
+#, no-wrap
+msgid "portsstatus.svg"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1113
+msgid ""
+"crossref:dev-model[fig-ports,image::portsstatus.svg] shows the number of "
+"ports available to FreeBSD in the period 1995 to 2022. It looks like the "
+"curve has first grown exponentially, and then from the middle of 2001 to the "
+"middle of 2007 grown linearly at a rate of about 2000 ports/year, before its "
+"growth rate gets lower."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1116
+msgid ""
+"As the external software described by the port often is under continued "
+"development, the amount of work required to maintain the ports is already "
+"large, and increasing. This has led to the ports part of the FreeBSD "
+"project gaining a more empowered structure, and is more and more becoming a "
+"sub-project of the FreeBSD project."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1119
+msgid ""
+"Ports has its own core team with the crossref:dev-model[role-ports-manager, "
+"Ports Manager] as its leader, and this team can appoint committers without "
+"FreeBSD Core's approval. Unlike in the FreeBSD Project, where a lot of "
+"maintenance frequently is rewarded with a commit bit, the ports sub-project "
+"contains many active maintainers that are not committers."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1123
+msgid ""
+"Unlike the main project, the ports tree is not branched. Every release of "
+"FreeBSD follows the current ports collection and has thus available updated "
+"information on where to find programs and how to build them. This, however, "
+"means that a port that makes dependencies on the system may need to have "
+"variations depending on what version of FreeBSD it runs on."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1126
+msgid ""
+"With an unbranched ports repository it is not possible to guarantee that any "
+"port will run on anything other than -CURRENT and -STABLE, in particular "
+"older, minor releases. There is neither the infrastructure nor volunteer "
+"time needed to guarantee this."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1128
+msgid ""
+"For efficiency of communication, teams depending on Ports, such as the "
+"release engineering team, have their own ports liaisons."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/dev-model/_index.adoc:1130
+#, no-wrap
+msgid "The FreeBSD Documentation Project"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1135
+msgid ""
+"The FreeBSD Documentation project was started January 1995. From the "
+"initial group of a project leader, four team leaders and 16 members, they "
+"are now a total of 44 committers. The documentation mailing list has just "
+"under 300 members, indicating that there is quite a large community around "
+"it."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1137
+msgid ""
+"The goal of the Documentation project is to provide good and useful "
+"documentation of the FreeBSD project, thus making it easier for new users to "
+"get familiar with the system and detailing advanced features for the users."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1139
+msgid ""
+"The main tasks in the Documentation project are to work on current projects "
+"in the \"FreeBSD Documentation Set\", and translate the documentation to "
+"other languages."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1143
+msgid ""
+"Like the FreeBSD Project, documentation is split in the same branches. This "
+"is done so that there is always an updated version of the documentation for "
+"each version. Only documentation errors are corrected in the security "
+"branches."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1147
+msgid ""
+"Like the ports sub-project, the Documentation project can appoint "
+"documentation committers without FreeBSD Core's approval. [crossref:dev-"
+"model[freebsd-doceng-charter, FreeBSD, 2003B]]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1150
+msgid ""
+"The Documentation project has extref:{fdp-primer}[a primer]. This is used "
+"both to introduce new project members to the standard tools and syntaxes and "
+"to act as a reference when working on the project."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/dev-model/_index.adoc:1155
+#, no-wrap
+msgid "References"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1159
+msgid ""
+"[Brooks, 1995] Frederick P. Brooks. Copyright © 1975, 1995 Pearson Education "
+"Limited. 0201835959. Addison-Wesley Pub Co. The Mythical Man-Month. Essays "
+"on Software Engineering, Anniversary Edition (2nd Edition)."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1162
+msgid ""
+"[Saers, 2003] Niklas Saers. Copyright © 2003. A project model for the "
+"FreeBSD Project. Candidatus Scientiarum thesis. http://niklas.saers.com/"
+"thesis."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1165
+msgid ""
+"[Jørgensen, 2001] Niels Jørgensen. Copyright © 2001. Putting it All in the "
+"Trunk. Incremental Software Development in the FreeBSD Open Source Project. "
+"http://www.dat.ruc.dk/~nielsj/research/papers/freebsd.pdf."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1168
+msgid ""
+"[PMI, 2000] Project Management Institute. Copyright © 1996, 2000 Project "
+"Management Institute. 1-880410-23-0. Project Management Institute. Newtown "
+"Square Pennsylvania USA . PMBOK Guide. A Guide to the Project Management "
+"Body of Knowledge, 2000 Edition."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1171
+msgid ""
+"[FreeBSD, 2000A] Copyright © 2002 The FreeBSD Project. Core Bylaws. https://"
+"www.freebsd.org/internal/bylaws/."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1174
+msgid ""
+"[FreeBSD, 2002A] Copyright © 2002 The FreeBSD Documentation Project. FreeBSD "
+"Developer's Handbook. extref:{developers-handbook}[Developers Handbook]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1177
+msgid ""
+"[FreeBSD, 2002B] Copyright © 2002 The FreeBSD Project. Core team election "
+"2002. http://election.uk.freebsd.org/candidates.html."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1180
+msgid ""
+"[FreeBSD, 2002C] Dag-Erling Smørgrav and Hiten Pandya. Copyright © 2002 The "
+"FreeBSD Documentation Project. The FreeBSD Documentation Project. Problem "
+"Report Handling Guidelines. extref:{pr-guidelines}[Problem Report Handling "
+"Guidelines]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1183
+msgid ""
+"[FreeBSD, 2002D] Dag-Erling Smørgrav. Copyright © 2002 The FreeBSD "
+"Documentation Project. The FreeBSD Documentation Project. Writing FreeBSD "
+"Problem Reports. extref:{problem-reports}[Writing FreeBSD Problem Reports]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1186
+msgid ""
+"[FreeBSD, 2001] Copyright © 2001 The FreeBSD Documentation Project. The "
+"FreeBSD Documentation Project. Committers Guide. extref:{committers-guide}"
+"[Committer's Guide]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1189
+msgid ""
+"[FreeBSD, 2002E] Murray Stokely. Copyright © 2002 The FreeBSD Documentation "
+"Project. The FreeBSD Documentation Project. FreeBSD Release Engineering. "
+"extref:{releng}[FreeBSD Release Engineering]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1192
+msgid ""
+"[FreeBSD, 2003A] The FreeBSD Documentation Project. FreeBSD Handbook. extref:"
+"{handbook}[FreeBSD Handbook]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1195
+msgid ""
+"[FreeBSD, 2002F] Copyright © 2002 The FreeBSD Documentation Project. The "
+"FreeBSD Documentation Project. Contributors to FreeBSD. extref:{contributors}"
+"[Contributors to FreeBSD]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1198
+msgid ""
+"[FreeBSD, 2002G] Copyright © 2002 The FreeBSD Project. The FreeBSD Project. "
+"Core team elections 2002. http://election.uk.freebsd.org."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1201
+msgid ""
+"[FreeBSD, 2002H] Copyright © 2002 The FreeBSD Project. The FreeBSD Project. "
+"Commit Bit Expiration Policy. 2002/04/06 15:35:30. https://www.freebsd.org/"
+"internal/expire-bits/."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1204
+msgid ""
+"[FreeBSD, 2002I] Copyright © 2002 The FreeBSD Project. The FreeBSD Project. "
+"New Account Creation Procedure. 2002/08/19 17:11:27. https://www.freebsd.org/"
+"internal/new-account/."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1207
+msgid ""
+"[FreeBSD, 2003B] Copyright © 2002 The FreeBSD Documentation Project. The "
+"FreeBSD Documentation Project. FreeBSD DocEng Team Charter. 2003/03/16 "
+"12:17. https://www.freebsd.org/internal/doceng/."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/dev-model/_index.adoc:1209
+msgid ""
+"[Lehey, 2002] Greg Lehey. Copyright © 2002 Greg Lehey. Greg Lehey. Two years "
+"in the trenches. The evolution of a software project. http://www.lemis.com/"
+"grog/In-the-trenches.pdf."
+msgstr ""