FreeBSD 10 utilizará el compilador Clang con licencia BSD en lugar de GCC para sistemas Intel x86 de 32 y 64 bits. Lo único que impide un cambio total en todas las plataformas de CPU que lanza FreeBSD es el tiempo y el interés del desarrollador.
En cuanto a FreeBSD 9, que estaba a punto de ser lanzado cuando esta pregunta se planteó por primera vez, se habló de hacer de Clang el compilador predeterminado, pero hubo suficientes problemas con él que decidieron enviar Clang junto con GCC y dejar GCC por defecto para este lanzamiento
En cuanto a por qué FreeBSD no intentó pasar a un compilador que no es GPL años antes, o tal vez ni siquiera creó el suyo, la razón es simple: es difícil.
Cualquier estudiante universitario de CS puede escribir un compilador, incluso puede ser un requisito del curso, pero escribir un buen compilador es difícil. Escribir un buen compilador es aún más difícil cuando debe ser para un lenguaje como C o C ++. La tarea se vuelve aún más difícil cuando toma la decisión razonable de que el nuevo compilador necesita al menos acercarse al rendimiento y la capacidad de GCC, que tiene un par de décadas de desarrollo detrás.
Debido a eso, GCC 4.2 sigue siendo el compilador predeterminado en FreeBSD 9.
GCC 3.4, 4.4, 4.6, 4.7 y 4.8 están en el árbol de Puertos de FreeBSD 9, por cierto, y es probable que alguna versión de GCC permanezca en los Puertos por muchos años más. Hay muchos paquetes de software, muchos de los cuales se encuentran en los puertos de FreeBSD, que solo se compilan con GCC.