Por que o FreeBSD usa o GCC licenciado sob GPL?

12

Por que o FreeBSD usa o GCC como seu compilador padrão?

Eu tenho a impressão de que um pilar central da filosofia do FreeBSD é não para usar qualquer software GNU e, em particular, código GPL.

No entanto, o GCC que é tanto GNU quanto GPL vem junto com o FreeBSD.

Por quê?

    
por JasonH 20.12.2011 / 07:15

2 respostas

13

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 mudança geral em todas as plataformas de CPU que o FreeBSD libera é o tempo e o interesse do desenvolvedor.

Quanto ao FreeBSD 9 - que estava prestes a ser lançado quando essa questão foi lançada pela primeira vez posou - havia conversa sobre tornar o Clang o compilador padrão, mas havia problemas suficientes com ele que decidiram enviar o Clang ao lado GCC e deixar o GCC como padrão para esta versão.

Quanto ao motivo pelo qual o FreeBSD não tentou migrar para um compilador não-GPL anos antes, ou talvez até mesmo criar o seu próprio, o motivo é simples: é difícil.

Qualquer estudante de graduação na área de computação pode escrever um compilador - pode até ser uma exigência do curso - mas escrever um compilador bom é difícil. Escrever um bom compilador é mais difícil ainda quando precisa ser para um idioma 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 tem algumas décadas de desenvolvimento por trás dele.

Por causa disso, o GCC 4.2 ainda é o compilador padrão no FreeBSD 9.

GCC 3.4, 4.4, 4.6, 4.7 e 4.8 estão na árvore do FreeBSD 9 Ports, a propósito, e alguma versão do GCC provavelmente permanecerá em Ports por muitos anos. Há muitos pacotes de software por aí - muitos dos quais estão no FreeBSD Ports - que só são compilados com o GCC.

    
por 20.12.2011 / 18:15
8

É provavelmente por necessidade. Até recentemente, os compiladores C licenciados pelo BSD eram provavelmente poucos ou não chegavam perto de ter paridade com gcc .

De Objetivos do Projeto FreeBSD :

That code in our source tree which falls under the GNU General Public License (GPL) or Library General Public License (LGPL) comes with slightly more strings attached, though at least on the side of enforced access rather than the usual opposite. Due to the additional complexities that can evolve in the commercial use of GPL software we do, however, prefer software submitted under the more relaxed BSD copyright when it is a reasonable option to do so.

    
por 20.12.2011 / 07:35