LLVM / Clang. U Mad Mad-öböl?

llvm-logó

Írnom kellett egy bejegyzést erről a vitáról kifüggesztve az LWN-be. És ez az, amit az LLVM / Clang fordító elkezd aggodalom a GNU levelezőlistákon.

Valamikor létezett egy GCC nevű fordító, amely több mint 25 éves fennállásával továbbra is nagy tiszteletben tartja az ingyenes és a copyleft licencet, valamint a linuxos kern és a közelmúltig a FreeBSD által használt fordító. Aki meg akarta tanulni, hogyan kell fejlődni C vagy C ++ nyelven, az biztosan használta a GCC-t, függetlenül a gép architektúrájától. Az ÖET azonban szenvedett egy bizonyos dologtól titoktartás, részben annak létrehozóinak filozófiája, részben katedrális stílusú fejlődése miatt, ahol erős ellenőrzést gyakoroltak az ÖET-ben zajló és mi nem (ma már nem annyira, de még mindig léteznek) felett, ami utat nyitott a a kezelőfelületek és egyéb, a GCC által végül elfogadott funkciók felépítése. Ha többet szeretne megtudni a EGCS, Otthagyom ezt a linket.

Eközben az Illinoisi Egyetemen, az Urbana-Champaign 2002 körül, egy kutatási projekt egy modulárisan létrehozott fordító létrehozásához vezetett, amelynek egyes elemei, például kezelőfelületei, kódgenerátorai és optimalizálók. Felhívják LLVM mert eleinte alacsony szintű virtuális gép volt, de végül ennél több lett. És engedélyt adtak neki a saját engedélyével, ami volt hasonló a BSD-hez (ingyenes, nem copyleft, megfelel a GPL-nek). Évekkel később az Apple érdeklődött az LLVM iránt, és átvette az iOS és OS X operációs rendszereihez, valamint az épülethez (és szabadon bocsátani ugyanazon licenc alapján, mint az LLVM) a saját kezelőfelülete hívott Csengés, C és C célkitűzés esetén. Hátránya az LLVM / Clang beépítésének lehetősége saját programokbanIlyen például az NVIDIA CUDA fordítója és az Apple IDE XCode kódja.

De egy nap, néhány hete az emacs levelezőlistán, egy beszélgetés közepette a Clang számára tervezett autocomplete módról, Dimitrij gutov Azt mondja: "Nagyon régen mondták nekem, hogy Richard Stallman annyira gyűlölte Clang-ot aki ellenezte azt a kódot, amely használja az emacs-ban. " Ez később egy újabb beszélgetéshez vezetett a harsogó és ingyenes szoftverekről Richard maga tisztázza: «Irányelvünk az, hogy nem fogadunk el olyan GNU-csomagokat, amelyek működhetnek a Clang-nal, de nem a GCC-vel. Emacs nem fogja ösztönözni az embereket arra, hogy távozzanak az ÖET-től. Amikor lehetőséget kapunk, ösztönözni fogjuk a GCC használatát a Clang felett. "

Röviddel ezután megjelenik Eric Raymond (híres a Katedrális és a Bazár létrehozásáról, valamint a nyílt forráskód definíciójáról), aki félig elénekelve a joust, félig trollkodni, megy és mondja hogy az LLVM / Clang válasz volt a GCC-projekt ellenállására az interoperabilitás érdekében, ráadásul a Clang több technikai intézkedéssel is felülmúlja az GCC-t. Szerinte (és megmutatja egy videó egy Chandler Carruth előadásból), a Clang fejlesztői megkérdezték Stallmant, hogy van-e valamilyen oka annak, hogy a GCC kezelőfelületeit nem lehet dinamikus könyvtárakká alakítani, amelyeket bármilyen forráskód elemzésére törekvő program összekapcsolhat. Stallman azt válaszolta, hogy a GCC egyik célja az volt ne szabadalmaztatott programok bármely részének használatára, ezért szándékosan kerülik a különféle dolgokat posiblemente megkönnyítették volna az ilyen felhasználást ... haszontalan válasz. IDE-ket és más eszközöket akartak létrehozni, amelyek megosztják a fordító kódját, és a GCC nem engedi nekik, így a Clang létrehozásához és a GCC elküldéséhez a / dev / null fájlba. GCC Developers kurvára ugrottak rá amiért nem volt teljesen tájékozott (azzal a ténnyel, hogy Clang több technikai intézkedésben felülmúlja az ÖET-t). A kurvák közepén Stallman jelenik meg, aki ezt mondja Az LLVM szörnyű visszavágás, nem technikai okokból, hanem csak az Apple számára előnyös, nem copyleft licenc miatt.

Ezután az LWN cikk hosszú bekezdéseket szentel az ÖET modularitásáról és azokról az intézkedésekről, amelyeket szándékosan beépítettek annak érdekében, hogy megnehezítsék belső képviseletének a saját tulajdonú programok általi használatát, GCC futásidejű könyvtár kivétel amely megoldja azt a kérdést, hogy az GCC-nek össze kell-e állítania a saját kódot. Szeretném hozzáfűzni a FreeBSD (a közelmúltban megjelent 10. verzió, amely a GCC-t az LLVM / Clang-ra cseréli a fő fordítóra). Az általuk használt GCC legújabb verziója volt 4.2.1 (a legújabb a GPLv2 licenccel) és sem őrült frissíteni akarták a GPLv3 verzióra (csak szeretnék egy GSD nélküli BSD), így az LLVM / Clang hozzájuk jön mint egy kesztyű.

Röviden, az örök GPL vs BSD háború újabb csatája.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   92 dijo

    Nem érdekes, hagyjuk, hogy a fejlesztők megöljék egymást.

    1.    eliotime3000 dijo

      Tehát van még egy elégedetlen dolgozónk, aki a Microsoftnál és az Apple-nél dolgozhat.

    2.    Marcos dijo

      Igazad van, támogatom, hogy a szoftver mindig ingyenes legyen, így MINDENKI EMBER el tudja olvasni (csak ezért támogatom és használom a Linuxot), de végül a programozóké az utolsó szó.

  2.   f3niX dijo

    Jó cikk, mindig szeretem a diazepan cikkeket, a szokásosból jönnek.

  3.   Germán dijo

    Az az igazság, hogy ez egy nagyon hülye gondolat a gcc részéről, sokkal inkább abban az időben, amikor az LLVM készítője felajánlotta a kódot a gcc-nek, és elutasították, a CLang úgy lett kialakítva, hogy az IDE-k időben ellenőrizhessék a kódot Valójában ez nemcsak a magánalkalmazásoknak kedvez, hanem olyan nyílt forráskódú alkalmazásoknak is, mint a KDevelop vagy a QtCreator, kivéve a fejlett szerkesztőket, mint a Vim, Kate, emacs stb. Feltételezem, hogy valami hasonló történik az egcs-ekkel, és a gpl licenc alatt felszívódik, amint a linux összeállítható ezzel, ahogy az egcs-kel is történt

    1.    eliotime3000 dijo

      Ha nem tudják javítani az EGCS-t és / vagy nem tudják a CLang-t a legjobban pótolni, akkor elindulok a CLang és az LLVM mellett.

    2.    xlash dijo

      Hülye? Nem hiszem. Az a tény, hogy a GCC nem használható saját szoftverek létrehozására, egy módja annak, hogy a szabad szoftverek fejlesztését prioritásként kezeljük, és ne használjuk ki a saját fejlesztésű szoftverek fejlesztésére. Ez a szabad szoftverek védelmének módja, ezért támogatni kell azokat. Stallman úrnak teljesen igaza van, ez egy visszalépés. Ezenkívül az olyan vállalatok, mint az Apple, amint azt a cikkben említettük, profitálni fognak az LLVM / Clang előnyeiből, anélkül, hogy abszolút hozzájárulnának a közösséghez, és nem adnak hitelt a projektnek.

      Egészséges emberek!

      1.    Germán dijo

        Mind a GCC, mind az LLVM / CLANG összeállíthat egy saját szoftvert, ami nem módosítható, az a GCC, és nem teszi ismertté ezeket a módosításokat. Az LLVM / CLANG újból engedélyezhető gpl-ként, a legnagyobb különbség ezek között az, hogy az LLVM / CLANG számára C ++ -ot kell használniuk, és a GCC-k nem akarták látni vagy festeni egészen a közelmúltig. Véleményem szerint ahelyett, hogy a GCC-t átírnák C ++ -ra, ahogy most teszik, át kellett volna hordozniuk azokat az architektúrákat, amelyeket a GCC támogat, és az LLVM / CLANG nem, valamint a nyelveket az utóbbiakhoz, és tisztább kóddal kell rendelkezniük, és fenn kell tartaniuk saját fejlesztési águkat.

    3.    artus dijo

      Úgy gondolom, hogy a véleményed megalapozatlan, a technikai kérdéseken túl a szabad szoftver. Ez aggasztja leginkább Stallman urat. Amit a legjobbnak látok, az a technikai rész, és igazad van, de ha nincs más választásod, mert egy vállalat átvette a technológiádat, kétszer is meggondolod.
      Másrészt az GCC-vel valós időben ellenőrizheti a kódot, ahogy megismétlem, véleménye megalapozatlan.

      1.    Germán dijo

        1-Ha a GCC gyárt egy villát az LLVM / CLANG-ról és a cégről, és újraengedélyezi GPL-ként, akkor az összes kód, amelyet az említett villában tartalmaznak, a GPL alá tartozik, és az LLVM-eknek engedélyt kell kérniük az újlicenceléshez, és be kell vonniuk repójukban. Tájékoztatom Önöket, hogy a MIT (XORG, WAYLAND, ...) vagy a BSD (FreeBSD, ...) licenctípus ugyanolyan megengedõ, mint az LLVM
        2 - A GCC-vel nem valósíthat meg valós idejű kódkitöltési vagy kódellenőrzőt a CLANG-tól eltérően elérhető könyvtáron keresztül.
        3 - Az LLVM kiváló megoldás a GCC számára nemcsak technikai, hanem hatékonysági szempontból is. Az LLVM / CLANG binomiál felét lefordítja

  4.   Ekandekuera dijo

    Éljen a GNU és a GPL!

    1.    eliotime3000 dijo

      Nézze meg, hogy alkohollal, szerencsejátékkal és slutokkal elkészíthetik-e saját CLang-jukat.

      1.    Ekandekuera dijo

        mi?

    2.    eliotime3000 dijo

      Nem, Richard. Az a tény, hogy a SELinux az NSA munkája, nem jelenti azt, hogy bármely más, nem GPL licencelt eszköz (például LLVM / CLang) ugyanabból a mátrixból származik.

      Komolyan azt gondoltam, hogy ennek teljesen racionális motívuma van, de úgy látom, hogy az FSF konzervatívabb, mint Satoru Iwata vagy a MAFIAA bármely tagja.

      1.    Személyzet dijo

        Látható, hogy nem olvastad a levelezőlistát, és a sorok között maradtál, amit a cikk mond.
        Racionális érveket adtak, még technikai lehetőségeket is, de egyébként is nagyon gyakori a cím elolvasása és a kommentekbe ugrása.

  5.   szegény taku dijo

    Ñuhhhh GCC + Emacs. Ha túl akarsz élni, fogd meg a kezemet (istálló)

  6.   élénk dijo

    A puritánok mentegetni fognak, de el kell mondanom: soha nem kedveltem Stallmant, és úgy tűnik, hogy a többi napomban is így van.

    Nem lehetsz olyan zárkózott. Fanatikusnak, őrültnek tűnik, és igen, bármennyire is tiszteletet érdemel az eredményeiért és azért, amiért kiáll, nem szeretem.

    1.    Zironid dijo

      Egyetértek. Eleinte nagyon megkedveltem, de most túl szélsőségesnek tűnik ...

      1.    Canales dijo

        Szélsőséges ... őrült ... fanatikus ... igen, ez attól függ, hogyan nézel rá. Számomra Richard Stallman úr hatalmas társadalmi lelkiismerettel rendelkező ember. Élete értelme a társadalom fejlesztése volt, és nem a szoftverek fejlesztése. Különbség van az ingyenes szoftverek és a nyílt forráskódú szoftverek között, mivel az előbbi társadalmi, az utóbbi pedig a technikai kérdéseket keresi.

    2.    xlash dijo

      Elav társ, nem arról van szó, hogy puritán vagy-e. A szabad szoftver társadalmi mozgalomként született, és ezt Stallman úr is védi, mint sokan.

      Nem lehetsz olyan zárkózott. Fanatikusnak, őrültnek tűnik, és igen, bármennyire is tiszteletet érdemel az eredményeiért és azért, amiért kiáll, nem szeretem őt. »

      Valójában éppen ellenkezőleg. A cél az, hogy bárki szabadon hozzáférhessen a szoftverhez anélkül, hogy bárki szabadalmaztatott módosításokkal korlátozná annak használatát, és amint azt előző megjegyzésemben elmondtam, a szabad szoftver fejlesztését helyezik előtérbe és hangsúlyozzák.

      Szerintem összekevered a fanatizmust egy másik kifejezéssel. A fanatizmus öl, amint azt a történelem is jól mutatja. A keresett kifejezés radikális lehet, de a radikalizmus nélkül a szabad szoftver és a GNU / linux mozgalom nem létezne, legalábbis ahogy ma ismerjük. Ami az őrültséget illeti, nem vitatkozom veled, de, tekintettel arra, amit ebben a pár évben láttam, az őrültek nem annyira őrültek.

      Ezzel a bekezdéssel azt akarom mondani, hogy a szabad szoftver mozgása nemcsak számítógépes, hanem társadalmi mozgás is, és védeni kell. És ha Elav, akkor radikálisnak kell lenned a társadalmi vonatkozásban. Az olyan vállalatok, mint az Apple vagy a Microsoft, nem haboznak kihasználni a körülményeket. Tudatosítanunk kell a felhasználók és általában az emberek jogait.

      PS Azért nevezem Elavot, mert válaszolok neki, de a megjegyzés az összes GNU / linuxra irányul.

      Egészségedre Emberek!

      1.    Mr_E dijo

        @Xlash: Uram!… Köszönöm! Ezt kellett elolvasnom. +1

        Másolom, kinyomtatom és a Biblia oldalára teszem. (A tudomásul veszem: nem benne vagy a tetején).
        Végül ennek a lépésnek, valamint Linus és a közösség erőfeszítéseinek köszönhetően megvalósul valami, ami megváltoztatta a világot:
        "Van egy előtte Linux és egy MOST a LINUX."

      2.    Ekandekuera dijo

        +10

    3.    Mr_E dijo

      E @Elav:
      Nem kérek bocsánatot, de azt kellett mondanom:
      Néhány korábbi hozzászólásod megkedvelt engem, de ez nem tetszett ... és ha így folytatják: talán így lesz ez a napjaim hátralévő részében is.
      Ne légy zárkózott. Ön fanatikusnak, őrültnek és tisztelettel bír, mint az elért eredményei (ez a fórum) és az, amit megérdemel ... Nem szeretem (a megjegyzését).
      😀 - hehe! most ugyanúgy tapasztalhat (kicsit), mint az RMS. Csak ugyanannak a diffúziós pályának kell lennie, mint neki, és szinte pontosan ugyanúgy érezheti magát.
      Üdvözlet cuñao!

  7.   Zironid dijo

    Nem értem, hogy Stallman miért olyan zárt. Megkockáztatom, hogy azt gondolom, hogy az LLVM még szabadabb, mint a GCC, mivel megadja a szabadságot még saját tulajdonú programokban is. Igen, tudom, hogy a GCC korlátozása segíthet a szabad szoftverekben, de abszurdnak tartom, hogy ilyen módon ellenzi az LLVM-et.

    Üdvözlet

    1.    Wilson dijo

      Stallman nincs bezárva. A cikk nagyon hajlik a szerző személyes véleményére.
      A valóságban az ÖET döntései nagyrészt technikai jellegűek. A GCC-ben a modularitást akarják, és ezt csinálják is, de más módon (elkerülve a CLANG-ban létező problémákat).
      További információ https://gcc.gnu.org/ml/gcc/2014-01/msg00176.html
      Ezt írta Raymond, és ott vannak a fejlesztők válaszai.

  8.   santicluke dijo

    Nekem úgy tűnik, látom, kinek van nagyobb ... Természetesen az ego.
    Mindkét fordító kiváló. De mint minden eszköz, ez attól is függ, hogyan használja.
    Írhat ingyenes kódot C # -ba, és rakétát készíthet Linux-tal.

  9.   gallux dijo

    Szerintem itt pragmatikusabbnak kell lenned. Stallmannak látomásnak kell lennie, és nem szabad abbahagynia az útját. Aggasztó, hogy a jelenlegi közösség nem szétaprózódott, éppen ez történik. A legésszerűbb az, hogy bár a bsd licenc lehetővé teszi, hogy saját környezetben alkalmazzák, mindaddig, amíg a szerzőket felismerik (és még, hogy származékaik is vannak), ugyanazt a logikát alkalmazzák, de gpl v2 vagy újabb verzióval.

  10.   92 dijo

    Szerencsére istállóembert egy ideje alig hallani. A másik, egy számítógépes program vagy egy fordító soha nem lesz társadalmi kérdés, emellett mindig is voltak alternatívák, amelyek nem ingyenesek! de szabad.
    Az llvm clang kapcsán nincs értelme a vitának, mivel a forrás mindig ott lesz, bsd licenccel kiadták, ezért ingyenes szoftver, hogy egy vállalat sötét célokra is felhasználhatja, ez nem jelenti azt, hogy többé nem lehet hozzáférjen az eredeti kódhoz, de úgy látom, itt senkinek sincs nyoma, a 2. vagy a 3. kivételével.

    1.    xlash dijo

      "A számítógépes program vagy a fordító soha nem lesz társadalmi kérdés"
      Hogy nem? Tiszteletben tartom, hogy nem te véded a szabad szoftverek mozgalmát, mint sokan mások, de annak tagadása, amit a szabad szoftver képvisel, tiszteletlenségnek tűnik az emberekkel szemben, akik sok időt, pénzt és erőfeszítést fordítanak a védelmükre és létrehozására.

      Természetesen az llvm ingyenes szoftver, de ez nem jelenti azt, hogy annak módosításai és levezetései igen. Az elképzelés nem csak az, hogy szabadon hozzáférhessen az eredeti szoftverhez, hanem annak módosításai is. Ha kidolgozok egy programot, és megosztom veletek, szeretném, ha ugyanezt tenné azokért az emberekért is, akiknek átadná a módosított verziójának másolatát. Ez az, amit a szabad szoftver és a copyleft megvéd, ezért ez társadalmi kérdés.

      - De úgy látom, itt senkinek nincs fogalma, kivéve 2-t vagy 3-at.
      Már nem tudom, hogyan jutottál erre a következtetésre, amikor az itt közzétett megjegyzések a szoftver filozófiájára és szabadságára utalnak, összehasonlítva a kétféle licenc különbségét, még akkor is, ha kompatibilisek egymással.

      1.    diazepán dijo

        Hogyan befolyásolja annak a könyvelőnek a mindennapi életét, aki nem tud semmit a programozásról egy ilyen fordítóval összeállított könyvelési program segítségével?

        1.    xlash dijo

          Egyáltalán nem, amíg szabad vagyok. De az a téma, amellyel a kommentekben foglalkozom, egy másik, Diazepan. Beszélek egy X fordító használatáról a saját szoftverek összeállításában, az egyes fordítókban használt licencekről és azok különbségeiről, megemlítem a GLP előnyét a BSD-vel szemben, természetesen természetesen a szabadság szempontjából.

    2.    Személyzet dijo

      A LOL azt állítja, hogy senkinek nincs fogalma, nagyon határozott szavak azok számára, akik azt mondják, hogy a szoftver nem társadalmi kérdés.
      Vaknak vagy legalábbis kissé rövidlátónak kell lennie, hogy ne lássa, még akkor is, ha vannak olyan országok, amelyek (nagyobb vagy kisebb százalékban) áttérnek az ingyenes szoftverekre, amikor az összes nemzetközi média azt visszhangozza, hogy a saját szoftver a nagy kémkedés, amikor a világ leggazdagabb embere pontosan elkötelezett egy operációs rendszer iránt.
      Mit kell olvasni.

    3.    Ekandekuera dijo

      ... bárcsak több istálló és kevesebb pandev lenne hallható ...

  11.   Személyzet dijo

    A cikk kissé tendenciózus, kezdve a címmel, mert akiket meg kell kérdezni, hogy "megőrülnek-e egy kicsit", az LLVM, mivel ők panaszkodnak keserűen.

    A témában pedig látszik azok képmutatása, akik először az általuk "széttagoltságnak" nevezett, és a szabad szoftverek "szörnyűségének" ellentmondanak.
    De amikor valaki összhangban áll azzal, amit mond és tesz, követi az ő vonalát, és nem ért egyet azzal, hogy az ingyenes fordító a szabadalmaztatott fordítók végtelenségének platformjává válik, akkor igen, éljen mindenki, hogy villákat hozzon létre!

  12.   Canales dijo

    A szabad szoftver definíció szerint születésétől fogva társadalmi mozgalom.

    A GPL vs BSD tekintetében:
    „A Freedom 3 magában foglalja a módosított verziók ingyenes szoftverként való közzétételének szabadságát. Az ingyenes licenc más közzétételi formákat is engedélyezhet; más szóval, nem feltétlenül copyleft licencnek kell lennie. Az a licenc azonban, amely megköveteli, hogy a módosított verziók ne legyenek ingyenesek, nem tekinthető ingyenesnek. "
    „A Copyleft (nagyon röviden definiálva) az a szabály, amely alapján a program újraelosztásakor nem adhat meg korlátozásokat, hogy megtagadja másoktól a főbb szabadságokat. Ez a szabály nem ütközik a főbb szabadságjogokba, inkább megvédi őket. "

    Mint látható, a copyleft, bár rövid távon elvesz némi szabadságot, hosszú távon védi. Ezért védi Mr. Stallman a GPL-t: "A szabad szoftverekben végzett munkámat egy idealista cél motiválja: a szabadság és az együttműködés terjesztése."

  13.   Canales dijo

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

    „A nyílt forráskód programozási módszertan, a szabad szoftver társadalmi mozgalom. A szabad szoftverek mozgása szempontjából a szabad szoftver etikai elengedhetetlen, a felhasználók szabadságának alapvető tiszteletben tartása. Ehelyett a nyílt forráskódú filozófia pusztán gyakorlati értelemben veti fel a kérdéseket a szoftver "továbbfejlesztésének" tekintetében. Azt állítja, hogy a saját szoftver nem jelent optimális megoldást a megoldandó gyakorlati problémákra. A legtöbb esetben a „nyílt forráskód” tárgyalásakor a jót és a rosszat nem veszik figyelembe, csak a népszerűséget és a sikert. "

  14.   Daniel noriega dijo

    Már többször megjegyeztem és folyamatosan ismételgetem, a linux általában nagyon tetszik, de ha van valami, amit utálok a linuxban, az a közösség. Amikor le tud ugrani egy szikláról, hogy folytathassa a "szabad szoftver" -ként "zárt" ideológiát, akkor rájön, hogy a világ fejjel lefelé áll. Úgy gondolom, hogy a kezdetek kezdetén a szabad szoftver egyértelmű volt, ma más a történet.

  15.   ritka eset dijo

    Úgy gondolom, hogy sokaknak nem voltak egyértelműek a GPL licenc feltételei és céljai. A GPL licenc nagyon megengedő, de azzal a korlátozással, hogy ne engedje profitálni a vele licencelt programokból. Egyetértek Stallmannal, de nem az a véglet, hogy kizárólag ingyenes szoftvereket használok. Ha a felhasználónak joga van az LLvm / Clang használatát, akkor az, ha az SLF az GCC-t LLVM / Clang-ra akarja cserélni, ellentmondás lenne a szabad szoftver alapelveivel.