FreeBSD가 GPL 라이센스 GCC를 사용하는 이유는 무엇입니까?


11

FreeBSD가 GCC를 기본 컴파일러로 사용하는 이유는 무엇입니까?

FreeBSD 철학의 핵심 축은 GNU 소프트웨어, 특히 GPL 코드를 사용 하지 않는다는 인상을 받고 있습니다.

그러나 GNU와 GPL 인 GCC는 FreeBSD와 함께 제공됩니다.

왜?

답변:


13

FreeBSD 10 32 비트 및 64 비트 Intel x86 시스템에 GCC 대신 BSD 라이센스 Clang 컴파일러를 사용합니다. FreeBSD가 릴리즈 한 모든 CPU 플랫폼에서 도매 전환을 방해하는 유일한 것은 개발자의 시간과 관심사입니다.

FreeBSD 9 ( 이 질문이 처음 제기되었을 때 곧 출시 될 예정 임)에 관해서는 Clang을 기본 컴파일러로 만드는 것에 대한 이야기 가 있었지만 Clang을 GCC와 함께 배송하고 GCC를 기본값으로두기로 결정한 데 충분한 문제가있었습니다. 이번 릴리스의 경우

왜 FreeBSD가 몇 년 전에 비 GPL 컴파일러로 이동하지 않았거나 심지어 자체 컴파일러를 만들지 않았던 이유는 간단합니다.

학부생 CS 학생이라면 누구나 컴파일러를 작성할 수 있습니다. 물론 코스 요구 사항 일 수도 있지만 훌륭한 컴파일러를 작성하는 것은 어렵습니다. 좋은 컴파일러를 작성하는 것은 C 나 C ++와 같은 언어에 필요할 때 여전히 어렵습니다. 새로운 컴파일러가 GCC의 성능과 기능에 접근 해야한다는 합리적인 결정을 내릴 때 작업이 여전히 어려워집니다 .

그 때문에 GCC 4.2는 여전히 FreeBSD 9의 기본 컴파일러입니다.

그런데 GCC 3.4, 4.4, 4.6, 4.7 및 4.8은 FreeBSD 9 Ports 트리에 있으며 일부 GCC 버전은 앞으로 몇 년 동안 포트에 남아있을 가능성이 높습니다. GBSD로만 빌드되는 FreeBSD 포트에 많은 소프트웨어 패키지가 있습니다.


1
컴파일러는 최소한 성능에 근접해야 할뿐만 아니라 언어 확장도 지원해야합니다. 개발자들은 어떤 이유로 (또는 없음 ;-))에 대한들을 사용
요하네스

8

필요하지 않을 수 있습니다. 최근까지 BSD 라이센스 C 컴파일러는 기능 패리티가 거의 없거나 거의 없었습니다 gcc.

에서 FreeBSD 프로젝트의 목표 :

GPL (GNU General Public License) 또는 LGPL (Library General Public License)에 해당하는 소스 트리의 코드에는 최소한 일반적인 문자열이 아닌 강제 액세스 측면에 약간 더 많은 문자열이 첨부되어 있습니다. 그러나 GPL 소프트웨어의 상업적 사용에서 진화 할 수있는 추가적인 복잡성 때문에 합리적인 옵션 인 경우보다 편안한 BSD 저작권으로 제출 된 소프트웨어를 선호합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.