um recurso muito interessante nos projetos Open Source. Se um time de desenvolvedores resolver nao mais liberar o codigo fonte de algum software, os usuarios poderao continuar o desenvolvimento da ultima versao liberada ao publico. Um exemplo disso e o Mozilla Firefox, que derivou do Mozilla, que por sua vez derivou do codigo aberto do Netscape Navigator. O OpenBSD surgiu como um fork do NetBSD. Os Modelos de Desenvolvimento Softwares Open Source podem ser desenvolvidos de varias maneiras, no entanto ha duas formas de desenvolvimento mais utilizados nos projetos abertos: O modelo Catedral e O modelo Bazar No modelo Catedral, ha um time de desenvolvedores eleitos que estao la por proprio merito e que conhecem bem os objetivos do projeto e a estrutura de codigo do software. Nesse modelo, os projetos aceitam contribuicoes da comunidade em geral atraves de relatos de falhas (bug reports) ou correcoes (patches), que sao partes de codigo que alteram o codigo fonte do software, mas que so irao fazer parte do codigo fonte principal se forem aceitos pelos desenvolvedores do time. Para fazer parte do time de desenvolvimento, uma pessoa poderia ser indicada ou mostrar suas habilidades tecnicas contribuindo com o projeto, mas sem fazer parte dele. O modelo de desenvolvimento Catedral pode ser comparado ao desenvolvimento de um software proprietario, com a diferenca que o codigo fonte esta la disponivel para os usuarios e que eles podem fazer o que bem entenderem (dependendo da licenca usada). Ja no modelo Bazar, usado primeiramente no projeto do kernel Linux, o desenvolvimento e feito de forma totalmente aberta, utilizando a internet, e qualquer pessoa esta livre para inserir suas proprias funcionalidades ou remendos. O livro de Eric Raymond, "A Catedral e o Bazar", mostra mais detalhes desses dois estilos de desenvolvimento. As equipes de desenvolvimento Por meio da internet, as equipes de desenvolvimento se reunem, discutem o que deve entrar ou sair do projeto, definem metas e desenvolvem o software. Para que isso aconteca, uma serie de tecnicas e ferramentas sao necessarias: comunicacao, sistema de controle de versoes, controle de bugs e documentacao. Vamos detalhar essas ferramentas a seguir: Comunicacao O pre-requisito para uma equipe de programadores desenvolver software de forma colaborativa utilizando a internet sao os meios de comunicacao. Sem isso, nao seriam estabelecidas metas e nao haveria discussoes. Alguns projetos utilizam Mail Lists (Listas de E-mail) para se comunicarem, trocando informacoes sobre desenvolvimento e ate trocando patches com alteracoes no codigo fonte principal. 2008 Variavel HackerO site oficial do kernel Linux fornece linkspara o acesso aos arquivos de todas asmensagens trocadas na lista linux-kernel, que saousadas pelos desenvolvedores do projetoOutros projetos fornecem canais de IRC (Internet Really Chat), um protocolo de chat muito antigo que era usado com o cliente mIRC, em Windows. Projetos menores tambem utilizam Foruns de Discussao, em que qualquer usuario pode publicar suas duvidas usando apenas um navegador de internet e uma conta de cadastro no forum do projeto. Esses meios de comunicacao tambem sao usados para prover suporte aos usuarios.2008 Variavel HackerTela de chat de IRC no canal #lighttpd da rede FreeNode,onde