#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2019-03-17 16:31-0300\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Put one translator per line, in the form NAME , YEAR1, YEAR2 msgctxt "_" msgid "translator-credits" msgstr "" #. (itstool) path: info/title #: article.translate.xml:4 msgid "Building Products with FreeBSD" msgstr "" #. (itstool) path: affiliation/address #: article.translate.xml:9 #, no-wrap msgid "jkoshy@FreeBSD.org" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:7 msgid "" "JosephKoshy The FreeBSD Project <_:address-1/" "> " msgstr "" #. (itstool) path: legalnotice/para #: article.translate.xml:14 msgid "FreeBSD is a registered trademark of the FreeBSD Foundation." msgstr "" #. (itstool) path: legalnotice/para #: article.translate.xml:16 msgid "" "Many of the designations used by manufacturers and sellers to distinguish " "their products are claimed as trademarks. Where those designations appear in " "this document, and the FreeBSD Project was aware of the trademark claim, the " "designations have been followed by the or the ® symbol." msgstr "" #. (itstool) path: info/pubdate #. (itstool) path: info/releaseinfo #: article.translate.xml:24 article.translate.xml:26 msgid "$FreeBSD$" msgstr "" #. (itstool) path: abstract/title #: article.translate.xml:29 msgid "Abstract" msgstr "" #. (itstool) path: abstract/para #: article.translate.xml:31 msgid "" "The FreeBSD project is a worldwide, volunteer based, and collaborative " "project, which develops a portable and high-quality operating system. The " "FreeBSD project distributes the source code for its product under a liberal " "license, with the intention of encouraging the use of its code. " "Collaborating with the FreeBSD project can help organizations reduce their " "time to market, reduce engineering costs and improve their product quality." msgstr "" #. (itstool) path: abstract/para #: article.translate.xml:40 msgid "" "This article examines the issues in using FreeBSD code in appliances and " "software products. It highlights the characteristics of FreeBSD that make it " "an excellent substrate for product development. The article concludes by " "suggesting a few best practices for organizations " "collaborating with the FreeBSD project." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:50 msgid "Introduction" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:52 msgid "" "FreeBSD today is well-known as a high-performance server operating system. " "It is deployed on millions of web servers and internet-facing hosts " "worldwide. FreeBSD code also forms an integral part of many products, " "ranging from appliances such as network routers, firewalls, and storage " "devices, to personal computers. Portions of FreeBSD have also been used in " "commercial shrink-wrapped software (see )." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:61 msgid "" "In this article we look at the FreeBSD project as a software engineering resource—as a collection " "of building blocks and processes which you can use to build products." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:65 msgid "" "While FreeBSD's source is distributed freely to the public, to fully enjoy " "the benefits of the project's work, organizations need to " "collaborate with the project. In subsequent sections of " "this article we discuss effective means of collaboration with the project " "and the pitfalls that need to be avoided while doing so." msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:73 msgid "Caveat Reader" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:74 msgid "" "The author believes that the characteristics of the FreeBSD Project listed " "in this article were substantially true at the time the article was " "conceived and written (2005). However, the reader should keep in mind that " "the practices and processes used by open-source communities can change over " "time, and that the information in this article should therefore be taken as " "indicative rather than normative." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:84 msgid "Target Audience" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:85 msgid "" "This document would be of interest to the following broad groups of people:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:89 msgid "" "Decision makers in product companies looking at ways to improve their " "product quality, reduce their time to market and lower engineering costs in " "the long term." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:95 msgid "" "Technology consultants looking for best-practices in leveraging open-" "source." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:99 msgid "" "Industry observers interested in understanding the dynamics of open-source " "projects." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:103 msgid "" "Software developers seeking to use FreeBSD and looking for ways to " "contribute back." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:110 msgid "Article Goals" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:111 msgid "After reading this article you should have:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:114 msgid "" "An understanding of the goals of the FreeBSD Project and its organizational " "structure." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:118 msgid "" "An understanding of its development model and release engineering processes." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:122 msgid "" "An understanding of how conventional corporate software development " "processes differ from that used in the FreeBSD project." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:127 msgid "" "Awareness of the communication channels used by the project and the level of " "transparency you can expect." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:132 msgid "" "Awareness of optimal ways of working with the project—how best to reduce " "engineering costs, improve time to market, manage security vulnerabilities, " "and preserve future compatibility with your product as the FreeBSD project " "evolves." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:142 msgid "Article Structure" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:143 msgid "The rest of the article is structured as follows:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:146 msgid "" " introduces the FreeBSD project, explores " "its organizational structure, key technologies and release engineering " "processes." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:152 msgid "" " describes ways to collaborate with " "the FreeBSD project. It examines common pitfalls encountered by corporates " "working with voluntary projects like FreeBSD." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:158 msgid " concludes." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:165 msgid "FreeBSD as a set of building blocks" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:167 msgid "FreeBSD makes an excellent foundation on which to build products:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:172 msgid "" "FreeBSD source code is distributed under a liberal BSD license facilitating " "its adoption in commercial products Mon2005 with " "minimum hassle." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:177 msgid "" "The FreeBSD project has excellent engineering practices that can be " "leveraged." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:181 msgid "" "The project offers exceptional transparency into its workings, allowing " "organizations using its code to plan effectively for the future." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:186 msgid "" "The culture of the FreeBSD project, carried over from the Computer Science " "Research Group at The University of California, Berkeley McKu1999-" "1, fosters high-quality work. Some features in FreeBSD define the " "state of the art." msgstr "" #. (itstool) path: sect1/simpara #: article.translate.xml:194 msgid "" "GoldGab2005 examines the business reasons for using " "open-source in greater detail. For organizations, the benefits of using " "FreeBSD components in their products include a shorter time to market, lower " "development costs and lower development risks." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:201 msgid "Building with FreeBSD" msgstr "" #. (itstool) path: sect2/simpara #: article.translate.xml:203 msgid "Here are a few ways organizations have used FreeBSD:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:208 msgid "As an upstream source for tested code for libraries and utilities." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:210 msgid "" "By being downstream of the project, organizations leverage " "the new features, bug fixes and testing that the upstream code receives." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:215 msgid "" "As an embedded OS (for example, for an OEM router and firewall device). In " "this model, organizations use a customized FreeBSD kernel and application " "program set along with a proprietary management layer for their device. OEMs " "benefit from new hardware support being added by the FreeBSD project " "upstream, and from the testing that the base system receives." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:222 msgid "" "FreeBSD ships with a self-hosting development environment that allows easy " "creation of such configurations." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:227 msgid "" "As a Unix compatible environment for the management functions of high-end " "storage and networking devices, running on a separate processor " "blade." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:230 msgid "" "FreeBSD provides the tools for creating dedicated OS and application program " "images. Its implementation of a BSD unix API is mature and tested. FreeBSD " "can also provide a stable cross-development environment for the other " "components of the high-end device." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:237 msgid "" "As a vehicle to get widespread testing and support from a worldwide team of " "developers for non-critical intellectual property." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:240 msgid "" "In this model, organizations contribute useful infrastructural frameworks to " "the FreeBSD project (for example, see netgraph3). The widespread " "exposure that the code gets helps to quickly identify performance issues and " "bugs. The involvement of top-notch developers also leads to useful " "extensions to the infrastructure that the contributing organization also " "benefits from." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:251 msgid "" "As a development environment supporting cross-development for embedded OSes " "like RTEMS and eCOS." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:253 msgid "" "There are many full-fledged development environments in the 24,000-strong " "collection of applications ported and packaged with FreeBSD." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:259 msgid "" "As a way to support a Unix-like API in an otherwise proprietary OS, " "increasing its palatability for application developers." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:262 msgid "" "Here parts of FreeBSD's kernel and application programs are ported to run alongside other tasks in the proprietary OS. The availability " "of a stable and well tested Unix API implementation " "can reduce the effort needed to port popular applications to the proprietary " "OS. As FreeBSD ships with high-quality documentation for its internals and " "has effective vulnerability management and release engineering processes, " "the costs of keeping upto-date are kept low." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:277 msgid "Technologies" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:279 msgid "" "There are a large number of technologies supported by the FreeBSD project. A " "selection of these are listed below:" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:285 msgid "" "A complete system that can cross-host itself for many architectures:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:290 msgid "" "A modular symmetric multiprocessing capable kernel, with loadable kernel " "modules and a flexible and easy to use configuration system." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:295 msgid "" "Support for emulation of Linux and SVR4 binaries at " "near machine speeds. Support for binary Windows " "(NDIS) network drivers." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:302 msgid "" "Libraries for many programming tasks: archivers, FTP and HTTP support, " "thread support, in addition to a full POSIX like " "programming environment." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:308 msgid "" "Security features: Mandatory Access Control " "(mac9), jails (jail2), ACLs, and in-kernel cryptographic device support." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:314 msgid "" "Networking features: firewall-ing, QoS management, high-performance TCP/IP " "networking with support for many extensions." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:317 msgid "" "FreeBSD's in-kernel Netgraph (netgraph4) framework allows " "kernel networking modules to be connected together in flexible ways." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:322 msgid "" "Support for storage technologies: Fibre Channel, SCSI, " "software and hardware RAID, ATA and SATA." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:326 msgid "" "FreeBSD supports a number of filesystems, and its native UFS2 filesystem " "supports soft updates, snapshots and very large filesystem sizes (16TB per " "filesystem) McKu1999." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:330 msgid "" "FreeBSD's in-kernel GEOM " "(geom4) framework allows kernel storage modules to be composed in " "flexible ways." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:335 msgid "" "Over 24,000 ported applications, both commercial and open-source, managed " "via the FreeBSD ports collection." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:343 msgid "Organizational Structure" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:344 msgid "FreeBSD's organizational structure is non-hierarchical." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:347 msgid "" "There are essentially two kinds of contributors to FreeBSD, general users of " "FreeBSD, and developers with write access (known as committers in the jargon) to the source base." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:352 msgid "" "There are many thousands of contributors in the first group; the vast " "majority of contributions to FreeBSD come from individuals in this group. " "Commit rights (write access) to the repository are granted to individuals " "who contribute consistently to the project. Commit rights come with " "additional responsibilities, and new committers are assigned mentors to help " "them learn the ropes." msgstr "" #. (itstool) path: figure/title #: article.translate.xml:361 msgid "FreeBSD Organization" msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:364 msgctxt "_" msgid "external ref='freebsd-organization' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:369 msgid "" "Conflict resolution is performed by a nine member Core Team " "that is elected from the group of committers." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:373 msgid "" "FreeBSD does not have corporate committers. Individual " "committers are required to take responsibility for the changes they " "introduce to the code. The FreeBSD Committer's guide " "ComGuide documents the rules and responsibilities for " "committers." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:379 msgid "" "FreeBSD's project model is examined in detail in Nik2005." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:384 msgid "FreeBSD Release Engineering Processes" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:386 msgid "" "FreeBSD's release engineering processes play a major role in ensuring that " "its released versions are of a high quality. At any point of time, FreeBSD's " "volunteers support multiple code lines ():" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:393 msgid "" "New features and disruptive code enters on the development branch, also " "known as the -CURRENT branch." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:398 msgid "" "-STABLE branches are code lines that are branched " "from HEAD at regular intervals. Only tested code is allowed onto a -STABLE " "branch. New features are allowed once they have been tested and stabilized " "in the -CURRENT branch." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:405 msgid "" "-RELEASE branches are maintained by the FreeBSD " "security team. Only bug fixes for critical issues are permitted onto -" "RELEASE branches." msgstr "" #. (itstool) path: figure/title #: article.translate.xml:413 msgid "FreeBSD Release Branches" msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:416 msgctxt "_" msgid "external ref='freebsd-branches' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:421 msgid "" "Code lines are kept alive for as long as there is user and developer " "interest in them." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:424 msgid "" "Machine architectures are grouped into tiers; Tier " "1 architectures are fully supported by the project's release " "engineering and security teams, Tier 2 architectures " "are supported on a best effort basis, and experimental architectures " "comprise Tier 3. The list of supported architectures is part of the FreeBSD documentation " "collection." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:434 msgid "" "The release engineering team publishes a road map for future releases of FreeBSD " "on the project's web site. The dates laid down in the road map are not " "deadlines; FreeBSD is released when its code and documentation are ready." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:439 msgid "" "FreeBSD's release engineering processes are described in " "RelEngDoc." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:446 msgid "Collaborating with FreeBSD" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:448 msgid "" "Open-source projects like FreeBSD offer finished code of a very high quality " "Cov2005. Previous studies have examined the effect of " "source code availability on software development Com2004." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:453 msgid "" "While access to quality source code can reduce the cost of initial " "development, in the long-term the costs of managing change begin to dominate." " As computing environments change over the years and new security " "vulnerabilities are discovered, your product too needs to change and adapt. " "Using open-source code is best viewed not as a one-off activity, but as an " "ongoing process. The best projects to collaborate with " "are the ones that are live; i.e., with an active " "community, clear goals and a transparent working style." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:466 msgid "" "FreeBSD has an active developer community around it. At the time of writing " "there are many thousands of contributors from every populated continent in " "the world and over 300 individuals with write access to the project's source " "repositories." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:473 msgid "The goals of the FreeBSD project are Hub1994:" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:477 msgid "" "To develop a high-quality operating system for popular computer hardware, " "and," msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:481 msgid "To make our work available to all under a liberal license." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:487 msgid "" "FreeBSD enjoys an open and transparent working culture. Nearly all " "discussion in the project happens by email, on public mailing lists that are " "also archived for posterity. The project's policies are documented and " "maintained under revision control. Participation in the project is open to " "all." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:498 msgid "Understanding FreeBSD culture" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:500 msgid "" "To be able to work effectively with the FreeBSD project, you need to " "understand the project's culture." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:503 msgid "" "Volunteer driven projects operate under different rules than for-profit " "corporates. A common mistake that companies make when venturing into the " "open-source world is that of underplaying these differences." msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:511 msgid "Motivation" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:513 msgid "" "Most contributions to FreeBSD are done voluntarily without monetary rewards " "entering the picture. The factors that motivate individuals are complex, " "ranging from altruism, to an interest in solving the kinds of problems that " "FreeBSD attempts to solve. In this environment, elegance is never " "optional Nor1993." msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:523 msgid "The Long Term View" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:527 msgid "" "FreeBSD's source " "repository contains a history of the project since its inception, and " "there are CDROMs " "available that contain earlier code from the CSRG." msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:524 msgid "" "FreeBSD traces its roots back nearly twenty years to the work of the " "Computer Science Research Group at the University of California Berkeley.<_:" "footnote-1/> A number of the original CSRG developers remain associated with " "the project." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:536 msgid "" "The project values long-term perspectives Nor2001. A " "frequent acronym encountered in the project is DTRT, " "which stands for Do The Right Thing." msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:542 msgid "Development Processes" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:543 msgid "" "Computer programs are tools for communication: at one level programmers " "communicate their intentions using a precise notation to a tool (a compiler) " "that translates their instructions to executable code. At another level, the " "same notation is used for communication of intent between two programmers." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:551 msgid "" "Formal specifications and design documents are seldom used in the project. " "Clear and well-written code and well-written change logs () are used in their place. FreeBSD development happens " "by rough consensus and running code Carp1996." msgstr "" #. (itstool) path: figure/title #: article.translate.xml:559 msgid "A sample change log entry" msgstr "" #. (itstool) path: figure/programlisting #: article.translate.xml:560 #, no-wrap msgid "" "\n" "r151864 | bde | 2005-10-29 09:34:50 -0700 (Sat, 29 Oct 2005) | 13 lines\n" "Changed paths:\n" " M /head/lib/msun/src/e_rem_pio2f.c\n" "\n" "Use double precision to simplify and optimize arg reduction for small\n" "and medium size args too: instead of conditionally subtracting a float\n" "17+24, 17+17+24 or 17+17+17+24 bit approximation to pi/2, always\n" "subtract a double 33+53 bit one. The float version is now closer to\n" "the double version than to old versions of itself -- it uses the same\n" "33+53 bit approximation as the simplest cases in the double version,\n" "and where the float version had to switch to the slow general case at\n" "|x| == 2^7*pi/2, it now switches at |x| == 2^19*pi/2 the same as the\n" "double version.\n" "\n" "This speeds up arg reduction by a factor of 2 for |x| between 3*pi/4 and\n" "2^7*pi/4, and by a factor of 7 for |x| between 2^7*pi/4 and 2^19*pi/4.\n" " " msgstr "" #. (itstool) path: sect2/simpara #: article.translate.xml:580 msgid "" "Communication between programmers is enhanced by the use of a common coding " "standard style9." msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:584 msgid "Communication Channels" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:585 msgid "" "FreeBSD's contributors are spread across the world. Email (and to a lesser " "extent, IRC) is the preferred means of communication in the project." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:592 msgid "Best Practices for collaborating with the FreeBSD project" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:595 msgid "" "We now look at a few best practices for making the best use of FreeBSD in " "product development." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:600 msgid "Plan for the long term" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:602 msgid "" "Setup processes that help in tracking the development of FreeBSD. For " "example:" msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:605 msgid "Track FreeBSD source code" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:606 msgid "" "The project makes it easy to mirror its SVN repository using svnsync. Having the complete history of the source is useful " "when debugging complex problems and offers valuable insight into the " "intentions of the original developers. Use a capable source control system " "that allows you to easily merge changes between the upstream FreeBSD code " "base and your own in-house code." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:616 msgid "" " shows a portion of an annotated listing of " "the file referenced by the change log in . " "The ancestry of each line of the source is clearly visible. Annotated " "listings showing the history of every file that is part of FreeBSD are available on the web." msgstr "" #. (itstool) path: figure/title #: article.translate.xml:624 msgid "" "An annotated source listing generated using svn blame" msgstr "" #. (itstool) path: figure/programlisting #: article.translate.xml:625 #, no-wrap msgid "" "\n" "\n" "#REV #WHO #DATE #TEXT\n" "\n" "176410 bde 2008-02-19 07:42:46 -0800 (Tue, 19 Feb 2008) #include " "<sys/cdefs.h>\n" "176410 bde 2008-02-19 07:42:46 -0800 (Tue, 19 Feb 2008) " "__FBSDID(\"$FreeBSD$\");\n" " 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) \n" " 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) /* " "__ieee754_rem_pio2f(x,y)\n" " 8870 rgrimes 1995-05-29 22:51:47 -0700 (Mon, 29 May 1995) *\n" "176552 bde 2008-02-25 05:33:20 -0800 (Mon, 25 Feb 2008) * return the " "remainder of x rem pi/2 in *y\n" "176552 bde 2008-02-25 05:33:20 -0800 (Mon, 25 Feb 2008) * use double " "precision for everything except passing x\n" "152535 bde 2005-11-16 18:20:04 -0800 (Wed, 16 Nov 2005) * use " "__kernel_rem_pio2() for large x\n" " 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) */\n" " 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) \n" "176465 bde 2008-02-22 07:55:14 -0800 (Fri, 22 Feb 2008) #include " "<float.h>\n" "176465 bde 2008-02-22 07:55:14 -0800 (Fri, 22 Feb 2008) \n" " 2116 jkh 1994-08-19 02:40:01 -0700 (Fri, 19 Aug 1994) #include " "\"math.h\"\n" "\n" " " msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:647 msgid "Use a gatekeeper" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:648 msgid "" "Appoint a gatekeeper to monitor FreeBSD development, " "to keep an eye out for changes that could potentially impact your products." msgstr "" #. (itstool) path: formalpara/title #: article.translate.xml:654 msgid "Report bugs upstream" msgstr "" #. (itstool) path: formalpara/para #: article.translate.xml:655 msgid "" "If you notice bug in the FreeBSD code that you are using, file a bug report. " "This step helps ensure that you do not have to fix the bug the next time you " "take a code drop from upstream." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:665 msgid "Leverage FreeBSD's release engineering efforts" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:667 msgid "" "Use code from a -STABLE development branch of FreeBSD. These development " "branches are formally supported by FreeBSD's release engineering and " "security teams and comprise of tested code." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:676 msgid "Donate code to reduce costs" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:678 msgid "" "A major proportion of the costs associated with developing products is that " "of doing maintenance. By donating non-critical code to the project, you " "benefit by having your code see much wider exposure than it would otherwise " "get. This in turn leads to more bugs and security vulnerabilities being " "flushed out and performance anomalies being identified and fixed." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:690 msgid "Get support effectively" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:692 msgid "" "For products with tight deadlines, it is recommended that you hire or enter " "into a consulting agreement with a developer or firm with FreeBSD experience." " The FreeBSD related employment mailing list is a useful " "communication channel to find talent. The FreeBSD project maintains a gallery of " "consultants and consulting firms undertaking FreeBSD work. The BSD Certification Group offers certification for all the major BSD derived OSes." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:703 msgid "" "For less critical needs, you can ask for help on the project mailing lists. A " "useful guide to follow when asking for help is given in Ray2004." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:713 msgid "Publicize your involvement" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:715 msgid "" "You are not required to publicize your use of FreeBSD, but doing so helps " "both your effort as well as that of the project." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:718 msgid "" "Letting the FreeBSD community know that your company uses FreeBSD helps " "improve your chances of attracting high quality talent. A large roster of " "support for FreeBSD also means more mind share for it among developers. This " "in turn yields a healthier foundation for your future." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:728 msgid "Support FreeBSD developers" msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:730 msgid "" "Sometimes the most direct way to get a desired feature into FreeBSD is to " "support a developer who is already looking at a related problem. Help can " "range from hardware donations to direct financial assistance. In some " "countries, donations to the FreeBSD project enjoy tax benefits. The project " "has a dedicated donations " "liaison to assist donors. The project also maintains a web page where " "developers list their needs." msgstr "" #. (itstool) path: listitem/simpara #: article.translate.xml:740 msgid "" "As a policy the FreeBSD project acknowledges all " "contributions received on its web site." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:749 msgid "Conclusion" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:750 msgid "" "The FreeBSD project's goals are to create and give away the source code for " "a high-quality operating system. By working with the FreeBSD project you can " "reduce development costs and improve your time to market in a number of " "product development scenarios." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:755 msgid "" "We examined the characteristics of the FreeBSD project that make it an " "excellent choice for being part of an organization's product strategy. We " "then looked at the prevailing culture of the project and examined effective " "ways of interacting with its developers. The article concluded with a list " "of best-practices that could help organizations collaborating with the " "project." msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:766 msgid "Carp1996" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:767 msgid "" "The Architectural " "Principles of the Internet" msgstr "" #. (itstool) path: biblioentry/author #: article.translate.xml:769 msgid "" "B.Carpenter The Internet Architecture Board " "" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:772 msgid "1996" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:777 msgid "Com2004" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:778 msgid "" "How is Open-Source Affecting Software Development?" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:782 msgid "" "DiomidisSpinellis" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:783 msgid "" "ClemensSzyperski" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:785 msgid "IEEE Computer" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:786 msgid "Jan/Feb 2004" msgstr "" #. (itstool) path: publisher/publishername #: article.translate.xml:790 msgid "IEEE Computer Society" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:794 msgid "ComGuide" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:795 msgid "" "Committer's Guide" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:798 msgid "The FreeBSD Project" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:800 article.translate.xml:811 #: article.translate.xml:822 article.translate.xml:886 #: article.translate.xml:895 msgid "2005" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:805 msgid "Cov2005" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:806 msgid "" "Coverity study on kernel security holes in Linux and FreeBSD" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:809 msgid "Coverity Inc." msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:816 msgid "GoldGab2005" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:816 msgid "" "Innovation Happens " "Elsewhere: Open Source as Business Strategy" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:819 msgid "" "RonGoldman" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:820 msgid "" "RichardGabriel" msgstr "" #. (itstool) path: biblioentry/biblioid #: article.translate.xml:825 msgid "ISBN 1558608893" msgstr "" #. (itstool) path: publisher/publishername #: article.translate.xml:827 msgid "Morgan-Kaufmann" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:832 msgid "Hub1994" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:833 msgid "" "Contributing to the FreeBSD Project" msgstr "" #. (itstool) path: biblioentry/author #: article.translate.xml:835 msgid "" "JordanHubbard" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:836 msgid "1994—2005" msgstr "" #. (itstool) path: publisher/publishername #: article.translate.xml:840 article.translate.xml:884 #: article.translate.xml:899 article.translate.xml:943 msgid "The FreeBSD Project" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:844 msgid "McKu1999" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:845 msgid "" "Soft Updates: A Technique for Eliminating Most " "Synchronous Writes in the Fast Filesystem" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:849 msgid "" "KirkMcKusick" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:850 msgid "" "GregoryGanger" msgstr "" #. (itstool) path: confgroup/conftitle #: article.translate.xml:853 msgid "USENIX Annual Technical Conference" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:855 msgid "1999" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:860 msgid "McKu1999-1" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:861 msgid "" "Twenty Years of Berkeley Unix: From AT&T-Owned to Freely " "Redistributable" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:864 msgid "" "Marshall KirkMcKusick" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:866 msgid "" "Open Sources: Voices from the Open Source Revolution" msgstr "" #. (itstool) path: biblioentry/biblioid #: article.translate.xml:869 msgid "ISBN 1-56592-582-3" msgstr "" #. (itstool) path: publisher/publishername #: article.translate.xml:871 msgid "O'Reilly Inc." msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:873 article.translate.xml:910 msgid "1993" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:878 msgid "Mon2005" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:879 msgid "" "Why you should use a BSD style license for your Open Source " "Project" msgstr "" #. (itstool) path: biblioentry/author #: article.translate.xml:882 msgid "" "BruceMontague" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:891 msgid "Nik2005" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:892 msgid "" "A project model for the FreeBSD Project" msgstr "" #. (itstool) path: biblioentry/author #: article.translate.xml:894 msgid "" "NiklasSaers" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:903 msgid "Nor1993" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:904 msgid "" "Tutorial on Good " "Lisp Programming Style" msgstr "" #. (itstool) path: authorgroup/author #. (itstool) path: biblioentry/author #: article.translate.xml:907 article.translate.xml:918 msgid "" "PeterNorvig" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:908 msgid "" "KentPitman" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:915 msgid "Nor2001" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:916 msgid "" "Teach Yourself " "Programming in Ten Years" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:919 article.translate.xml:939 msgid "2001" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:924 msgid "Ray2004" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:925 msgid "" "How " "to ask questions the smart way" msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:928 msgid "" "Eric StevenRaymond" msgstr "" #. (itstool) path: biblioentry/copyright #: article.translate.xml:930 msgid "2004" msgstr "" #. (itstool) path: biblioentry/abbrev #: article.translate.xml:935 msgid "RelEngDoc" msgstr "" #. (itstool) path: biblioentry/citetitle #: article.translate.xml:936 msgid "" "FreeBSD Release Engineering" msgstr "" #. (itstool) path: biblioentry/author #: article.translate.xml:938 msgid "" "MurrayStokely" msgstr ""