Eu não acho que vou fornecer a você e a todos a resposta perfeita, no entanto, usando um sistema BSD todos os dias para o trabalho, tenho certeza que posso lhe dar uma visão útil no mundo BSD. Eu nunca usei o NetBSD, não vou falar muito sobre isso.
Do they use the same kernel?
Não, embora haja semelhanças devido aos garfos históricos. Cada projeto evoluiu separadamente.
Do they use the same userland tools? (what are the differences, if any?)
Todos seguem o POSIX. Você pode esperar que um conjunto de ferramentas tenha a mesma funcionalidade entre * BSD. Também é comum ver algumas diferenças óbvias nas ferramentas de gerenciamento de processo / rede dentro dos BSDs.
Do they use the same package/source management system?
Eles fornecem um sistema de empacotamento, diferente para cada sistema operacional.
Do they use the same default shell?
Não, por exemplo, o FreeBSD usa o csh, o OpenBSD usa o ksh.
Are binaries portable between them?
Não:
(XXXX@freebsd-6 101)file 'which ls'
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.5, dynamically linked (uses shared libs), stripped
Eles não suportam emulação binária estável e rápida. Não confie nisso.
Are sources portable between them?
Alguns sim, contanto que você não use código do kernel ou código libc (que está ligado ao sistema operacional), por exemplo.
Do they use different directory trees?
Não, eles são muito parecidos com o Linux aqui. No entanto, o FreeBSD defende o uso de / usr / local / etc para arquivos de configuração de software de terceiros. O OpenBSD coloca tudo em / etc ... Eles colocam todos os terceiros em / usr / local, enquanto a distribuição do Linux fará o que eles acharem melhor. Em geral, você pode dizer que * BSD são muito conservadores sobre isso, as coisas pertencem onde eles pertencem, e isso não é algo para se fazer.
How big are their respective communities? Are they the same order of magnitude?
O FreeBSD é o maior e mais ativo, você pode alcançá-lo através de vários fóruns diferentes, listas de discussão, canais de IRC e ... O OpenBSD tem uma boa comunidade, mas principalmente visível através do IRC e das listas de discussão.
Na verdade, se você acha que precisa de uma boa comunidade, o FreeBSD é o caminho a seguir. As comunidades do NetBSD e do OpenBSD estão centradas no desenvolvimento, falam sobre novas melhorias, etc. Elas realmente não gostam de fazer suporte básico ao usuário ou publicidade. Eles esperam que todos sejam usuários unix avançados e possam ler a documentação antes de perguntar qualquer coisa.
How much of the current development is common?
Devido ao código de licença realmente livre fluir entre os projetos, o OpenBSD frequentemente corrige seu código seguindo o NetBSD (já que suas fontes têm muito em comum), FreeBSD pega e integra o Filtro de Pacotes do OpenBSD, etc. É obviamente mais difícil quando se trata de drivers e outras coisas do kernel.
What are the main incompatibilities between them?
Eles não são compatíveis em uma forma binária, mas são compatíveis na sintaxe e no código. Você pode confiar nisso para conseguir portabilidade em seu código. Ele irá construir ou executar facilmente em todos os tipos de BSD, exceto se você estiver muito próximo do kernel (ifconfig, pfctl ...).
Veja como você pode gostar de aprender com o mundo do BSD:
Tente substituir seu roteador doméstico por uma caixa openbsd, reproduza com pf e a rede. Você vai ver como é fácil fazer o que você quer. É limpo, confiável e seguro. Use um FreeBSD como desktop, eles suportam muitas GPUs, você pode usar flash em alguma extensão, há alguma compatibilidade com binários do Linux. Você pode criar seu kernel personalizado com segurança (na verdade, isso é recomendado). No geral, é uma boa experiência de aprendizado. Experimente o NetBSD em hardwares muito antigos ou até em torradeiras .
Embora sejam diferentes, cada um deles tenta ser um bom sistema operacional, e isso irá corresponder mais aos usuários do que às situações. Como uma experiência de aprendizado, experimente todas (Net / Open / Free), mas depois você pode se encontrar usando apenas 1 para a maioria das situações (já que você é mais conhecedor de um sistema específico ou se encaixa mais com a comunidade). p>
Os outros BSDs são versões híbridas ou apenas ligeiramente modificadas, acho melhor ficar perto da fonte do desenvolvimento de software (usar filtro de pacotes no OpenBSD, configurar você mesmo sua área de trabalho no FreeBSD, ...).
Como nota pessoal, fico feliz em ver um entusiasta como você e espero que você encontre muitas coisas boas no mundo BSD. O BSD não é sobre odiar janelas ou outros sistemas operacionais, é sobre gostar do Unix.