svn commit: r39610 - in head/pt_BR.ISO8859-1: articles
articles/building-products share/sgml
Edson Brandi
ebrandi at FreeBSD.org
Mon Sep 24 10:30:55 UTC 2012
Author: ebrandi
Date: Mon Sep 24 10:30:54 2012
New Revision: 39610
URL: http://svn.freebsd.org/changeset/doc/39610
Log:
- Add new Brazilian Portuguese translation of the building-products article
Obtained from: The FreeBSD Brazilian Portuguese Documentation Project
(http://doc.fug.com.br)
Approved by: gabor (mentor)
Added:
head/pt_BR.ISO8859-1/articles/building-products/
head/pt_BR.ISO8859-1/articles/building-products/Makefile (contents, props changed)
head/pt_BR.ISO8859-1/articles/building-products/article.sgml (contents, props changed)
Modified:
head/pt_BR.ISO8859-1/articles/Makefile
head/pt_BR.ISO8859-1/share/sgml/mailing-lists.ent
Modified: head/pt_BR.ISO8859-1/articles/Makefile
==============================================================================
--- head/pt_BR.ISO8859-1/articles/Makefile Mon Sep 24 09:04:00 2012 (r39609)
+++ head/pt_BR.ISO8859-1/articles/Makefile Mon Sep 24 10:30:54 2012 (r39610)
@@ -9,6 +9,7 @@
# $FreeBSD$
SUBDIR =
+SUBDIR+= building-products
SUBDIR+= contributing
SUBDIR+= contributing-ports
SUBDIR+= explaining-bsd
Added: head/pt_BR.ISO8859-1/articles/building-products/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/pt_BR.ISO8859-1/articles/building-products/Makefile Mon Sep 24 10:30:54 2012 (r39610)
@@ -0,0 +1,25 @@
+# The FreeBSD Documentation Project
+# The FreeBSD Brazilian Portuguese Documentation Project
+#
+# $FreeBSD$
+#
+# Original revision: r38826
+#
+# Article: Building products using FreeBSD
+
+DOC?= article
+
+FORMATS?= html html-split
+WITH_ARTICLE_TOC?= YES
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+IMAGES_EN= freebsd-branches.pic freebsd-organization.pic
+
+URL_RELPREFIX?= ../../../..
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
Added: head/pt_BR.ISO8859-1/articles/building-products/article.sgml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/pt_BR.ISO8859-1/articles/building-products/article.sgml Mon Sep 24 10:30:54 2012 (r39610)
@@ -0,0 +1,1166 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
+ "../../../share/sgml/freebsd42.dtd" [
+<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//PT"
+ "../../share/sgml/entities.ent">
+%entities;
+]>
+
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD Brazilian Portuguese Documentation Project
+
+ Original revision: r39544
+-->
+
+<article lang='pt_br'>
+ <articleinfo>
+ <title>Construindo Produtos com o FreeBSD</title>
+ <authorgroup>
+ <author>
+ <firstname>Joseph</firstname>
+ <surname>Koshy</surname>
+ <affiliation>
+ <orgname>The FreeBSD Project</orgname>
+ <address><email>jkoshy at FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <legalnotice id="trademarks" role="trademarks">
+ &tm-attrib.freebsd;
+ &tm-attrib.general;
+ </legalnotice>
+
+ <pubdate>$FreeBSD$</pubdate>
+
+ <releaseinfo>$FreeBSD$</releaseinfo>
+
+ <abstract>
+ <title>Sumário</title>
+
+ <para>O projeto FreeBSD é um projeto voluntário e colaborativo
+ de âmbito mundial, o qual desenvolve um sistema operacional de
+ alta qualidade, capaz de ser utilizado em diferentes
+ arquiteturas computacionais. O projeto FreeBSD distribui o
+ código fonte do seu produto sob uma licença liberal, com a
+ intenção de incentivar o uso de seu código. Colaborar com o
+ projeto FreeBSD pode ajudar sua empresa a reduzir o tempo
+ necessário para colocar um produto no mercado, a reduzir
+ seus custos de engenharia e a melhorar qualidade de seus
+ produtos.</para>
+
+ <para>Este artigo analisa as questões envolvidas no uso do
+ código do FreeBSD em appliances e softwares. Ele também
+ destaca as características do FreeBSD, que o tornam uma
+ excelente base para o desenvolvimento de produtos. O artigo
+ conclui sugerindo um conjunto das <quote>melhores
+ práticas</quote> de organizações que colaboram com o projeto
+ FreeBSD.</para>
+ </abstract>
+ </articleinfo>
+
+ <sect1 id="introduction">
+ <title>Introdução</title>
+
+ <para>Atualmente o FreeBSD é bem conhecido como um sistema
+ operacional de alto desempenho para servidores. Ele está
+ instalado em milhões de servidores web e em outros hosts
+ conectados diretamente a internet em todo o mundo. O código
+ do FreeBSD também é parte integrante de muitos produtos, que
+ vão desde aparelhos como roteadores de rede, firewalls e
+ dispositivos de armazenamento, até computadores pessoais.
+ Partes do FreeBSD também têm sido utilizadas em softwares
+ comerciais (consulte <xref linkend="freebsd-intro"/>).</para>
+
+ <para>Neste artigo, vamos olhar para o <ulink
+ url="&url.base;/">Projeto FreeBSD</ulink> como um recurso de
+ engenharia de software — como um conjunto de blocos de
+ construção e de processos os quais você pode utilizar para
+ construir produtos.</para>
+
+ <para>Embora o código fonte do FreeBSD seja distribuído
+ gratuitamente ao público, para desfrutar plenamente dos
+ benefícios do trabalho do projeto, as organizações precisam
+ <emphasis>colaborar</emphasis> com o mesmo. Nas seções
+ subsequentes do presente artigo discutiremos formas eficazes de
+ colaborar com o projeto, bem como os perigos que precisam ser
+ evitados ao fazê-lo.</para>
+
+ <formalpara>
+ <title>Advertência ao Leitor</title>
+
+ <para>O autor considera que as características do projeto
+ FreeBSD mencionadas neste artigo eram substancialmente
+ verdadeiras no momento em que o artigo foi concebido e
+ escrito (2005). No entanto, o leitor deve ter em mente que
+ as práticas e processos utilizados por comunidades de código
+ aberto podem mudar ao longo do tempo, e que portanto as
+ informações deste artigo devem ser consideradas apenas como
+ indicativas e não como verdades absolutas.</para>
+ </formalpara>
+
+ <sect2>
+ <title>Público Alvo</title>
+
+ <para>Este documento tem como público alvo os seguintes grupos
+ de pessoas:</para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>Tomadores de decisão em empresas que estejam em
+ busca de meios para melhorar a qualidade de seus produtos,
+ de reduzir o tempo necessário para lançá-los no mercado e
+ de reduzir seus custos de engenharia no longo
+ prazo.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Consultores de tecnologia procurando as melhores
+ práticas para alavancar projetos de <quote>código
+ aberto</quote>.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Observadores da indústria interessados em
+ compreender a dinâmica dos projetos de <quote>código
+ aberto</quote>.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Desenvolvedores de software que utilizam o FreeBSD
+ e que buscam formas de contribuir com o projeto.</simpara>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Objetivos do artigo</title>
+ <para>Após a leitura deste artigo, você deve ter:</para>
+ <itemizedlist>
+ <listitem>
+ <simpara>Uma melhor compreensão dos objetivos do Projeto
+ FreeBSD e de sua estrutura organizacional.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Uma visão geral das tecnologias disponíveis no
+ projeto.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Uma melhor compreensão do modelo de
+ desenvolvimento adotado pelo Projeto FreeBSD e dos
+ processos de engenharia envolvidos no lançamento de uma
+ nova versão do sistema.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Uma compreensão de como os processos convencionais
+ de desenvolvimento de software em uma empresa diferem dos
+ processos utilizados no projeto FreeBSD.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Consciência dos canais de comunicação utilizados
+ pelo projeto e do nível de transparência que você pode
+ esperar.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Consciência das melhores formas de se trabalhar
+ com o projeto — a melhor forma de reduzir os custos
+ de engenharia, de reduzir o tempo necessário para levar
+ seu produto ao mercado, de gerir vulnerabilidades de
+ segurança, e de preservar a compatibilidade futura com o
+ seu produto a medida que o Projeto FreeBSD
+ evolui.</simpara>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Estrutura do Artigo</title>
+ <para>O restante deste artigo está estruturado da seguinte
+ forma:</para>
+ <itemizedlist>
+ <listitem>
+ <simpara>A <xref linkend="freebsd-intro"/> apresenta o
+ projeto FreeBSD, explora sua estrutura organizacional, as
+ principais tecnologias e processos de engenharia
+ envolvidos no lançamento de uma nova versão do
+ sistema.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>A <xref linkend="freebsd-collaboration"/>
+ descreve formas de colaborar com o Projeto FreeBSD. Esta
+ seção também aborda as armadilhas que são geralmente
+ encontradas por empresas que trabalham com projetos
+ voluntários como o FreeBSD.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>A <xref linkend="conclusion"/> conclui o
+ artigo.</simpara>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="freebsd-intro">
+ <title>O FreeBSD como um conjunto de blocos de construção</title>
+
+ <para>O FreeBSD fornece uma excelente base sobre a qual podemos
+ construir produtos:</para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>O código fonte do FreeBSD é distribuído sob uma
+ licença BSD liberal, o que facilita sua adoção em produtos
+ comerciais com um mínimo de preocupações.
+ <citation>Mon2005</citation></simpara>
+ </listitem>
+ <listitem>
+ <simpara>O Projeto FreeBSD possui excelentes práticas de
+ engenharia as quais podem ser aproveitadas.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>O projeto oferece uma transparência excepcional em
+ seu funcionamento, permitindo que as empresas que utilizam o
+ seu código se planejem de forma eficaz para o
+ futuro.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>A cultura do projeto FreeBSD, herdada do Grupo de
+ Pesquisa de Ciências da Computação da Universidade da
+ Califórnia em Berkeley <citation>McKu1999-1</citation>,
+ fomenta trabalhos de alta qualidade. Algumas
+ funcionalidades do FreeBSD definem o estado da
+ arte.</simpara>
+ </listitem>
+ </itemizedlist>
+
+ <simpara>O <citation>GoldGab2005</citation> analisa em maior
+ profundidade os motivos comerciais para se utilizar código fonte
+ aberto. Para as organizações, os benefícios do uso de
+ componentes do FreeBSD em seus produtos incluem a redução do
+ tempo necessário para lançar novos produtos no mercado,
+ menores custos e menores riscos de desenvolvimento.</simpara>
+
+ <sect2>
+ <title>Construindo com o FreeBSD</title>
+
+ <simpara>Aqui estão alguns exemplos de como as empresas estão
+ utilizando o FreeBSD:</simpara>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>Como um provedor (<foreignphrase>upstream
+ source</foreignphrase>) de códigos testados para
+ bibliotecas e utilitários.</simpara>
+
+ <simpara>Sendo o <foreignphrase>downstream</foreignphrase>
+ do projeto, as organizações se aproveitam das novas
+ funcionalidades, das correções de bugs e dos testes que o
+ código fonte do projeto FreeBSD recebe.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Como sistema operacional integrado (por exemplo, em
+ um roteador OEM e ou em um dispositivo de firewall).
+ Neste modelo, as empresas utilizam uma versão customizada
+ do kernel e do conjunto de aplicativos do FreeBSD,
+ juntamente com uma camada proprietária de gestão para os
+ seus dispositivos. Os fabricantes de equipamentos
+ originais (OEMs) se beneficiam da adição por parte do
+ FreeBSD de suporte a novos componentes de hardware, bem
+ como se beneficia dos testes que o sistema base
+ recebe.</simpara>
+
+ <simpara>O FreeBSD é distribuído com um ambiente de
+ desenvolvimento auto-hospedado o qual permite a fácil
+ criação de tais configurações.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Como um ambiente Unix compatível para as funções de
+ gerenciamento em dispositivos de armazenamento high-end e
+ em dispositivos de rede, executando em uma lâmina
+ separada.</simpara>
+
+ <simpara>O FreeBSD fornece ferramentas para a criação de
+ imagens do sistema operacional dedicadas a executar uma
+ função específica. Sua implementação da API unix BSD é
+ madura e testada. O FreeBSD também pode proporcionar um
+ ambiente de desenvolvimento cruzado estável para os outros
+ componentes de dispositivos topo de linha.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Como um veículo para obter suporte e testes
+ amplos de uma equipe mundial de desenvolvedores para a sua
+ <quote>propriedade intelectual</quote>
+ não-crítica.</simpara>
+
+ <simpara>Neste modelo, as organizações contribuem com
+ frameworks de infra-estrutura úteis ao projeto FreeBSD
+ (por exemplo, veja o &man.netgraph.3;). A ampla
+ exposição que o código obtém ajuda na rápida
+ identificação de bugs e de problemas de desempenho. O
+ envolvimento de desenvolvedores de alta qualidade também
+ resulta no desenvolvimento de extensões úteis para a
+ infra-estrutura do sistema, e das quais a empresa que está
+ contribuindo com o projeto também se beneficia.</simpara>
+ </listitem>
+
+ <listitem>
+ <simpara>Como um ambiente de desenvolvimento apoiando
+ desenvolvimento cruzado para sistemas operacionais
+ embarcados como <ulink
+ url="http://www.rtems.com/">RTEMS</ulink> e o <ulink
+ url="http://ecos.sourceware.org/">eCOS</ulink>.</simpara>
+
+ <simpara>Existem muitos ambientes de desenvolvimento
+ completos na forte coleção de mais de &os.numports;
+ aplicativos portados e empacotados para o
+ FreeBSD.</simpara>
+ </listitem>
+
+ <listitem>
+ <simpara>Como forma de suportar uma API estilo Unix em um
+ sistema operacional que de outro modo seria proprietário,
+ aumentando a sua palatabilidade para os desenvolvedores de
+ aplicativos.</simpara>
+
+ <simpara>Aqui as partes do kernel do FreeBSD e as aplicações
+ são <quote>portadas</quote> para serem executadas
+ juntamente com outras tarefas no sistema operacional
+ proprietário. A disponibilidade de uma implementação
+ estável e bem testada da API <trademark>Unix</trademark>
+ pode reduzir o esforço necessário para portar aplicações
+ populares para um sistema operacional proprietário. Como
+ o FreeBSD é distribuído acompanhado de uma documentação de
+ alta qualidade sobre a sua estrutura interna, e possui
+ processos eficazes de engenharia para gerenciamento de
+ vulnerabilidades e para lançamento de novas versões, os
+ custos para mantê-lo atualizado são baixos.</simpara>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="freebsd-technologies">
+ <title>Tecnologias</title>
+
+ <para>Existe um grande número de tecnologias suportadas pelo
+ projeto FreeBSD. Abaixo você encontra uma lista com alguma
+ delas:</para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>Um sistema completo que pode compilar a si mesmo
+ de forma cruzada para as seguintes arquiteturas: alpha
+ (até o &os; versão 6.X), amd64, ia64, i386, sparc64,
+ powerpc (veja &man.build.7;).</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Suporte para as seguintes tecnologias, protocolos e
+ padrões: <!-- Keyword soup. Urk. -->
+ <acronym>ATA</acronym>, <acronym>ATAPI</acronym>,
+ <acronym>ATM</acronym>, <trademark>Bluetooth</trademark>,
+ <acronym>CAM</acronym>, <trademark>CardBus</trademark>,
+ <acronym>DHCP</acronym>, <acronym>DNS</acronym>,
+ <trademark>EISA</trademark>,
+ <trademark>Ethernet</trademark>, <acronym>FDDI</acronym>,
+ Fibre Channel, <acronym>GPIB</acronym>, IEEE 1394, IPv4,
+ IPv6, <acronym>IPSEC</acronym>,
+ <trademark>IPX</trademark>, <acronym>ISDN</acronym>,
+ <acronym>MAC</acronym>, <acronym>NIS</acronym>,
+ <acronym>NFS</acronym>, OpenSSH, <acronym>OPIE</acronym>,
+ <acronym>PAM</acronym>, <trademark>PCI</trademark>,
+ <acronym>PCMCIA</acronym>, <trademark>POSIX</trademark>,
+ <acronym>PnP</acronym>, <acronym>RAID</acronym>,
+ <acronym>RPC</acronym>, <acronym>SATA</acronym>,
+ <acronym>SCSI</acronym>, <acronym>SMB</acronym>,
+ <acronym>TCP</acronym>, <acronym>USB</acronym>,
+ <acronym>VESA</acronym>, <acronym>VLAN</acronym>,
+ <acronym>VLB</acronym>,
+ <trademark>WebNFS</trademark>.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Um kernel modular capaz de multiprocessamento
+ simétrico, com módulos de kernel carregáveis e um
+ sistema de configuração flexível e fácil de
+ usar.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Suporta a emulação de binários do Linux e do SVR4
+ com velocidades próximas as que você obtém executando os
+ aplicativos de forma nativa. Suporte para os binários dos
+ drivers de rede do <trademark>Windows</trademark>
+ (<acronym>NDIS</acronym>).</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Bibliotecas para muitas tarefas de programação:
+ arquivos, suporte a FTP e HTTP, suporte a threads, além
+ de um ambiente completo de programação
+ <trademark>POSIX</trademark> like.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Funcionalidades avançadas de segurança: Controle
+ de Acesso Obrigatório (&man.mac.9;), jails (&man.jail.2;),
+ <acronym>ACL</acronym>s,e suporte no kernel a dispositivos
+ de criptografia.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Funcionalidades avançadas de rede: firewalls,
+ gerenciamento de QoS, rede TCP/IP de alta performance com
+ suporte a muitos recursos avançados.</simpara>
+ <simpara>O framework Netgraph (&man.netgraph.4;) presente no
+ kernel do FreeBSD, permite que os módulos de rede possam
+ ser conectados entre si de formas flexíveis.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Suporte para tecnologias avançadas de armazenamento
+ Fibre Channel, <acronym>SCSI</acronym>, RAID por
+ software e hardware, <acronym>ATA</acronym> e
+ <acronym>SATA</acronym>.</simpara>
+ <simpara>O FreeBSD suporta um grande numero de sistemas de
+ arquivos, e o seu sistema de arquivos nativo UFS2 suporta
+ <literal>soft updates</literal>,
+ <literal>snapshots</literal> e sistemas de arquivos de
+ tamanho muito grandes (até 16 TB por sistema de arquivos)
+ <citation>McKu1999</citation>.</simpara>
+ <simpara>O framework <acronym>GEOM</acronym> (&man.geom.4;)
+ presente no kernel do FreeBSD permite que módulos de
+ armazenamento sejam compostos de forma flexível.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Mais de &os.numports; aplicativos portados, tanto
+ comerciais quanto de código aberto, gerenciados através da
+ coleção de ports do FreeBSD.</simpara>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Estrutura Organizacional</title>
+ <para>A estrutura organizacional do FreeBSD não é
+ hierárquica</para>
+
+ <para>Existem basicamente dois tipos de colaboradores no projeto
+ FreeBSD, os usuários em geral e os desenvolvedores com acesso
+ de escrita (conhecidos como <firstterm>committers</firstterm>
+ no jargão) ao repositório de código fonte.</para>
+
+ <para>Existem muitos milhares de colaboradores no primeiro
+ grupo, a grande maioria das contribuições para o FreeBSD vêm
+ de indivíduos desse grupo; A permissão de
+ <literal>commit</literal> (acesso de escrita) no repositório é
+ concedida a pessoas que contribuem de forma consistente para o
+ projeto. O direito de <literal>commit</literal> vem
+ acompanhado de responsabilidades adicionais, e para facilitar
+ o aprendizado das mesmas, um mentor é atribuído a todos os
+ novos <literal>committers</literal>.</para>
+
+ <figure>
+ <title>Organização do FreeBSD</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="freebsd-organization" format="PIC"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>A resolução de conflitos é realizada por um
+ <quote><literal>Core Team</literal></quote> de 9 pessoas, o
+ qual é eleito a partir do grupo de
+ <literal>committers</literal>.</para>
+
+ <para>O FreeBSD não tem <literal>committers</literal>
+ corporativos. Os <literal>committers</literal> são obrigados
+ a assumir de forma individual a responsabilidade pelas
+ mudanças que introduzem no código. O <ulink
+ url="&url.articles.committers-guide;">FreeBSD Committer's
+ Guide</ulink> <citation>ComGuide</citation> documenta as
+ regras e responsabilidades que se aplicam aos
+ <literal>committers</literal>.</para>
+
+ <para>O modelo do projeto FreeBSD é examinado em detalhes no
+ <citation>Nik2005</citation>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Processos de Engenharia para liberação de novas versões
+ do FreeBSD.</title>
+
+ <para>O processo de engenharia para a liberação de uma nova
+ versão do FreeBSD desempenha um papel importante para
+ assegurar que as suas novas versões sejam de alta qualidade.
+ Em qualquer ponto do tempo, os voluntários do FreeBSD suportam
+ múltiplas versões do código sistema (<xref
+ linkend="fig-freebsd-branches"/>):</para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>As novas funcionalidades e os códigos disruptivos
+ entram no ramo de desenvolvimento, também conhecido como
+ ramo <firstterm>-CURRENT</firstterm>.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>O ramo <firstterm>-STABLE</firstterm> contém
+ linhas de código que são ramificadas a partir do HEAD em
+ intervalos regulares. Apenas código devidamente testado é
+ permitido no ramo -STABLE. Novas funcionalidades são
+ permitidas após terem sido testadas e estabilizadas no ramo
+ -CURRENT.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>O ramo <firstterm>-RELEASE</firstterm> é mantido
+ pela equipe de segurança do FreeBSD. Somente correções de
+ bugs críticos são permitidos no ramo -RELEASE.</simpara>
+ </listitem>
+ </itemizedlist>
+
+ <figure id="fig-freebsd-branches">
+ <title>Ramos de versões do FreeBSD</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="freebsd-branches" format="EPS"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As linhas de código são mantidas vivas enquanto houver
+ interesse dos usuários e dos desenvolvedores nelas.</para>
+
+ <para>As arquiteturas de máquina estão agrupadas em
+ <quote>tiers</quote>; As arquiteturas <firstterm>Tier
+ 1</firstterm> são totalmente suportadas pelas equipes de
+ engenharia de lançamento e de segurança, as arquiteturas
+ <firstterm>Tier 2</firstterm> são suportadas em regime de
+ <quote>melhores esforços</quote>, e as arquiteturas
+ experimentais compreendem o <firstterm>Tier 3</firstterm>. A
+ lista das <ulink
+ url="&url.articles.committers-guide;/archs.html">arquiteturas
+ suportadas</ulink> é parte da coleção de documentos do
+ FreeBSD.</para>
+
+ <para>A equipe de engenharia de lançamentos publica um <ulink
+ url="&url.base;/releng/"><literal>road map</literal></ulink>
+ para as versões futuras do FreeBSD no web site do projeto. As
+ datas indicadas no <literal>road map</literal> não são prazos;
+ As novas versões do FreeBSD são liberadas apenas quando o seu
+ código e documentação estão prontos.</para>
+
+ <para>O processo de engenharia para a liberação de novas versões
+ do FreeBSD é descrito em detalhes no
+ <citation>RelEngDoc</citation>.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="freebsd-collaboration">
+ <title>Colaborando com o FreeBSD</title>
+
+ <para>Projetos <literal>open-source</literal> como o FreeBSD
+ oferecem códigos finalizados de altíssima qualidade
+ <citation>Cov2005</citation>. Estudos anteriores examinaram o
+ efeito da disponibilidade do código fonte no desenvolvimento de
+ software <citation>Com2004</citation>.</para>
+
+ <para>Embora o acesso a um código fonte de qualidade possa reduzir
+ o custo inicial de desenvolvimento, a longo prazo, os custos com
+ o gerenciamento de mudanças começam a dominar. A medida que os
+ ambientes computacionais mudam ao longo dos anos e novas
+ vulnerabilidades de segurança são descobertas, o seu produto
+ também precisará mudar e se adaptar. O uso de código
+ open-source não deve ser encarado como uma atividade pontual,
+ mas sim como um <emphasis>processo contínuo</emphasis>. Os
+ melhores projetos para se colaborar são os que estão
+ <emphasis>vivos</emphasis>, ou seja, aqueles com uma
+ comunidade ativa, que tenha objetivos claros e que possua um
+ estilo de trabalho transparente.</para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>o FreeBSD tem uma comunidade de desenvolvimento ativa
+ em torno dele. No momento em que este artigo foi escrito,
+ existiam milhares de colaboradores com representantes de
+ praticamente todos os continentes povoados do mundo, e mais
+ de 300 indivíduos com acesso de escrita aos repositórios
+ do projeto.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Os objetivos do projeto FreeBSD são
+ <citation>Hub1994</citation>:</simpara>
+ <itemizedlist spacing="compact">
+ <listitem>
+ <simpara>Desenvolver um sistema operacional de alta
+ qualidade para o hardware de computadores populares,
+ e,</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Tornar o nosso trabalho disponível para todos
+ sob uma licença liberal.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>O FreeBSD desfruta de uma cultura aberta e
+ transparente de trabalho. Quase todas as discussões no
+ projeto ocorrem por e-mail, em <ulink
+ url="&a.mailman.listinfo;">listas publicas de
+ discussão</ulink>, que também são arquivadas para a
+ posteridade. As políticas do projeto são <ulink
+ url="&url.base;/internal/policies.html">documentadas</ulink>
+ e mantidas sob controle de revisão. A participação no
+ projeto é aberta a todos.</simpara>
+ </listitem>
+ </itemizedlist>
+
+ <sect2 id="freebsd-org">
+ <title>Compreendendo a cultura do FreeBSD</title>
+
+ <para>Para ser capaz de trabalhar de forma eficaz com o projeto
+ FreeBSD, você precisa entender a cultura do projeto.</para>
+
+ <para>As regras que regem a operação de um projeto voluntário
+ são diferentes das que regem a operação de uma empresa com
+ fins lucrativos. Um erro comum que as empresas cometem ao se
+ aventurar no mundo open-source é o de desvalorizar essas
+ diferenças.</para>
+
+ <formalpara>
+ <title>Motivação</title>
+
+ <para>A maioria das contribuições feitas para o FreeBSD são
+ feitas voluntariamente, sem que nenhuma recompensa
+ financeira esteja envolvida. Os fatores que motivam as
+ pessoas são complexos, e vão desde o puro altruísmo até o
+ interesse comum em resolver algum tipo de problema que o
+ FreeBSD esteja tentando resolver. Neste tipo de ambiente,
+ a <quote>elegância jamais é opcional</quote>
+ <citation>Nor1993</citation>.</para>
+ </formalpara>
+
+ <formalpara>
+ <title>Visão de longo prazo</title>
+ <para>O FreeBSD tem raízes de quase 20 anos para com o
+ trabalho do Grupo de Pesquisa de Ciências da Computação da
+ Universidade da Califórnia, Berkeley.<footnote>
+ <simpara>O <ulink url="http://cvsweb.freebsd.org/">repositório
+ de código fonte</ulink> do FreeBSD contém a história do
+ projeto desde a sua concepção, e existem <ulink
+ url="http://www.mckusick.com/csrg/">CDROMs
+ disponíveis</ulink> que contém o código anterior do
+ CSRG.</simpara>
+ </footnote> Alguns dos desenvolvedores originais do CSRG
+ permanecem associados com o projeto.</para>
+ </formalpara>
+
+ <para>O projeto valoriza perspectivas de longo prazo
+ <citation>Nor2001</citation>. Uma sigla encontrada com
+ frequência no projeto é <acronym>DTRT</acronym>, a qual
+ significa <quote>Faça a Coisa Certa</quote> (<literal>Do The
+ Right Thing</literal>).</para>
+
+ <formalpara>
+ <title>Processo de Desenvolvimento</title>
+ <para>Programas de computador são ferramentas de comunicacão:
+ em um nível os programadores comunicam as suas intenções
+ usando uma notação precisa para uma ferramenta (um compilador)
+ que traduz as suas instruções para um código executável. Em
+ outro nível, a mesma notação é usada para a comunicação das
+ intenções entre dois programadores.</para>
+ </formalpara>
+
+ <para>Especificações formais e documentos de design raramente
+ são utilizados no projeto. Código claro e bem escrito,
+ acompanhado de logs bem escritos para as alterações das
+ (<xref linkend="fig-change-log"/>), são usados em seu
+ lugar. O desenvolvimento do FreeBSD acontece por
+ <quote>consenso áspero e por código sendo executado</quote>
+ <citation>Carp1996</citation>.</para>
+
+ <figure id="fig-change-log">
+ <title>Um exemplo de entrada no log de alteração</title>
+ <programlisting>
+bde 2005-10-29 16:34:50 UTC
+
+ FreeBSD src repository
+
+ Modified files:
+ lib/msun/src e_rem_pio2f.c
+ Log:
+ Use double precision to simplify and optimize arg reduction for small
+ and medium size args too: instead of conditionally subtracting a float
+ 17+24, 17+17+24 or 17+17+17+24 bit approximation to pi/2, always
+ subtract a double 33+53 bit one. The float version is now closer to
+ the double version than to old versions of itself — it uses the same
+ 33+53 bit approximation as the simplest cases in the double version,
+ and where the float version had to switch to the slow general case at
+ |x| == 2^7*pi/2, it now switches at |x| == 2^19*pi/2 the same as the
+ double version.
+
+ This speeds up arg reduction by a factor of 2 for |x| between 3*pi/4 and
+ 2^7*pi/4, and by a factor of 7 for |x| between 2^7*pi/4 and 2^19*pi/4.
+
+ Revision Changes Path
+ 1.14 +22 -97 src/lib/msun/src/e_rem_pio2f.c
+ </programlisting>
+ </figure>
+
+ <simpara>A comunicação entre os programadores é reforçada pelo
+ uso de um &man.style.9; padrão de codificação, comum entre
+ eles.</simpara>
+
+ <formalpara>
+ <title>Canais de Comunicação</title>
+ <para>Os colaboradores do FreeBSD estão espalhados por todo o
+ mundo. O email (e em menor extensão, o IRC) é o meio de
+ comunicação preferido no projeto.</para>
+ </formalpara>
+ </sect2>
+
+ <sect2>
+ <title>Melhores práticas para colaborar com o projeto
+ FreeBSD.</title>
+
+ <para>Agora iremos examinar algumas das melhores práticas para
+ se fazer um melhor uso do FreeBSD no desenvolvimento de
+ produtos.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Se planeje para o longo prazo</term>
+ <listitem>
+ <para>Implante processos que o ajudem a monitorar o
+ desenvolvimento do FreeBSD. Por exemplo:</para>
+ <formalpara>
+ <title>Acompanhe o código fonte do FreeBSD</title>
+ <para>O projeto facilita o espelhamento do seu
+ repositório CVS usando o <ulink
+ url="&url.articles.cvsup-advanced;">CVSup</ulink>.
+ Ter o histórico completo do código fonte é útil quando
+ se está debugando problemas complexos e oferece
+ informações valiosas sobre as intenções dos
+ desenvolvedores originais. Utilize um sistema de
+ controle de código que lhe permita mesclar facilmente
+ as alterações entre o código original do FreeBSD e o
+ seu próprio código.</para>
+ </formalpara>
+ <para>A <xref linkend="fig-cvs-annotate"/> mostra as
+ anotações em uma parte do arquivo referenciado pelo log
+ de alterações da <xref linkend="fig-change-log"/>. A
+ ascendência de cada linha de código é claramente
+ visível. Listagens com as anotações mostrando a
+ história de cada arquivo que faz parte do FreeBSD
+ estão <ulink
+ url="http://cvsweb.freebsd.org/">disponíveis na
+ web</ulink>.</para>
+ <figure id="fig-cvs-annotate">
+ <title>Código fonte exibindo a listagem de anotações
+ gerada utilizando o <command>cvs annotate</command>
+ </title>
+ <programlisting>
+<![CDATA[
+#LINE #REV #WHO #DATE #TEXT
+
+62 1.1 (jkh 19-Aug-94): int32_t __ieee754_rem_pio2f(float x, float *y)
+63 1.1 (jkh 19-Aug-94): {
+64 1.14 (bde 29-Oct-05): double z,w,t,r,fn;
+65 1.13 (bde 29-Oct-05): double tx[3];
+66 1.14 (bde 29-Oct-05): int32_t e0,i,nx,n,ix,hx;
+67 1.1 (jkh 19-Aug-94):
+68 1.1 (jkh 19-Aug-94): GET_FLOAT_WORD(hx,x);
+69 1.1 (jkh 19-Aug-94): ix = hx&0x7fffffff;
+70 1.1 (jkh 19-Aug-94): if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */
+71 1.1 (jkh 19-Aug-94): {y[0] = x; y[1] = 0; return 0;}
+72 1.14 (bde 29-Oct-05): /* 33+53 bit pi is good enough for special and medium size cases */
+73 1.2 (bde 07-Apr-95): if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */
+74 1.14 (bde 29-Oct-05): if(hx>0) {
+75 1.15 (bde 06-Nov-05): z = x - pio2;
+76 1.15 (bde 06-Nov-05): n = 1;
+77 1.15 (bde 06-Nov-05): } else {
+78 1.15 (bde 06-Nov-05): z = x + pio2;
+79 1.15 (bde 06-Nov-05): n = 3;
+80 1.9 (bde 08-Oct-05): }
+81 1.15 (bde 06-Nov-05): y[0] = z;
+82 1.15 (bde 06-Nov-05): y[1] = z - y[0];
+83 1.15 (bde 06-Nov-05): return n;
+84 1.15 (bde 06-Nov-05): }
+85 1.15 (bde 06-Nov-05): if(ix<0x407b53d1) { /* |x| < 5*pi/4, special case with n=+-2 */
+]]>
+ </programlisting>
+ </figure>
+
+ <formalpara>
+ <title>Nomeie um guardião</title>
+ <para>Nomeie um guardião
+ (<firstterm>gatekeeper</firstterm>) para monitorar o
+ desenvolvimento do FreeBSD, para manter-se atento a
+ mudanças que poderiam potencialmente afetar os seus
+ produtos.</para>
+ </formalpara>
+ <formalpara>
+ <title>Comunique os erros que encontrar de volta para o
+ projeto</title>
+ <para>Se você encontrar um bug no código do FreeBSD que
+ você está utilizando, envie um <ulink
+ url="&url.base;/send-pr.html">relatório de
+ problema</ulink>. Este procedimento simples irá
+ ajudar a garantir que você não precisará corrigir o
+ erro novamente da próxima vez que precisar importar
+ novamente do código base do FreeBSD.</para>
+ </formalpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Se alavanque nos esforços de engenharia do FreeBSD
+ para lançamento de novas versões.</term>
+ <listitem>
+ <simpara>Utilize código do ramo de desenvolvimento -STABLE
+ do FreeBSD. Este ramo de desenvolvimento é formalmente
+ suportado pelas equipes de engenharia de lançamento e de
+ segurança, e é formada apenas por código
+ testado.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Doe código para reduzir seus custos</term>
+ <listitem>
+ <simpara>Uma parte significativa dos custos relacionados
+ ao desenvolvimento de um produto é o de realizar a sua
+ manutenção. Ao doar partes não criticas do seu código
+ para o projeto, você se beneficia por ter o seu código
+ exposto de uma forma ampla, exposição que ele não teria
+ de outra forma. Esta exposição por sua vez leva
+ eliminação de um maior numero de bugs e de
+ vulnerabilidades de segurança, e permite que anomalias
+ de desempenho sejam identificadas e
+ corrigidas.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Obtenha suporte efetivo</term>
+ <listitem>
+ <simpara>Para produtos com prazos apertados, é recomendado
+ que você contrate o suporte ou consultoria de um
+ desenvolvedor ou empresa com experiência em FreeBSD. A
+ &a.jobs; é um canal de comunicação muito útil para se
+ encontrar talentos. O projeto FreeBSD mantém uma <ulink
+ url="&url.base;/commercial/consult_bycat.html">galeria
+ de consultores e empresas de consultoria</ulink> que
+ trabalham com FreeBSD. O <ulink
+ url="http://www.bsdcertification.org/">Grupo de
+ Certificação BSD</ulink> oferece certificação para todos
+ os principais sistemas operacionais derivados do
+ BSD.</simpara>
+
+ <simpara>Para as necessidades menos importantes, você pode
+ pedir ajuda nas <ulink
+ url="http://lists.FreeBSD.org/mailman/listinfo">listas
+ de discussão do projeto</ulink>. Um guia útil para
+ seguir quando precisar pedir está listado em
+ <citation>Ray2004</citation>.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Divulgue o seu envolvimento</term>
+ <listitem>
+ <simpara>Você não é obrigado a divulgar que faz uso do
+ FreeBSD, mas ao fazê-lo você estará ajudando ambos os
+ esforços, o seu e o do projeto.</simpara>
+
+ <simpara>Dar visibilidade para a comunidade FreeBSD de que
+ a sua empresa utiliza o sistema ajuda a melhorar as suas
+ chances de atrair talentos de alta qualidade. Quanto
+ maior for a lista de organizações que apoiam o FreeBSD
+ maior será a presença do sistema na cabeça
+ (<literal>mind share</literal>) dos desenvolvedores.
+ Ao contribuir para aumentar o numero de desenvolvedores
+ interessados no FreeBSD, você estará gerando uma base
+ saudável para o seu futuro.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Suporte os desenvolvedores do FreeBSD</term>
+ <listitem>
+ <simpara>Às vezes, o caminho mais direto para ver uma
+ funcionalidade que você deseja implementada no FreeBSD é
+ suportar um desenvolvedor que já esteja olhando um
+ problema relacionado. A ajuda pode variar de uma doação
+ de hardware até uma assistência financeira direta. Em
+ alguns países, as doações para o projeto FreeBSD
+ usufruem de benefícios fiscais. O projeto possui um
+ <ulink url="&url.base;/donations/">canal de comunicação
+ dedicado</ulink> para assuntos relacionados a doações e
+ para ajudar os doadores. O projeto também mantém uma
+ página web na qual os desenvolvedores podem <ulink
+ url="&url.base;/donations/wantlist.html">listar suas
+ necessidades</ulink>.</simpara>
+ <simpara>Por uma política do projeto, o FreeBSD <ulink
+ url="&url.articles.contributors;">reconhece</ulink>
+ todas as contribuições recebidas em seu site
+ web.</simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="conclusion">
+ <title>Conclusão</title>
+ <para>O Objetivo do projeto FreeBSD é criar e distribuir o código
+ fonte de um sistema operacional de alta qualidade. Ao trabalhar
+ com o projeto FreeBSD você pode reduzir os seus custos de
+ desenvolvimento e melhorar o tempo necessário para lançar seus
+ novos produtos no mercado em vários cenários de desenvolvimento
+ de produtos.</para>
+ <para>Foram examinadas as características do FreeBSD que o tornam
+ uma excelente opção na estratégia de produto de uma organização.
+ Em seguida, abordamos os aspectos predominantes da cultura do
+ projeto e examinamos formas eficazes de interagir com os seus
+ desenvolvedores. O artigo finaliza com uma lista das melhores
+ práticas que podem ajudar na colaboração da iniciativa privada
+ com o projeto FreeBSD.</para>
+ </sect1>
+
+ <bibliography>
+ <biblioentry>
+ <abbrev>Carp1996</abbrev>
+ <citetitle><ulink url="http://www.ietf.org/rfc/rfc1958.txt">The
+ Architectural Principles of the Internet</ulink></citetitle>
+ <author>
+ <firstname>B.</firstname>
+ <surname>Carpenter</surname>
+ <affiliation>
+ <orgname>The Internet Architecture Board</orgname>
+ </affiliation>
+ </author>
+ <copyright>
+ <year>1996</year>
+ </copyright>
+ </biblioentry>
+ <biblioentry xreflabel="Com2004">
+ <abbrev>Com2004</abbrev>
+ <citetitle><ulink
+ url="http://csdl.computer.org/comp/mags/so/2004/01/s1028.pdf">How
+ is Open-Source Affecting Software
+ Development?</ulink></citetitle>
+ <authorgroup>
+ <author>
+ <firstname>Diomidis</firstname>
+ <surname>Spinellis</surname>
+ </author>
+ <author>
+ <firstname>Clemens</firstname>
+ <surname>Szyperski</surname>
+ </author>
+ </authorgroup>
+ <title>IEEE Computer</title>
+ <copyright>
+ <year>Jan/Feb 2004</year>
+ </copyright>
+ <publisher>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-all
mailing list