FreeBSD neden GPL lisanslı GCC'yi kullanıyor?


11

FreeBSD neden varsayılan derleyici olarak GCC kullanıyor?

FreeBSD felsefesinin temel direğinin herhangi bir GNU yazılımı ve özellikle GPL kodu kullanmak olmadığı izlenimi altındayım .

Yine de hem GNU hem de GPL olan GCC, FreeBSD ile birlikte gelir.

Neden?

Yanıtlar:


13

FreeBSD 10 , 32 ve 64 bit Intel x86 sistemleri için GCC yerine BSD lisanslı Clang derleyicisini kullanacaktır . FreeBSD'nin piyasaya sürdüğü tüm CPU platformlarında toptan geçişi engelleyen tek şey geliştirici zamanı ve ilgisidir.

Bu soru ilk ortaya çıktığında piyasaya sürülmek üzere olan FreeBSD 9'a gelince, Clang'ı varsayılan derleyici yapma hakkında konuşuldu , ancak Clang'ı GCC'nin yanında göndermeye ve GCC'yi varsayılan olarak bırakmaya karar vermeleri için yeterince sorun vardı bu sürüm için.

FreeBSD'nin yıllar önce neden GPL olmayan bir derleyiciye geçmeyi denemediği, hatta belki de kendilerininkini yaratmadığı için, neden basit: zor.

Herhangi bir lisans öğrencisi derleyici yazabilir - bu bir ders koşulu bile olabilir - ama iyi bir derleyici yazmak zor. İyi bir derleyici yazmak, C veya C ++ gibi bir dil için olması gerektiğinde daha zordur. Yeni derleyicinin en azından birkaç on yıllık gelişimi olan GCC'nin performansına ve kapasitesine yaklaşması gerektiği konusunda makul bir karar verdiğinizde görev daha da zorlaşıyor .

Bu nedenle, GCC 4.2, FreeBSD 9'da hala varsayılan derleyicidir.

GCC 3.4, 4.4, 4.6, 4.7 ve 4.8 bu arada FreeBSD 9 Bağlantı Noktaları ağacındadır ve bazı GCC sürümlerinin uzun yıllar boyunca Limanlarda kalması muhtemeldir. Orada, birçoğu FreeBSD Portlarında olan ve sadece GCC ile inşa edilen birçok yazılım paketi var.


1
Derleyici yalnızca performansa yakın olmamalı, dil uzantılarının da desteklenmesi gerekir. Geliştiriciler genellikle bunları bir nedenden dolayı kullanırlar (veya hiçbiri ;-))
johannes

8

Muhtemelen zorunluluktur. Yakın zamana kadar, BSD lisanslı C derleyicileri muhtemelen çok azdı veya özellik paritesine yaklaşmadı gcc.

Gönderen FreeBSD Projesi Hedefleri :

Kaynak ağacımızdaki GNU Genel Kamu Lisansı (GPL) veya Kütüphane Genel Kamu Lisansı (LGPL) altında yer alan bu kod, en azından normalin tersi yerine zorunlu erişim tarafında olsa da, biraz daha fazla dizeyle birlikte gelir. Bununla birlikte, GPL yazılımının ticari kullanımında gelişebilecek ek karmaşıklıklar nedeniyle, bunu yapmak için makul bir seçenek olduğunda daha rahat BSD telif hakkı altında gönderilen yazılımı tercih ediyoruz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.