LLVM / Clang. U mal GCC?

llvm-logo

Ek moes 'n berig skryf oor hierdie kontroversie in LWN geplaas. En dit is dat die LLVM / Clang-samesteller begin bekommerd wees op die GNU-poslyste.

Daar was eens 'n samesteller genaamd GCC wat met sy meer as 25 jaar bestaan ​​steeds groot respek het vir sy gratis en copyleft lisensie, sowel as die samesteller wat gebruik word deur die Linux-kern en tot onlangs deur FreeBSD. Enigiemand wat wou leer om in C of C ++ te ontwikkel, het sekerlik GCC gebruik ongeag die argitektuur van hul masjien. GCC het egter gely aan 'n sekere geheimhouding, deels vanweë die filosofie van diegene wat dit geskep het en deels vanweë die ontwikkeling daarvan in die katedraal, waar sterk beheer uitgeoefen is oor wat in GCC aangaan en wat nie (nou nie soveel nie, maar nog steeds bestaan), wat die weg gebaan het vir die konstruksie van voorpunte en ander funksies wat GCC uiteindelik gebruik het. Om meer te wete te kom oor die kort geskiedenis van EGCS, Ek los hierdie skakel.

Intussen het 'n navorsingsprojek aan die Universiteit van Illinois in Urbana-Champaign omstreeks 2002 gelei tot die skepping van 'n samesteller wat op 'n modulêre manier geskep is, sodat sy individuele elemente soos front-end, kodegenerators en optimaliseerders. Hulle bel hom LLVM want dit was aanvanklik 'n lae vlak virtuele masjien, maar dit was uiteindelik meer as dit. En hulle het hom gelisensieer met sy eie lisensie, dit was soortgelyk aan BSD (gratis, nie-copyleft, GPL voldoen). Jare later het Apple in LLVM belanggestel en dit aangeneem vir sy iOS- en OS X-bedryfstelsels, asook om te bou (en vry te stel onder dieselfde gratis lisensie as LLVM) u eie front-end gebel klang, vir C en doelstelling C. Die nadeel is die moontlikheid om LLVM / Clang in te sluit in eie programmeDit is die geval met die CUDA-samesteller van NVIDIA en die IDE XCode van Apple.

Maar eendag, 'n paar weke gelede op die emacs-poslys, in die middel van 'n bespreking oor 'n outovolledige modus wat vir Clang ontwerp is, Dimitry gutov Hy sê "Ek het lank gelede gesê dat Richard Stallman Clang so gehaat wat gekant was teen die insluiting van kode wat dit in emacs gebruik. " Dit het later gelei tot 'n ander bespreking oor clang en gratis sagteware waar Richard verklaar self: «Ons beleid is nie om veranderinge te aanvaar aan enige GNU-pakket wat met Clang kan werk nie, maar nie met GCC nie. Emacs sal mense nie aanmoedig om weg te loop van GCC nie. As ons die kans kry, sal ons aanmoedig om GCC bo Clang te gebruik. '

'N Kort rukkie later verskyn Eric Raymond (bekend vir die skepping van The Cathedral and the Bazaar, tesame met die definisie van Open Source) wat half die juksing sing, half trolling, gaan en sê dat LLVM / Clang 'n reaksie was op die weerstand van die GCC-projek om meer interoperabel te wees, plus dat Clang beter presteer as GCC op verskeie tegniese maatreëls. Volgens hom (en vertoon 'n video uit 'n Chandler Carruth-lesing), het die Clang-ontwikkelaars Stallman gevra of daar enige rede is waarom GCC-voorkant nie kan omskep word in dinamiese biblioteke wat gekoppel kan word deur enige program wat die bronkode wil ontleed nie. Stallman het geantwoord dat een doel van GCC was vermy eie programme om enige van die onderdele te gebruik, sodat hulle verskillende dinge doelbewus vermy het posiblemente hulle sou sulke gebruik vergemaklik het ... wat hulle oorweeg het 'n onbehulpsame antwoord. Hulle wou IDE's en ander instrumente skep wat die samestellerkode deel, en GCC sou dit nie toelaat nie om Clang te skep en GCC na / dev / null te stuur. GCC-ontwikkelaars hulle spring teef op hom omdat hy nie volledig ingelig is nie (met die feit dat Clang GCC in verskeie tegniese maatreëls oortref). Te midde van die hoer verskyn Stallman en sê dit LLVM is 'n vreeslike terugslag, nie om tegniese redes nie, maar slegs vir die lisensie wat nie Apple se kopiereg benodig nie, wat Apple bevoordeel.

Dan wy die LWN-artikel lang paragrawe op oor die modulariteit van GCC en die maatreëls wat hulle doelbewus ingesluit het om dit moeilik te maak om die interne weergawe daarvan deur eie programme te gebruik. Uitsondering van GCC Runtime Library wat die vraag oplos of GCC eie kode moet saamstel. Ek wil ook die saak van FreeBSD (pas vrygestelde weergawe 10, vervang GCC met LLVM / Clang as die hoofsamesteller). Die nuutste weergawe van GCC wat hulle gebruik het was 4.2.1 (die nuutste met GPLv2-lisensie) en ook nie mal nie hulle gaan dit opdateer na 'n weergawe met GPLv3 (hulle wil net 'n BSD sonder enige GPL), so LLVM / Clang kom na hulle toe soos 'n handskoen.

Kortom, nog 'n geveg in die ewige GPL teenoor BSD-oorlog.


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

38 kommentaar, los joune

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

  1.   pandev92 dijo

    Nie interessant nie, laat ons die ontwikkelaars mekaar doodmaak.

    1.    eliotyd3000 dijo

      En so het ons nog een ontevrede werker wat by Microsoft en Apple werk.

    2.    marcos dijo

      U is reg, ek ondersteun dat die sagteware altyd gratis is sodat ENIGE MENS dit kan lees (dit is die enigste rede waarom ek Linux ondersteun en gebruik), maar uiteindelik het die programmeerders die laaste woord.

  2.   f3niX dijo

    Goeie artikel, ek hou altyd van diasepan-artikels, dit kom buitengewoon voor.

  3.   Germán dijo

    Die waarheid is dat dit 'n baie dom gedagte is van diegene van gcc, dit was meer op die oomblik dat die skepper van LLVM die kode aangebied het aan dié van gcc en hulle het dit verwerp, CLang is so ontwerp dat die IDE's die kode betyds kan verifieer real dat privaat toepassings nie net voordele bied nie, maar ook open source soos KDevelop of QtCreator, afgesien van gevorderde redakteurs soos Vim, Kate, emacs, ens. Ek veronderstel dat iets soortgelyks uiteindelik met egcs sal gebeur en hulle sal dit onder gpl lisensie absorbeer sodra linux hiermee saamgestel kan word soos dit met egcs gebeur het

    1.    eliotyd3000 dijo

      As hulle nie die EGCS kan verbeter nie en / of dit die beste plaasvervanger vir CLang kan maak, sal ek na CLang en LLVM gaan.

    2.    xlash dijo

      Onnosel? Ek dink nie so nie. Die feit dat GCC nie gebruik kan word om eie sagteware te skep nie, is 'n manier om prioriteit te gee aan die ontwikkeling van gratis sagteware en om dit nie te benut vir die ontwikkeling van eie sagteware nie. Dit is 'n manier om gratis sagteware te verdedig, daarom moet dit ondersteun word. Mnr. Stallman is heeltemal reg, dit is 'n stap agteruit. Daarbenewens sal maatskappye soos Apple, soos genoem in die artikel, voordeel trek uit LLVM / Clang sonder om absoluut tot die gemeenskap by te dra en sonder om enige krediet aan die projek te gee.

      Cheers mense!

      1.    Germán dijo

        Beide GCC en LLVM / CLANG kan eie sagteware saamstel. Wat nie gewysig kan word nie, is GCC en maak nie die wysigings bekend nie. LLVM / CLANG kan weer gelisensieer word as gpl. Die grootste verskil hiertoe is dat hulle vir LLVM / CLANG C ++ moet gebruik en die van GCC dit nie wou sien of tot onlangs geverf het nie. In plaas daarvan om GCC na C ++ te herskryf soos hulle nou doen, moes hulle die argitektuur wat GCC ondersteun, oorgedra het en LLVM / CLANG nie en die tale na laasgenoemde, en 'n skoner kode hê en hul eie ontwikkelingstak handhaaf

    3.    artus dijo

      Ek dink u mening is ongegrond, en bo die tegniese kwessies is gratis sagteware. Dit is wat mnr. Stallman die meeste raak. Die tegniese deel is volgens my die beste vir u, en u is reg, maar as u nie 'n keuse het nie omdat 'n onderneming u tegnologie oorgeneem het, sal u twee keer dink.
      Aan die ander kant, met GCC, kan u die kode intyds verifieer, soos ek herhaal, u mening is ongegrond.

      1.    Germán dijo

        1-As GCC LLVM / CLANG en die maatskappy vurk en dit weer as GPL lisensieer, sal al die kode in die vurk onder GPL wees en LLVM's moet toestemming vra om dit weer te lisensieer en dit by hul repo. Ek stel u in kennis dat die lisensietipe MIT (XORG, WAYLAND, ...) of BSD (FreeBSD, ...) net so toegestaan ​​is as die LLVM
        2 - Met GCC kan u nie 'n outomatiese kode of kodeverifiëring in reële tyd implementeer deur 'n biblioteek wat dit bied, anders as CLANG nie
        3 - LLVM is 'n uitstekende oplossing vir GCC, nie net tegnies nie, maar ook in doeltreffendheid. Dit neem die LLVM / CLANG binomiaal om die tyd saam te stel

  4.   Ñandekuera dijo

    Lank lewe GNU en die GPL!

    1.    eliotyd3000 dijo

      Kyk of hulle hul eie CLang kan maak met drank, dobbelary en hoere.

      1.    Ñandekuera dijo

        Haai?

    2.    eliotyd3000 dijo

      Nee, Richard. Die feit dat SELinux die werk van die NSA is, beteken nie dat enige ander instrument wat nie deur GPL gelisensieer is nie (soos LLVM / CLang) uit dieselfde matriks kom.

      Ernstig, ek het gedink daar is 'n heeltemal rasionele motief hiervoor, maar ek sien dat die FSF konserwatiewer is as Satoru Iwata of enige lid van die MAFIAA.

      1.    Personeel dijo

        Daar word gesien dat u nie die poslys gelees het nie en dat u tussen die lyne by die artikel gebly het.
        Rasionele argumente is gegee, selfs tegniese opsies, maar dit is in elk geval baie algemeen om die titel te lees en direk in die kommentaar te spring.

  5.   swak taku dijo

    Ñuhhhh GCC + Emacs. Neem my hand as jy wil oorleef (stallman)

  6.   lewendig dijo

    Die Puriteine ​​gaan my verskoon, maar ek moet dit sê: Ek het nog nooit van Stallman gehou nie, en blykbaar sal hy die res van my dae so bly.

    Jy kan nie so geslote wees nie. Hy lyk soos 'n fanatikus, 'n mal man, en ja, soveel respek as wat hy verdien vir sy prestasies en waarvoor hy staan, hou ek nie van hom nie.

    1.    Zironide dijo

      Ek stem saam. Aanvanklik het ek baie van hom gehou, maar nou lyk hy te ekstreem ...

      1.    Canales dijo

        Ekstremisties ... mal ... fanaties ... ja, dit hang af van hoe jy daarna kyk. Vir my is mnr. Richard Stallman 'n persoon met 'n groot sosiale gewete. Die betekenis van sy lewe was en is om die samelewing te verbeter, nie sagteware nie. Daar is die verskil tussen gratis sagteware / open source sagteware, aangesien eersgenoemde sosiale probleme soek en laasgenoemde tegniese probleme.

    2.    xlash dijo

      Elav maat, dit is nie 'n puritein of nie. Gratis sagteware is gebore as 'n sosiale beweging en dit is wat mnr. Stallman verdedig, net soos baie.

      Jy kan nie so geslote wees nie. Hy lyk soos 'n fanatikus, 'n mal man, en ja, maak nie saak hoeveel respek hy verdien vir sy prestasies en waarvoor hy staan ​​nie, ek hou nie van hom nie. »

      Eintlik is dit die teenoorgestelde. Die doel is dat enigiemand vryelik toegang tot die sagteware kan hê sonder dat iemand die gebruik daarvan deur eie aanpassings beperk, en soos ek in my vorige opmerking gesê het, word die ontwikkeling van gratis sagteware vooropgestel en beklemtoon.

      Ek dink jy verwar fanatisme met 'n ander term. Fanatisme dood, soos die geskiedenis goed getoon het. Die term waarna u op soek is, is miskien radikaal, maar sonder daardie radikalisme sou die vrye sagteware en die GNU / Linux-beweging nie bestaan ​​nie, ten minste soos ons dit vandag ken. Wat die gekke ding betref, sal ek nie met u stry nie, maar as ek gesien het wat ek die afgelope paar jaar gesien het, is mal mense nie so mal nie.

      Met hierdie paragraaf wil ek sê dat die vrye sagteware-beweging nie net 'n rekenaarbeweging is nie, maar ook 'n sosiale beweging en dit moet verdedig word. En as Elav moet jy radikaal wees oor die sosiale. Maatskappye soos Apple of Microsoft sal nie huiwer om van die omstandighede gebruik te maak nie. Ons moet bewusmaking skep rakende die regte van gebruikers en mense in die algemeen.

      PS. Ek noem Elav omdat ek hom antwoord, maar die opmerking is aan alle GNU / linuxers gerig.

      Cheers People!

      1.    Mnr_E dijo

        @Xlash: Meneer! ... Dankie! Dit is wat ek moes lees. +1

        Ek kopieer u, druk dit en plaas dit aan die kant van die Bybel. (Vir die rekord: nie in of bo-op nie).
        Uiteindelik, danksy hierdie stap en die inspanning van Linus en die gemeenskap, word iets bereik wat die wêreld verander het:
        "Daar is 'n voor Linux en 'n NOU met LINUX."

      2.    Ñandekuera dijo

        +10

    3.    Mnr_E dijo

      E @Elav:
      Ek vra nie verskoning nie, maar ek moes sê:
      Sommige van u vorige berigte hou van my, maar nie hierdie nie ... en as hulle so voortgaan: miskien sal dit vir die res van my dae so bly.
      Moenie toegewyd wees nie. U lyk fanaties, mal en met soveel respek as u prestasies (hierdie forum) en wat u verdien ... Ek hou nie van (u kommentaar) nie.
      😀 - hehe! nou kan jy dieselfde (soos RMS) ervaar. U moet net dieselfde diffusie-baan as hy hê, en wel, voel amper presies dieselfde.
      Groete cuñao!

  7.   Zironide dijo

    Ek verstaan ​​nie hoekom Stallman so geslote is nie. Ek kan waag om te sê dat ek dink LLVM is nog vryer as GCC, aangesien dit die vryheid bied om dit selfs in eie programme te gebruik. Ja, ek weet dat die beperking van GCC gratis sagteware kan help, maar ek vind dit absurd dat dit LLVM teenstaan.

    Groete

    1.    Wilson dijo

      Stallman is nie gesluit nie. Die artikel is baie geneig tot persoonlike opinies van die outeur.
      In werklikheid is GCC se besluite grotendeels tegnies. In GCC wil hulle modulariteit hê en doen dit, maar op 'n ander manier (vermy probleme wat wel in CLANG bestaan).
      Vir meer inligting https://gcc.gnu.org/ml/gcc/2014-01/msg00176.html
      Dit is wat raymond geskryf het en daar is die antwoorde van die ontwikkelaars.

  8.   santicluke dijo

    Dit lyk vir my om te sien wie dit groter het ... Die ego, natuurlik.
    Albei samestellers is uitstekend. Maar soos enige instrument, hang dit af van hoe u dit gebruik.
    'N Mens kan gratis kode in C # skryf en 'n missiel met Linux maak.

  9.   gallux dijo

    Ek dink hier moet jy meer pragmaties wees. Stallman moet 'n visie hê en nie ophou om sy pad te verloor nie. Wat bekommerd is, is dat die huidige gemeenskap nie gefragmenteerd is nie, dit is wat daar gebeur. Die verstandigste ding is dat alhoewel die bsd-lisensie dit in eie omgewings kan gebruik, solank die outeurs erken word (en selfs dat die afgeleides daarvan is) dieselfde logika gebruik, maar met die gpl v2 of hoër.

  10.   pandev92 dijo

    Gelukkig is stallman amper 'n ruk lank nie gehoor nie. Die ander, 'n rekenaarprogram of 'n samesteller, sal nooit 'n sosiale vraag wees nie, maar daar was nog altyd alternatiewe wat nie gratis is nie! maar as dit vry is.
    Wat llvm clang betref, is die kontroversie nie sinvol nie, aangesien die bron altyd daar sal wees, dit is vrygestel onder 'n bsd-lisensie, daarom is dit gratis sagteware, dat 'n onderneming dit vir sy donker doeleindes kan gebruik, dit beteken nie dat u nie meer kan nie toegang tot die oorspronklike kode, maar ek sien, niemand hier het 'n idee nie, behalwe 2 of 3.

    1.    xlash dijo

      "'N Rekenaarprogram of samesteller sal nooit 'n sosiale vraag wees nie"
      Wat bedoel jy nie? Ek respekteer dat u nie die vrye sagteware-beweging verdedig soos baie ander nie, maar om te ontken wat vrye sagteware voorstel, lyk oneerbiedig teenoor die mense wat baie tyd, geld en moeite belê om dit te verdedig en te skep.

      Natuurlik is llvm gratis sagteware, maar dit beteken nie dat die wysigings en afleidings daarvan is nie. Die idee is nie net om vrylik toegang tot die oorspronklike sagteware te hê nie, maar ook die wysigings daarvan. As ek 'n program ontwikkel en met u deel, wil ek hê dat u dieselfde moet doen vir die mense aan wie u 'n afskrif van u gewysigde weergawe sou gee. Dit is wat gratis sagteware en copyleft verdedig, daarom is dit 'n sosiale vraag.

      "Maar ek sien, niemand hier het 'n idee nie, behalwe 2 of 3."
      Ek weet nie meer hoe u tot die gevolgtrekking gekom het as die kommentaar hier geplaas word op die filosofie en vryheid van sagteware wat die verskille tussen twee soorte lisensies vergelyk nie, selfs al is dit versoenbaar met mekaar.

      1.    diasepan dijo

        Hoe beïnvloed dit die daaglikse lewe van 'n rekenmeester wat niks van programmering weet nie, met behulp van 'n boekhoudprogram wat saamgestel is met so 'n samesteller?

        1.    xlash dijo

          Glad nie, solank ek vry is. Maar die onderwerp wat ek in die kommentaar behandel, is 'n ander, Diazepan. Ek praat oor die gebruik van 'n X-samesteller om eie sagteware saam te stel, oor die lisensies wat in elke samesteller gebruik word en die verskille daarvan. Ek noem ook die voordeel van GLP bo BSD, altyd vanuit die oogpunt van vryheid natuurlik.

    2.    Personeel dijo

      LOL, en beweer dat niemand 'n idee het nie, is baie sterk woorde vir iemand wat sê dat sagteware nie 'n sosiale probleem is nie.
      U moet blind wees of ten minste ietwat bysiend wees om dit nie te sien nie, as daar selfs lande is wat (in 'n mindere of meerdere mate) na gratis sagteware migreer, terwyl dit deur al die internasionale media weerspieël hoe eie sagteware 'n instrument vir die spioenasie op groot skaal, wanneer die rykste man ter wêreld presies toegewy is aan 'n bedryfstelsel.
      Wat daar is om te lees.

    3.    Ñandekuera dijo

      ... Ek wens meer stallmans en minder pandevs is gehoor ...

  11.   Personeel dijo

    Die artikel is 'n bietjie neigend om te begin met die titel, want diegene wat gevra moet word of hulle ''n bietjie gek word', is LLVM, want dit is hulle wat bitterlik kla.

    En oor die onderwerp kan u die skynheiligheid sien van diegene wat die eerste keer tart teen wat hulle 'fragmentasie' noem en hoe 'verskriklik' dit is vir gratis sagteware.
    Maar as iemand in ooreenstemming is met wat hy sê en doen, sy lyn volg en nie saamstem dat 'n gratis samesteller 'n platform word vir 'n oneindige aantal eie samestellers nie, ja, Lank lewe, almal moet vurke skep!

  12.   Canales dijo

    Gratis sagteware is per definisie 'n sosiale beweging vanaf sy geboorte.

    Met betrekking tot GPL vs BSD:
    “Vryheid 3 sluit die vryheid in om u gewysigde weergawes as gratis sagteware te publiseer. 'N Gratis lisensie kan ook ander vorme van publikasie magtig; met ander woorde, dit hoef nie 'n copyleft-lisensie te wees nie. 'N Lisensie wat vereis dat gewysigde weergawes nie-vry is, kan egter nie as gratis beskou word nie.'
    'Copyleft (baie kort gedefinieerd) is die reël waarop u, wanneer u die program herverdeel, nie beperkings kan toevoeg om ander die hoofvryhede te ontken nie. Hierdie reël is nie in stryd met die hoofvryhede nie, maar beskerm dit eerder. '

    Soos u kan sien, copyleft, hoewel dit op kort termyn 'n mate van vryheid wegneem, maar op die lang termyn beskerm dit dit. Daarom verdedig mnr. Stallman die GPL: "My werk in gratis sagteware word gemotiveer deur 'n idealistiese doel: om vryheid en samewerking te versprei."

  13.   Canales dijo

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

    “Open source is 'n programmeringsmetodiek, gratis sagteware is 'n sosiale beweging. Vir die vrye sagtewarebeweging is gratis sagteware 'n etiese noodsaaklikheid, 'n noodsaaklike respek vir die vryheid van gebruikers. Daarteenoor laat die open source-filosofie die vrae ontstaan ​​oor hoe om die sagteware in 'n praktiese sin te "verbeter". Dit hou vol dat eie sagteware nie 'n optimale oplossing is vir praktiese probleme wat opgelos moet word nie. In die meeste gevalle word goed en kwaad as 'open source' bespreek nie, maar net gewildheid en sukses. '

  14.   Daniel noriega dijo

    Ek het al 'n paar keer daaroor kommentaar gelewer en herhaal dit voortdurend, Linux hou in die algemeen baie, maar as daar iets is wat ek haat aan Linux, is dit die gemeenskap. As u in staat is om van 'n krans af te spring om voort te gaan met 'n "geslote" ideologie as "gratis sagteware", dan besef u dat die wêreld onderstebo is. Ek dink dat gratis sagteware in die begin duidelik daaroor was, vandag is die verhaal anders.

  15.   seldsame geval dijo

    Ek glo dat baie nie die bepalings en doeleindes van die GPL-lisensie duidelik gehad het nie. Die GPL-lisensie is baie toelaatbaar, maar met die beperking dat u nie wins kan maak uit die programme wat daarmee gelisensieer is nie. Ek stem saam met Stallman, maar nie die uiterste van uitsluitlik die gebruik van gratis sagteware nie. Vir 'n gebruiker om LLvm / Clang te wil gebruik, is dit hul reg, maar dat die SLF GCC deur LLVM / Clang wil vervang, is 'n teenstrydigheid met die beginsels van gratis sagteware.