O FreeBSD 10 usará o compilador Clang licenciado pelo BSD em vez do GCC para sistemas Intel x86 de 32 e 64 bits. A única coisa que impede uma troca por atacado em todas as plataformas de CPU que o FreeBSD lança é o tempo e o interesse do desenvolvedor.
Quanto ao FreeBSD 9 - que estava prestes a ser lançado quando essa pergunta foi colocada pela primeira vez - houve uma discussão sobre tornar o Clang o compilador padrão, mas houve problemas suficientes com o que decidiram enviar o Clang ao lado do GCC e deixar o GCC como padrão. para esta versão.
Quanto ao motivo pelo qual o FreeBSD não tentou mudar para um compilador não-GPL anos antes, ou talvez nem mesmo criou o seu, o motivo é simples: é difícil.
Qualquer estudante de graduação em CS pode escrever um compilador - pode até ser um requisito do curso - mas escrever um bom compilador é difícil. Escrever um bom compilador é ainda mais difícil quando é necessário para uma linguagem como C ou C ++. A tarefa se torna ainda mais difícil quando você toma a decisão razoável de que o novo compilador precisa pelo menos abordar o desempenho e a capacidade do GCC, que possui algumas décadas de desenvolvimento por trás.
Por isso, o GCC 4.2 ainda é o compilador padrão no FreeBSD 9.
O GCC 3.4, 4.4, 4.6, 4.7 e 4.8 estão na árvore do FreeBSD 9 Ports, a propósito, e é provável que alguma versão do GCC permaneça no Ports por muitos anos. Existem muitos pacotes de software por aí - muitos dos quais estão no FreeBSD Ports - que são construídos apenas com o GCC.
Provavelmente é por necessidade. Até recentemente, os compiladores C licenciados pelo BSD eram provavelmente poucos ou não chegavam perto da paridade de recursos
gcc
.Dos Objetivos do Projeto FreeBSD :
fonte