FreeBSD Handbook/Iniciando/Introdução/Sobre o projeto FreeBSD


FreeBSD Handbook
Anterior Capítulo 1. Introdução Próxima

1.3. Sobre o projeto FreeBSD

A seção a seguir oferece algumas informações básicas sobre projeto, incluindo uma breve história, seus objetivos e seu modelo de desenvolvimento.

1.3.1. Uma Breve História do FreeBSD

Contribuição de Jordan Hubbard.

O projeto FreeBSD teve seu nascimento no início de 1993, em parte como uma consequência do conjunto de manutenção não-oficial do 386BSD (“Unofficial 386BSD Patchkit”) pelos seus 3 últimos coordenadores: Nate Williams, Rod Grimes e eu.

Nosso objetivo original era produzir um snapshot intermediário do 386BSD, de forma a poder corrigir uma série de problemas com este sistema, que o mecanismo de manutenção não era capaz de resolver. Alguns se lembrarão do nome inicial do projeto que era “386BSD 0.5” ou “386BSD Interim”em referência a este fato.

386BSD era o sistema operacional de Bill Jolitz, que já estava naquele instante sofrendo quase um ano de negligência. Como o mecanismo de manutenção patchkit se tornava mais e mais desconfortável a cada dia que passava, fomos unânimes em decidir que algo tinha que ser feito e decidimos ajudar Bill oferecendo a ele este snapshot “interim”. Tais planos foram bruscamente interrompidos quando Bill Jolitz repentinamento decidiu retirar sua sanção ao projeto sem nenhuma indicação clara do que deveria ser feito.

Não levou muito para decidirmos que o objetivo continuava a valer a pena, mesmo sem a ajuda de Bill, e então adotamos o nome “FreeBSD”, sugerido por David Greenman. Nossos objetivos iniciais foram definidos depois de consultar os usuários recentes do sistema e, uma vez estando claro que o projeto estava na estrada para, talvez, tornar-se uma realidade, entrei em contato com a Walnut Creek CDROM, com o olho aberto á possibilidade de aperfeiçoar os canais de distribuição do FreeBSD para as pessoas que não tinham acesso à Internet. Walnut Creek CDROM não apenas aprovou a idéia de distribuir o FreeBSD em CD, mas também foi mais longe, ao ponto de oferecer ao projeto uma máquina para trabalho dedicado e uma conexão rápida com a Internet. Sem esta confiança, sem precedentes, da Walnut Creek CDROM no que era, naquele momento, um projeto completamente desconhecido, é muito provável que o FreeBSD não tivesse chegado tão longe e tão rápido ao ponto em que está hoje.

A primeira distribuição em CDROM (e na Internet em geral) foi o FreeBSD 1.0, lançado em Dezembro de 1993. Era baseado na fita 4.3BSD-Lite (“Net/2”) da Universidade da Califórnia em Berkeley (U.C. Berkeley), com muitos componentes originados do 386BSD e da Free Software Foundation. Foi um sucesso razoavelmente grande para uma primeira aparição, e nós continuamos o ciclo com uma versão altamente bem sucedida, o FreeBSD 1.1 release de Maio de 1994.

Por volta desta época, algumas nuvens de tempestade inesperadas começaram a se formar no horizonte, enquanto a Novell e a U.C. Berkeley se acertavam no longo processo penal entre ambas, a respeito da situação legal da fita contendo o Net/2 de Berkeley. Uma das condições do acordo era a concessão da U.C. Berkeley de que grandes trechos do Net/2 eram códigos “impedidos” e de propriedade da Novell, que havia por sua vez adquirido-os da AT&T algum tempo antes. O que Berkeley recebeu em retribuição foi a “benção” da Novell para o lançamento da versão 4.4BSD-Lite, que quando acontecesse, seria declarada como “desimpedida” e todos os usuários do Net/2 seriam fortemente encorajados a mudar de sistema para a nova versão. Isso incluiu o FreeBSD, ao projeto foi dado o prazo final de Julho de 1994 para parar de distribuir seu produto baseado na versão Net/2. Sob tais termos de acordo, o projeto poderia lançar uma última versão antes do prazo em questão, o que originou o FreeBSD 1.1.5.1.

O FreeBSD definiu então a árdua tarefa de literalmente se reinventar à partir de um sistema completamente novo e consideravelmente incompleto, o 4.4BSD-Lite. As versões “Lite” continham grandes blocos de código a menos, removidos pelo CSRG de Berkeley (devido a várias decisões legais), códigos necessários para a construção de um sistema inicializável e que podia ser utilizado em produção e o fato é que a conversão do 4.4 para a plataforma Intel era altamente incompleta. O projeto levou até novembro de 1994 para concluir esta transição, quando lançou a versão 2.0 do FreeBSD na rede mundial e em CDROM (em Dezembro). Apesar de um pouco bruta naquele instante, a versão teve um sucesso significante, e foi seguida pelo FreeBSD 2.0.5, mais robusto e de mais fácil instalação, em junho de 1995.

Lançamos o FreeBSD 2.1.5 em Agosto de 1996, que foi bastante popular entre os provedores de internet (ISP) e as empresas a ponto de justificar a viabilidade de outra versão no ramo 2.1-STABLE. Esta versão foi o FreeBSD 2.1.7.1, lançado em fevereiro de 1997, que marcou o término do desenvolvimento mainstream do 2.1-STABLE. Agora em manutenção, apenas aperfeiçoamentos de segurança e outras correções críticas são realizadas neste ramo (RELENG_2_1_0).

O ramo 2.2 do FreeBSD foi iniciado a partir da série parcial de desenvolvimento (“-CURRENT”) em novembro de 1996, foi intitulado ramo RELENG_2_2, e a primeira versão completa (2.2.1) foi lançada em abril de 1997. Versões posteriores ao longo do ramo 2.2 foram criadas no verão e outono de 1998, sendo a última delas (2.2.8) lançada em novembro de 1998, marcando o início do fim do ramo 2.2.

A árvore foi ramificada mais uma vez, em 20 de janeiro de 1999, iniciando os ramos 4.0-CURRENT e 3.X-STABLE. A partir da 3.X-STBALE, a versão 3.1 foi lançada, em 15 de fevereiro de 1999; a versão 3.2 foi lançada em 15 de Maio de 1999; a 3.3 em 16 de Setembro de 1999; a versão 3.4 em 20 de Dezembro de 1999, e a 3.5 em 24 de junho de 2000, que foi complementada um pouco depois com uma pequena atualização de segurança, o 3.5.1, que incorporava algumas correções de segurança de última hora para o Kerberos. Esta se tornou a versão final para o ramo 3.X.

Outro ramo foi iniciado em 13 de março de 2000, de forma emergencial na metade do ramo 4.X-STABLE. Posteriormente houveram várias versões desta série: 4.0-RELEASE foi apresentado ao mundo em março de 2000 e a última, 4.11-RELEASE, saiu em janeiro de 2005.

A versão 5.0-RELEASE, muito aguardada, foi anunciada em 19 de janeiro de 2003. O resultado culminante de aproximadamente três anos de trabalho, esta versão colocou o FreeBSD no caminho do suporte avançado a multiprocessamento simétrico, suporte avançado a aplicações multithread e apresentou ao público suporte às plataformas UltraSPARC® e ia64. Esta versão foi seguida pela 5.1 em junho de 2003. A última versão da série 5.X foi a 5.2.1-RELEASE, de fevereiro de 2004.

A série RELENG_5, criada em agosto de 2004, foi seguida pela 5.3-RELEASE, que marcou o início do ramo 5-STABLE. A mais recente, 5.5-RELEASE, saiu em maio de 2006. Não vão haver mais versões do ramo RELENG_5.

A árvore foi ramificada novamente em julho de 2005, na ocasião para o ramo RELENG_6. A primeira versão do ramo 6.X, a 6.0-RELEASE, foi lançada em novembro de 2005. A mais recente, a 6.2-RELEASE, saiu em janeiro de 2007. Ainda virão outras versões no ramo RELENG_6.

Por enquanto os projetos de longo prazo continuam a ser executados no ramo (tronco) 7.X. Como um trabalho contínuo, versões 7.X são disponibilizadas em CDROM (e na internet, claro) a partir do servidor de snapshots.

1.3.2. Objetivos do Projeto FreeBSD

Contribuição de Jordan Hubbard.

Os objetivos do Projeto FreeBSD são de oferecer software que pode ser utilizado para qualquer propósito e sem restrições impeditivas. Muitos de nós investimos significantemente no código (e no projeto) e certamente não nos incomodaríamos se de vez em quando recebêssemos uma pequena compensação financeira, mas definitivamente não insistimos nisso. Acreditamos que nossa primeira e principal “missão” é oferecer código para qualquer usuário, e para qualquer propósito, de forma que o código em questão chegue o mais longe que puder e que traga os maiores benefícios que forem possíveis. Este é, acredito, um dos principais objetivos do Software Livre, no qual nós apoiamos entusiasticamente.

O código em nossa árvore sob a Licença Pública Geral GNU (GPL) ou Licença Pública Menos Geral GNU (LGPL) contém consideravelmente mais restrições impeditivas, contudo, felizmente mais pelo lado de forçar o acesso irrestrito ao código do que o oposto tradicional. Devido às complexidades adicionais que podem envolver o uso comercial de software GPL, nós temos preferência pelos programas lançados sob a licença de direito autoral BSD sempre que possível, por ser uma licença consideravelmente mais flexível.

1.3.3. O Modelo de Desenvolvimento FreeBSD

Contribuição de Satoshi Asami.

O desenvolvimento do FreeBSD é um processo muito aberto e flexível, literalmente composto pela contribuição de centenas de pessoas ao redor do mundo, como pode ser visto em nossa lista de contribuidores. A infraestrutura de desenvolvimento do FreeBSD permite que estas centenas de desenvolvedores colaborem mutuamente pela Internet. Estamos constantemente à procura de novos desenvolvedores e novas idéias, e aqueles dispostos a se tornarem mais envolvidos com o projeto precisam apenas nos contatar através da lista lista de discussões técnicas FreeBSD (hackers). A lista lista de discussão dos anúncios FreeBSD também está disponível aos que querem ficar mais informados sobre as principais áreas de trabalho do projeto FreeBSD.

Informações úteis sobre o projeto FreeBSD e seu processo de desenvolvimento, seja para quem trabalha de forma independente ou em cooperação mútua:

O repositório CVS

A árvore de fontes central do FreeBSD é mantida com CVS (Sistema de Versões Concorrentes), uma ferramenta de controle de código fonte disponível gratuitamente e que vem junto com o FreeBSD. O repositório CVS primário está localizado em Santa Clara, Califórnia, nos EUA, de onde ele é replicado para várias máquinas espelho ao redor do mundo. A árvore CVS, que contém os ramos -CURRENT e -STABLE, podem ser completamente replicadas, de forma extremamente fácil, para sua própria máquina. Refira-se à seção Sincronizando Seus Fontes para obter mais informações sobre isso.

A lista de committers

Os committers são as pessoas que tem acesso de escrita na árvore CVS e tem autorização para realizar modificações diretas nos fontes do FreeBSD (o termo “committer” se origina no comando commit do cvs(1), que é utilizado para incluir novas mudanças no repositório CVS). Ou seja, os committers são os desenvolvedores do FreeBSD. A melhor maneira de propor modificações ou contribuições para revisão dos committers é utilizar o comando send-pr(1). Se houver algum problema com o sistema uma alternativa é entrar em contato com os desenvolvedores pela lista de discussão dos committers do FreeBSD.

O Grupo Central (Core Team) do FreeBSD

O FreeBSD core team seria equivalente ao corpo de diretores, se o Projeto FreeBSD fosse uma empresa. A tarefa primária do core team é garantir que o projeto, de forma geral, esteja em boa forma e caminhando nas direções corretas, bem como o recrutamento de novos membros para o core team conforme outros vão se desligando do cargo. O core team atual foi eleito, a partir de um grupo de candidatos ao cargo, em julho de 2006. Eleições para o core team acontecem a cada 2 anos.
Alguns membros do core team tem ainda áreas específicas de responsabilidade no projeto. Eles são responsáveis por garantir que uma grande parte do sistema funcione como anunciado. Para a lista completa dos desenvolvedores do FreeBSD e suas respectivas áreas de responsabilidade, por gentileza, consulte a Lista de Contribuidores.

Nota: A maioria dos membros do core team são voluntários no desenvolvimento do FreeBSD, e não se beneficiam financeiramente do projeto, de forma que “comprometimento” não pode ser confundido com “suporte garantido” por parte destes. A analogia com o “corpo de diretores” feita acima não é muito real, melhor seria dizermos que estas são as pessoas que desistiram de suas vidas em favor do FreeBSD.

Contribuidores externos

Por último, mas definitivamente não em último, o maior grupo de desenvolvedores são os próprios usuários do sistema, que oferecem retorno e correções de problemas ao projeto de maneira consideravelmente constante. A forma principal de se manter em sintonia com os trechos de desenvolvimento menos centralizados no FreeBSD é se inscrever na lista lista de discussões técnicas FreeBSD (hackers) onde tais assuntos são discutidos. Veja Apêndice C para obter mais informações sobre as inúmeras listas de discussão do projeto FreeBSD.
A Lista de Contribuidores do FreeBSD é grande e está em constante crescimento, então por que você não entra nessa lista hoje, contribuindo com alguma coisa em troca para o projeto FreeBSD?
Oferecer código não é a única maneira de contribuir com o projeto. Para uma lista mais completa do que precisa ser feito, por gentileza, refira-se ao sítio WWW do Projeto FreeBSD.

Em resumo, nosso modelo de desenvolvimento é um conjunto de círculos concêntricos. O modelo centralizado é projetado com o objetivo de oferecer conveniência aos usuários do FreeBSD, que são agraciados com um modelo simples para acompanhar uma base centralizada de códigos, e não para afastar contribuidores em potencial! Nosso desejo é apresentar um sistema operacional estável com um amplo e coerente conjunto de programas aplicativos que os usuários podem instalar e utilizar de forma fácil. O modelo atual funciona muito bem na realização deste objetivo.

Tudo que pedimos aos que desejam se juntar a nós como desenvolvedores FreeBSD, é um pouco da mesma dedicação que os membros atuais têm, para prover o contínuo sucesso do projeto!

1.3.4. A Versão Atual do FreeBSD

FreeBSD é um sistema cujos fontes foram inteiramente baseados no 4.4BSD-Lite, disponível livremente para computadores baseados em Intel i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (ou compatíavel), Xeon™, DEC Alpha™ e Sun UltraSPARC. O sistema é baseado primariamente em programas do CSRG (Grupo de Pesquisa em Sistemas Computacionais) da U.C. Berkeley, com algumas melhorias incorporadas do NetBSD, OpenBSD, 386BSD e da Fundação do Software Livre (FSF).

Desde o lançamento do FreeBSD 2.0 no final de 1994, a performance, as funcionalidades, e a estabilidade do FreeBSD foram dramaticamente incrementados. A maior modificação foi a melhoria do sistema de memória virtual com a inclusão do merged VM/file buffer cache que não apenas melhora a performance, mas também reduz pedaços perdidos de memória no FreeBSD, tornando a configuração mínima de 5 MB um requerimento mais aceitável. Outras melhorias incluem suporte completo a cliente e servidor NIS, suporte a transaction TCP, discagem PPP por demanda, suporte DHCP integrado, um subsistema SCSI aperfeiçoado, suporte ISDN, suporte para ATM, FDDI, adaptadores de rede Fast Ethernet e Gigabit Ethernet (1000 Mbit), suporte aperfeiçoado às adaptadoras Adaptec mais recentes, e muitos milhares de correções de problemas.

Além da distribuição base, o FreeBSD oferece ainda uma coleção de aplicações (ports) composta de milhares de programas populares. No momento da preparação deste documento, haviam quase 17.000 ports! A lista de ports varia de servidores http (WWW) a jogos, linguagens de programação, editores de texto e praticamente tudo o mais que se encaixe entre eles. A coleção de ports inteira requer aproximadamente 440 MB de espaço para armazenamento, sendo todos ports na verdade “deltas” dos seus fontes originais. Isto torna o processo de atualização dos ports consideravelmente mais fácil para nós e reduz muito a demanda por espaço em disco, especialmente quando comparado à versão 1.0 da Coleção de Ports. Para compilar uma aplicação basta entrar no diretório do port que você deseja instalar, digitar make install e deixar o sistema cuidar do resto. A distribuição original para cada aplicação é obtida dinamicamente do CDROM ou de um sítio FTP, portanto tudo que você precisa é ter espaço em disco o bastante para compilar os programas desejados. Quase todos os programas também estão disponíveis como “pacotes” pré-compilados, que podem ser instalados com um simples comando (pkg_add) por aqueles que preferem não compilar suas próprias aplicações a partir dos fontes. Mais informações sobre pacotes e sobre ports podem ser encontradas no Capítulo 4

Uma série de documentos adicionais que eventualmente você pode jugar muito úteis durante o processo de instalação e utilização do FreeBSD podem ser encontrados também no diretório /usr/share/doc em qualquer estação FreeBSD recente, desde que se tenha optado pela instalação dos documentos. Você pode visualizar os manuais instalados localmente com qualquer navegador HTML, utilizando as seguintes URLs:

O FreeBSD Handbook

 [file:///usr/share/doc/handbook/index.html /usr/share/doc/handbook/index.html]

As FreeBSD FAQ

 [file:///usr/share/doc/faq/index.html /usr/share/doc/faq/index.html]

Você ainda pode acessar as cópias principais (e freqüentemente mais atualizadas) em http://www.FreeBSD.org/.



Anterior Índice Próxima
Bem-vindo ao FreeBSD! Topo Instalando o FreeBSD
Última edição desta página: 07/10/2014 (20141007020410)