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

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

przez -
21 628
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:

  • herr

    Oj znowu RH. To samo w GNOME, GTK, systemd, PA i wszystkim innym.

    • Tomaszek

      Jak to znowu RH? Nie rozumiem

    • herr

      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.

    • Karisu

      tylko co ma piernik do RedHata.

      to jest news o FSF i Apple – nie ma tu nic o RH

    • herr

      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.

    • darekk

      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.

    • Kaleson

      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…

    • her

      O ile moje commity zostaną przyjęte ;-)

    • pijaczek

      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).

    • Kaleson

      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).”

    • sprae

      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ć.

    • Kaleson

      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).

    • sprae

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

    • Kaleson

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

    • pijaczek

      “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).

    • sprae

      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.

    • herr

      vide Cinamon wyforkowany z GNOME bo rozszerzenia nie zostały przyjęte.