Apple chciało zintegrować LLVM z GCC, ale deweloperzy odmówili

21
1505
LLVM
LLVM

Wczoraj mogliśmy przeczytać o propozycji wprowadzenia zmian do GCC, a także skrytykowaniu LLVM przez Richarda Stallman. Obie wiadomości są dość ważne, ponieważ już w 2005 roku padła propozycja integracji LLVM lub jego wielu funkcji w kompilatorze GCC. Chris Lattner, który w tamtym okresie pracował dla Apple i zajmował się kodem LLVM, chciał aby część kodu nowego kompilatora trafiła do kodu GCC na licencji GPL.

Pierwsza wiadomość o integracji pochodzi z 18 listopada 2005 roku: LLVM/GCC Integration Proposal, natomiast już 22 listopada tego samego roku był gotowy odpowiedni patch: The actual LLVM integration patch.

Jednakże pod dłuższej debacie deweloperzy GCC odmówili przyjęcia kodu, bo:

  • LLVM był pisany w C++, a nie w C
  • Nie podobała się modularna struktura oraz duża ilość bibliotek

Patrząc jednak w czasie, sporo się od tamtej pory zmieniło:

ŹRÓDŁOphoronix.com
Poprzedni artykułRichard Stallman nazywa LLVM tragicznym krokiem wstecz
Następny artykułParole 0.6.0 przeniesiony na GTK+3
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

21 KOMENTARZE

    • Dzień dobry? Red Hat to taka głupia firma mająca kluczową pozycję w wielu projektach Open Source. Dość znana, z racji na tworzenie wybitnie nieprzyjaznego upstreama.

    • Red Hat ma dominującą pozycję w GCC i de facto to oni podejmują wszelkie decyzje. Jak nie wierzysz to rzuć okiem na listę mailingową. Podobnie rzecz ma się z GNOME: teoretycznie jest to projekt FSF, w praktyce w 90% Red Hata.

    • Zawsze możecie wspólnie z resztą komentarzowych krzykaczy zrobić zrzutkę, zainwestować tyle co RH (lub więcej) i wtedy będziecie mogli wdrażać swoje genialne pomysły.

      Powodzenia.

    • Co to znaczy „ma dominującą pozycję”? Będziesz dodawał tyle commitów co oni, to też będziesz miał „dominującą pozycję”.

      Samo biadolenie (na szczęście) nie daje takiej pozycji…

    • To nie tak. Commity muszą być zaakceptowane przez pracowników RedHata, którzy zajmują decyzyjne stanowiska w tych projektach. Ogólnie jeśli chcesz cokolwiek zrobić i nie zgadzasz się z dążeniem do monopolizacji RedHata musisz zrobić forki i je utrzymywać. Pisząc własny program musisz zrobić forki 15 innych projektów i je utrzymywać (bo RedHat zadbał o to, aby projekty uzależnić od siebie i mieć monopol, a nie konkurować z innymi rozwiązaniami).

    • Chyba nie jest dziwne że mają stanowiska decyzyjne. Dziwne byłoby gdyby odwalali większość roboty sami (ładując w to mamonę) i pozwalali każdemu programiście z zewnątrz ciągnąć projekt we własną stronę. Wtedy by się zrobił burdel.

      Osobiście nie widzę sensu w twoich zarzutach. Jak niby chciałbyś żeby takimi projektami zarządzano. Torvalds też nie włącza do drzewa byle czego.

      Możesz o rozwoju kernela mówić to samo co RH czyli „Wole zforkować ten projekt i 15 innych bo boje się że mój commit do kernela nie zostanie przyjęty”. Wybacz mi, ale te zarzuty są naprawdę zabawne ;-)

      Analogicznie do twojego komentarza ” (bo Linus {wstaw tutaj inną wpływową osobę, kierującą dowolnym wiodącym projektem} zadbał o to, aby projekt uzależnić od siebie i mieć monopol, a nie konkurować z innymi rozwiązaniami np. BSD).”

    • Skoro Canonical nie ma wkładu to jakby mieli ciągnąć we własną stronę?
      A może właśnie dlatego nie mają wkładu. Kiedyś próbowali dodać widget z powiadomieniami i nikt się nie chciał zgodzić.

    • Skoro wkład Canonical do GNOME nie przekracza 1% nieinwazyjnych commitów (powiedzmy bugfixów, poprawek itp.) to nie ma co liczyć że będą mieli realny wpływ na dodawanie „kontrowersyjnych” zmian (np. jakiegoś feature którego przydatność jest dyskusyjna).

    • Jak znam nową politykę tych trolli z Gnome, to dla nich każda funkcjonalność jest dyskusyjna.

    • To już inna kwestia. Dla mnie cała funkcjonalność tego ich pożal-się-boże gnome-shella jest dyskusyjna.

    • „Torvalds też nie włącza do drzewa byle czego. Nie pozwala też byle komu zarządzać swoim projektem.”

      Torvarlds nie włącza kodu złego technicznie, a nie takiego który mu się nie podoba od strony kierunku rozwoju. Torvarlds dodał łatkę od Microsoftu do ich maszyny wirtualnej mimo, że z jego punktu widzenia jest to bez sensu, pozwala na koegzystowanie wielu konkurencyjnym projektom w jądrze.

      Gdyby pracownik RedHat’a zarządzał kodem linuksa to nie miałbyć kilku hypervisororów do wyboru, nie miałbyś tylu sprzętowych architektur wspieranych… miałbyś tylko to co che mieć ta firma i nic więcej. Na szczęście Linus działa zupełnie inaczej i jedyną wartością jest jakość kodu, dlatego rozwój jądra jest tak dynamiczny i wielokierunkowy (często są to sprzeczne kierunki, bo nie myśli tylko o danej firmie która chce kierunek serwerów, czy tylko o rynku mobilnym, a wszelkie łatki są przyjmowane i jądro jest uniwersalne).

    • Co do Linusa to nie chodzi o jakość kodu paczy, tylko raczej o zrozumienie. Nie przyjmowane są też zbyt duże łatki, których działania opiekun nie jest w stanie przewidzieć. Było kilka afer związanych z IBM i innymi firmami, które chciały wcisnąć molocha i się nie dało.

      Sam Linus ma hopla na punkcie wydajności kodu, ale nie wiem czy wymaga tego głównie od siebie, czy od innych.

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj