FreeBSD 10 utilisera le compilateur Clang sous licence BSD au lieu de GCC pour les systèmes Intel x86 32 et 64 bits. La seule chose qui empêche un basculement en gros sur toutes les plates-formes CPU avec les versions FreeBSD est le temps et l'intérêt des développeurs.
Quant à FreeBSD 9 - qui était sur le point d'être publié lorsque cette question a été posée pour la première fois - il a été question de faire de Clang le compilateur par défaut, mais il y avait suffisamment de problèmes pour qu'ils décident de livrer Clang aux côtés de GCC et de laisser GCC par défaut. pour cette version.
Quant à savoir pourquoi FreeBSD n'a pas essayé de passer à un compilateur non GPL des années auparavant, ou peut-être même de créer le leur, la raison est simple: c'est difficile.
Tout étudiant CS de premier cycle peut écrire un compilateur - cela peut même être une exigence de cours - mais écrire un bon compilateur est difficile. Écrire un bon compilateur est encore plus difficile quand il doit l'être pour un langage comme C ou C ++. La tâche devient encore plus difficile lorsque vous prenez la décision raisonnable dont le nouveau compilateur a besoin pour au moins approcher les performances et les capacités de GCC, qui a quelques décennies de développement derrière lui.
Pour cette raison, GCC 4.2 est toujours le compilateur par défaut sur FreeBSD 9.
Soit dit en passant, GCC 3.4, 4.4, 4.6, 4.7 et 4.8 sont dans l'arborescence des ports FreeBSD 9, et une version de GCC est susceptible de rester dans les ports pendant de nombreuses années à venir. Il y a beaucoup de packages logiciels - dont beaucoup sont dans les ports FreeBSD - qui ne construisent qu'avec GCC.
C'est probablement par nécessité. Jusqu'à récemment, les compilateurs C sous licence BSD étaient probablement peu nombreux ou n'étaient pas proches de la parité des fonctionnalités
gcc
.Des objectifs du projet FreeBSD :
la source