LLVM / Clang. U ludi GCC?

llvm-logotip

Morao sam napisati post o ovoj kontroverzi objavljeno u LWN. A to je da kompajler LLVM / Clang počinje brinuti na popisima za slanje GNU-a.

Jednom davno postojao je kompajler zvan GCC koji sa svojih više od 25 godina postojanja i dalje poštuje svoju besplatnu i copyleft licencu, kao i kompajler koji koristi linux kernel, a donedavno FreeBSD. Svatko tko je želio naučiti razvijati se na C ili C ++, sigurno je koristio GCC bez obzira na arhitekturu svog stroja. Međutim, GCC je patio od određenog tajnost, dijelom zbog filozofije onih koji su ga stvorili, a dijelom zbog razvoja u stilu katedrale, gdje se vršila snažna kontrola nad onim što se događalo u OUU, a što nije (sada ne toliko, ali još uvijek postoji), što je popločalo način za izgradnju prednjih krajeva i druge značajke koje je GCC na kraju usvojio. Da biste saznali više o kratkoj povijesti EGCS, Ostavljam ovaj link.

U međuvremenu, na Sveučilištu Illinois u Urbana-Champaign oko 2002. godine, istraživački projekt doveo je do stvaranja kompajlera stvorenog na modularni način tako da njegovi pojedinačni elementi poput front-endova, generatora koda i optimizatora. Zovu ga LLVM jer je isprva bio virtualni stroj niske razine, ali na kraju je bio i više od toga. I licencirali su ga s njegovom vlastitom licencom, što je i bilo slično BSD-u (besplatno, bez kopiranja, slijedi GPL). Godinama kasnije, Apple se zainteresirao za LLVM i usvojio ga za svoje iOS i OS X operativne sustave, kao i za izgradnju (i objaviti pod istom besplatnom licencom kao i LLVM) zovete svoj vlastiti front-end Zveckanje, za C i cilj C. Loša strana je mogućnost uključivanja LLVM / Clang u vlasničkim programimaTakav je slučaj s CUDA kompajlerom iz NVIDIA-e i IDE XCode iz Applea.

Ali jednog dana, prije nekoliko tjedana na emacs popisu, usred rasprave o načinu samodovršavanja dizajniranom za Clang, Dimitry gutov kaže "Odavno su mi rekli da je Richard Stallman toliko mrzio Clanga koji se protivio uključivanju koda koji ga koristi u emacs. " To je kasnije dovelo do nove rasprave o clangu i slobodnom softveru gdje Richard sam pojašnjava: «Naše pravilo je da ne prihvaćamo promjene bilo kojeg GNU paketa koji može raditi s Clangom, ali ne i s GCC-om. Emacs neće poticati ljude da se odmaknu od GCC-a. Kad dobijemo priliku, potaknut ćemo korištenje GCC-a preko Clang-a. "

Ubrzo nakon toga pojavljuje se Eric Raymond (poznat po stvaranju Katedrale i čaršije, zajedno s definicijom otvorenog koda) koji, napola pjevajući joust, napola trolanje, ode i kaže da je LLVM / Clang odgovor na otpor GCC projekta da bude interoperabilniji, plus Clang nadmašuje GCC u nekoliko tehničkih mjera. Prema njemu (i pokazivanje video iz predavanja Chandlera Carrutha), programeri Clang pitali su Stallmana postoji li razlog zašto GCC prednji krajevi ne mogu biti pretvoreni u dinamične knjižnice koje može povezati bilo koji program koji želi raščlaniti izvorni kod. Stallman je odgovorio da je jedan od ciljeva GCC-a izbjegavati vlasnički programi za upotrebu bilo kojeg od njegovih dijelova, pa su namjerno izbjegavali razne stvari koje vjerojatno olakšali bi takvu upotrebu ...... .. što su smatrali beskoristan odgovor. Željeli su stvoriti IDE-ove i druge alate koji dijele kod kompajlera, a GCC im to nije dopustio, pa stvoriti Clang i poslati GCC na / dev / null. Programeri GCC-a skočili su na njega kuje za nedovoljnu informiranost (s činjenicom da Clang u nekoliko tehničkih mjera nadmašuje GCC). Usred kurve pojavljuje se Stallman koji to govori LLVM je užasan povratak, ne iz tehničkih razloga, već samo zbog svoje licence koja ne pripada autorskim pravima koja koristi Appleu.

Tada članak LWN posvećuje dugačke odlomke o modularnosti GCC-a i mjerama koje su namjerno uključili kako bi otežali korištenje njegove interne zastupljenosti u vlasničkim programima, na Iznimka GCC Runtime Library koja rješava pitanje treba li GCC sastaviti vlastiti kod. Također bih želio dodati slučaj FreeBSD (nedavno objavljena verzija 10, zamjenjuje GCC s LLVM / Clang kao glavni prevodilac). Najnoviju verziju GCC-a koju su koristili bio 4.2.1 (najnoviji s licencom GPLv2) i ni luda namjeravali su ga ažurirati na verziju s GPLv3 (oni samo žele BSD bez ikakvog GPL-a), pa im dolazi LLVM / Clang poput rukavice.

Ukratko, još jedna bitka u vječnom ratu GPL protiv BSD-a.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   pandev92 dijo

    Nije zanimljivo, dopustimo programerima da se međusobno ubijaju.

    1.    eliotime3000 dijo

      I tako, imamo još jednog nezadovoljnog radnika koji će raditi u Microsoftu i Appleu.

    2.    okviri dijo

      U pravu ste, podržavam da je softver uvijek besplatan kako bi ga BILO KOJI LJUDI mogao pročitati (to je jedini razlog zašto podržavam i koristim Linux), ali na kraju programeri imaju zadnju riječ.

  2.   f3niX dijo

    Dobar članak, uvijek volim članke o diazepanu, oni izlaze neobično.

  3.   Germán dijo

    Istina je da je to vrlo glupa misao onih koji rade sa gcc-om, to je više u vrijeme kad je tvorac LLVM-a nudio kod onima iz gcc-a i oni su ga odbacili, CLang je dizajniran tako da IDE-i mogu provjeriti kôd u stvarnom vremenu koji ne koristi samo privatnim aplikacijama, već i onima otvorenog koda poput KDevelopa ili QtCreator-a, osim naprednih uređivača poput Vima, Kate, emacs-a itd. Pretpostavljam da će se na kraju nešto slično dogoditi s egcs-ima i da će biti apsorbirano pod gpl licencom čim se linux s tim kompajlira kao što se dogodilo s egcs-ima

    1.    eliotime3000 dijo

      Ako ne mogu poboljšati EGCS i / ili ga učiniti najboljom zamjenom za CLang, idem na CLang i LLVM.

    2.    xlash dijo

      Glupa? Ja ne mislim tako. Činjenica da se GCC ne može koristiti za stvaranje vlasničkog softvera način je davanja prioriteta razvoju besplatnog softvera i neiskorištavanja za razvoj vlasničkog softvera. To je način obrane slobodnog softvera, stoga ga treba podržati. Gospodin Stallman je potpuno u pravu, to je korak unatrag. Osim toga, tvrtke poput Apple-a, kao što je spomenuto u članku, profitirat će od LLVM-a / Clang-a bez apsolutnog doprinosa zajednici i bez davanja bilo kakve zasluge projektu.

      Živjeli ljudi!

      1.    Germán dijo

        I GCC i LLVM / CLANG mogu kompilirati vlastiti softver, ono što se ne može izmijeniti je GCC i ne učiniti te izmjene poznatima. LLVM / CLANG se može ponovno licencirati kao gpl, a najveća je razlika u tome što za LLVM / CLANG moraju koristiti C ++, a oni iz GCC-a nisu ga htjeli vidjeti ili slikati sve donedavno. S moje točke gledišta, umjesto da prepisuju GCC na C ++ kao što to čine sada, trebali su prenijeti arhitekture koje GCC podržava, a LLVM / CLANG ne, a jezike na potonje te imati čistiji kôd i održavati vlastiti razvojna grana.

    3.    artus dijo

      Mislim da je vaše mišljenje neutemeljeno, iznad tehničkih problema nalazi se besplatni softver. To je ono što se najviše tiče gospodina Stallmana. Ono što smatram najboljim za vas je tehnički dio i u pravu ste, ali kad ne budete imali izbora jer je tvrtka preuzela vašu tehnologiju, dobro ćete razmisliti.
      S druge strane, s GCC-om možete provjeriti kôd u stvarnom vremenu, kao što ponavljam, vaše je mišljenje neutemeljeno.

      1.    Germán dijo

        1-Ako GCC razdvoji LLVM / CLANG i tvrtku te ga ponovno licencira kao GPL, sav kôd uključen u spomenutu račvu bit će pod GPL-om i LLVM-ovi će morati zatražiti dopuštenje za ponovnu licencu i uključiti ga u svoj repo. Obavještavam vas da su vrsta licence MIT (XORG, WAYLAND, ...) ili BSD (FreeBSD, ...) dopuštajuća kao i LLVM
        2 - S GCC-om ne možete implementirati automatsko dovršavanje koda ili provjeru koda u stvarnom vremenu putem biblioteke koju pruža za razliku od CLANG-a
        3 - LLVM je vrhunsko rješenje za GCC, ne samo tehničko, već i učinkovito, binomu LLVM / CLANG treba pola da se sastavi

  4.   Ñandekuera dijo

    Živio GNU i GPL!

    1.    eliotime3000 dijo

      Pogledajte mogu li napraviti vlastiti CLang s alkoholom, kockanjem i droljama.

      1.    Ñandekuera dijo

        Eh?

    2.    eliotime3000 dijo

      Ne, Richard. Činjenica da je SELinux djelo NSA-e ne znači da bilo koji drugi alat koji nema dozvolu za GPL (poput LLVM / CLang) potječe iz iste matrice.

      Ozbiljno, mislio sam da za to postoji potpuno racionalan motiv, ali vidim da su FSF konzervativniji od Satorua Ivate ili bilo kojeg člana MAFIAA-e.

      1.    Osoblje dijo

        Vidljivo je da niste pročitali popis za slanje pošte i da ste ostali u redovima kako stoji u članku.
        Dani su racionalni argumenti, čak i tehničke mogućnosti, ali u svakom slučaju, vrlo je često pročitati naslov i uskočiti u komentare.

  5.   jadni taku dijo

    Ñuhhhh GCC + Emacs. Ako želiš preživjeti, uzmi me za ruku

  6.   živo dijo

    Puritanci će me ispričati, ali moram to reći: nikad nisam volio Stallmana, a čini mi se da je tako do kraja mojih dana.

    Ne možeš biti tako zatvoren. Čini se kao fanatik, luđak, i da, koliko god zaslužio svoja postignuća i ono za što se zalaže, ne volim ga.

    1.    Zironid dijo

      Slažem se. U početku mi se jako sviđao, ali sada djeluje previše ekstremno ...

      1.    Canales dijo

        Ekstremist ... lud ... fanatik ... da, ovisi o tome kako na to gledaš. Za mene je gospodin Richard Stallman osoba velike socijalne savjesti. Smisao njegovog života bio je i jest poboljšati društvo, a ne softver. Razlika je između besplatnog softvera / softvera otvorenog koda u tome što prvi traži socijalna, a drugi tehnička pitanja.

    2.    xlash dijo

      Elave prijatelju, nije pitanje biti puritanac ili ne. Slobodni softver rođen je kao društveni pokret i to je ono što gospodin Stallman brani, kao i mnogi.

      Ne možeš biti tako zatvoren. Djeluje poput fanatika, luđaka i da, bez obzira na to koliko poštovanja zaslužuje za svoja postignuća i ono za što se zalaže, ne sviđa mi se. "

      Zapravo je suprotno. Cilj je da svatko može slobodno pristupiti softveru, a da nitko ne ograničava njegovu upotrebu vlasničkim preinakama, i, kao što sam rekao u svom prethodnom komentaru, oni daju prednost i ističu razvoj slobodnog softvera.

      Mislim da brkate fanatizam s drugim izrazom. Fanatizam ubija, što je povijest dobro pokazala. Izraz koji tražite može biti radikalan, ali bez tog radikalizma slobodni softver i pokret GNU / linux ne bi postojali, barem kakvi ga danas poznajemo. Što se tiče lude stvari, neću se svađati s vama, ali vidjevši ono što sam vidio u ovih par godina, ludi ljudi nisu toliko ludi.

      Ovim odlomkom želim reći da pokret slobodnog softvera nije samo pokret računala, već i društveni pokret i mora se braniti. A ako Elav, morate biti radikalni prema društvenom. Tvrtke poput Applea ili Microsofta neće oklijevati iskoristiti okolnosti. Moramo stvoriti svijest o pravima korisnika i ljudi općenito.

      PS Imenujem Elava jer mu odgovaram, ali komentar je usmjeren na sve GNU / linuksere.

      Živjeli ljudi!

      1.    Mr_E dijo

        @Xlash: GOSPODINE!… Hvala! To sam trebala pročitati. +1

        Kopiram vas, tiskam i stavljam na stranu Biblije. (Za zapisnik: ne u ili iznad nje).
        Na kraju, zahvaljujući ovom potezu i trudu Linusa i zajednice, postiže se nešto što je promijenilo svijet:
        "Postoji Linux prije i SADA s LINUX-om".

      2.    Ñandekuera dijo

        + 10

    3.    Mr_E dijo

      E @Elav:
      Ne ispričavam se, ali morao sam reći:
      Svidio sam mi se nekim od vaših prethodnih postova, ali ne i ovom ... i ako nastave ovako: možda će tako biti i do kraja mojih dana.
      Ne budite zatvoreni. Djelujete fanatično, ludo i poštujete onoliko koliko i vaša postignuća (ovaj forum) i ono što zaslužujete ... Ne sviđa mi se (vaš komentar).
      😀 - hehe! sada možete doživjeti (pomalo) isto što i RMS. samo trebate imati istu difuzijsku putanju kao on, i dobro, osjećati se gotovo potpuno isto.
      Pozdrav cuñao!

  7.   Zironid dijo

    Ne razumijem zašto je Stallman tako zatvoren. Rizikujem da kažem da mislim da je LLVM još slobodniji od GCC-a, jer daje slobodu njegove upotrebe čak i u vlasničkim programima. Da, znam da ograničenje u GCC-u može pomoći besplatnom softveru, ali smatram apsurdnim da se suprotstavlja LLVM-u na taj način.

    pozdravi

    1.    Wilson dijo

      Stallman nije zatvoren. Članak je vrlo sklon osobnim mišljenjima autora.
      U stvarnosti, odluke OUU-a uglavnom su tehničke. U GCC-u žele modularnost i to rade, ali na drugačiji način (izbjegavajući probleme koji postoje u CLANG-u).
      Za više informacija https://gcc.gnu.org/ml/gcc/2014-01/msg00176.html
      To je Raymond napisao, a tu su i odgovori programera.

  8.   Šantićluk dijo

    Ovo mi zvuči kad vidim tko je veći ... Ego, naravno.
    Oba su sastavljača izvrsna. Ali kao i svaki alat, ovisi o tome kako ga koristite.
    Može se napisati besplatni kod na C # i napraviti projektil s Linuxom.

  9.   gallux dijo

    Mislim da biste ovdje trebali biti pragmatičniji. Stallman bi trebao imati viziju i ne prestati gubiti put. Ono što brine je da trenutna zajednica ne fragmentira što se i događa. Najrazumnije je da, iako bsd licenca dopušta upotrebu u zaštićenim okruženjima, sve dok su autori prepoznati (pa čak i njihovi derivati) koriste istu logiku, ali s gpl v2 ili novijom.

  10.   pandev92 dijo

    Srećom, zastoja se već neko vrijeme jedva čuje. Drugi, računalni program ili kompajler, nikada neće biti socijalno pitanje, osim toga što su uvijek postojale alternative koje nisu besplatne! ali ako je besplatan.
    Što se tiče llvm clang-a, kontroverza nema smisla, budući da će izvor uvijek biti tu, objavljen je pod bsd licencom, dakle slobodan je softver da ga tvrtka može koristiti u svoje mračne svrhe, ne znači da više ne možete pristupiti izvornom kodu, ali vidim, ovdje nitko nema pojma, osim 2 ili 3.

    1.    xlash dijo

      "Računalni program ili kompajler nikada neće biti socijalno pitanje"
      Kako ne? Poštujem to što ne branite pokret slobodnog softvera kao što to čine mnogi drugi, ali poricanje onoga što predstavlja besplatni softver čini se nepoštovanjem s vaše strane prema ljudima koji ulažu puno vremena, novca i truda u njegovu obranu i stvaranje.

      Naravno, llvm je besplatan softver, ali to ne znači da su njegove modifikacije i izvodi. Ideja nije samo besplatan pristup izvornom softveru, već i njegovim izmjenama. Ako razvijem program i podijelim ga s vama, volio bih da to učinite i za ljude kojima biste dali kopiju svoje modificirane verzije. To je ono što besplatni softver i copyleft brane, stoga je socijalno pitanje.

      "Ali vidim, ovdje nitko nema pojma, osim 2 ili 3."
      Ne znam kako ste više došli do tog zaključka kad se ovdje objavljeni komentari odnose na filozofiju i slobodu softvera uspoređujući razlike između dviju vrsta licenci, čak i ako su međusobno kompatibilne.

      1.    dijazepan dijo

        Kako to utječe na svakodnevni život računovođe koji ne zna ništa o programiranju pomoću računovodstvenog programa koji je sastavljen s takvim sastavljačem?

        1.    xlash dijo

          Nikako, sve dok sam slobodan. Ali tema kojom se bavim u komentarima je druga, Diazepan. Govorim o korištenju X kompajlera za kompajliranje vlasničkog softvera, o licencama koje se koriste u svakom kompajleru i njihovim razlikama, spominjem i prednost GLP-a nad BSD-om, uvijek sa stajališta slobode naravno.

    2.    Osoblje dijo

      LOL, tvrdnja da nitko nema pojma vrlo su jake riječi za nekoga tko kaže da softver nije socijalno pitanje.
      Morate biti slijepi ili barem donekle kratkovidni da to ne biste vidjeli, kad čak postoje zemlje koje migriraju (u većem ili manjem postotku) na besplatni softver, kada svi međunarodni mediji odjekuju kako je zaštićeni softver alat za špijunažu na velikih razmjera, kada je najbogatiji čovjek na svijetu upravo posvećen operativnom sustavu.
      Što se tu ima za pročitati.

    3.    Ñandekuera dijo

      ... Volio bih da se čuje više stajača i manje pandeva ...

  11.   Osoblje dijo

    Članak je pomalo tendenciozan, za početak s naslovom, jer oni koje treba pitati jesu li "malo poludjeli" jesu LLVM, budući da su oni ti koji se gorko žale.

    A na tu temu možete vidjeti licemjerje onih koji se prvo pobune protiv onoga što oni nazivaju "fragmentacijom" i koliko je to "užasno" za slobodni softver.
    Ali kad netko dosljedan onome što govori i radi, slijedi njegovu liniju i ne slaže se da besplatni kompajler postaje platforma za beskonačnost vlastitih kompajlera, onda da, Živjeli svi da stvaraju vilice!

  12.   Canales dijo

    Besplatni softver je društveni pokret od svog rođenja po definiciji.

    Što se tiče GPL-a i BSD-a:
    “Freedom 3 uključuje slobodu objavljivanja vaših izmijenjenih verzija kao besplatnog softvera. Besplatna licenca može odobriti i druge oblike objavljivanja; drugim riječima, to ne mora biti licenca za kopiranje. Međutim, licenca koja zahtijeva da modificirane verzije budu neslobodne ne može se smatrati besplatnom. "
    „Copyleft (vrlo kratko definirano) pravilo je na temelju kojeg kada preraspodjeljujete program ne možete dodavati ograničenja kojima ćete drugima uskratiti glavne slobode. Ovo se pravilo ne kosi s glavnim slobodama, već ih štiti. "

    Kao što vidite, copyleft, iako kratkoročno oduzima određenu slobodu, dugoročno ga štiti. Zbog toga gospodin Stallman brani GPL: "Moj rad na slobodnom softveru motiviran je idealističkim ciljem: širenjem slobode i suradnje."

  13.   Canales dijo

    http://www.gnu.org/philosophy/open-source-misses-the-point.html

    «Otvoreni izvor je programska metodologija, slobodni softver je društveni pokret. Za kretanje slobodnog softvera, besplatni softver je etički imperativ, neophodno poštovanje slobode korisnika. Suprotno tome, filozofija otvorenog koda postavlja pitanja u smislu kako „poboljšati“ softver, u samo praktičnom smislu. Tvrdi da zaštićeni softver nije optimalno rješenje praktičnih problema koje treba riješiti. U većini slučajeva, kada se raspravlja o 'otvorenom izvoru', ne uzimaju se u obzir dobro i zlo, već samo popularnost i uspjeh. "

  14.   Daniel Noriega dijo

    Već sam to nekoliko puta komentirao i stalno ponavljam, linux mi se općenito sviđa, ali ako postoji nešto što mrzim u vezi s Linuxom, to je zajednica. Kad uspijete skočiti s litice kako biste nastavili s ideologijom koja je „zatvorena“ poput „slobodnog softvera“, tada shvatite da je svijet naopako. Mislim da je u svojim počecima besplatni softver bio jasan, danas je priča drugačija.

  15.   rijedak slučaj dijo

    Vjerujem da mnogima nisu jasni uvjeti i svrhe GPL licence. GPL licenca vrlo je dopuštajuća, ali s ograničenjem da ne dopušta zaradu od programa koji su licencirani s njom. Slažem se sa Stallmanom, ali ne i krajnje isključivo korištenjem besplatnog softvera. Za korisnika da želi koristiti LLvm / Clang je njihovo pravo, ali da SLF želi zamijeniti GCC LLVM / Clang bilo bi proturječje s načelima slobodnog softvera.