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

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

    przez -
    21 442
    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.