diff options
Diffstat (limited to 'documentation/content/en/books/dev-model/_index.po')
-rw-r--r-- | documentation/content/en/books/dev-model/_index.po | 2894 |
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 "" |