home.social

#clang — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #clang, aggregated by home.social.

  1. 🦁🔒 FreeBSD a atins un reper istoric: Sistemul de bază este acum 100% liber de software licențiat sub GPL

    Fundația FreeBSD și comunitatea de dezvoltatori din spatele acestui legendar sistem de operare de tip Unix au anunțat finalizarea unui efort monumental care a durat mai bine de două decenii: sistemul de bază al FreeBSD este acum complet lipsit de software licențiat sub GPL (General Public License).

    Această realizare reprezintă o victorie ideologică și juridică majoră pentru proiect, îndeplinind un obiectiv strategic pe termen lung: oferirea unui sistem de operare de înaltă performanță protejat exclusiv de licențe permisive, de tip BSD sau similare.

    Iată de ce această schimbare este crucială pentru ecosistemul tech și ce implică ea:

    🔹 De ce a vrut FreeBSD să elimine GPL?
    Spre deosebire de Linux, care folosește licența GPL (ce obligă companiile să distribuie public modificările aduse codului sursă — conceptul de copyleft), FreeBSD folosește licența BSD. Aceasta este mult mai permisivă, permițând oricui (inclusiv marilor corporații) să preia codul, să îl modifice și să îl integreze în produse comerciale închise, fără obligația de a face publice modificările.

    Prezența unor instrumente vechi cu licență GPL în sistemul de bază crea o zonă gri din punct de vedere juridic pentru companii precum Apple (care folosește bucăți din BSD în macOS/iOS), Sony (pentru sistemul de operare al consolelor PlayStation) sau Netflix (pentru infrastructura de streaming).

    🔹 Cum s-a realizat această tranziție istorică?
    Pentru a curăța complet sistemul de bază de GPL, comunitatea a trebuit să înlocuiască manual sau să rescrie de la zero utilitare fundamentale care făceau parte din ecosistemul GNU:

    Înlocuirea compilatorului (GCC -> LLVM/Clang): Pasul cel mai greu a fost eliminarea compilatorului GNU Compiler Collection (GCC). FreeBSD a trecut complet la LLVM/Clang ca mediu de compilare implicit, o tehnologie modernă cu licență permisivă (Apache 2.0 / BSD).

    Rescrierea utilitarelor de sistem: Toate instrumentele mici de sistem, bibliotecile (cum ar fi libdialog) și utilitarele de diagnosticare care încă rulau pe versiuni vechi de cod GNU (menținute la versiuni arhaice precum GPLv2 pentru a evita restricțiile stricte din GPLv3) au fost înlocuite cu alternative moderne scrise sub licență BSD sau licențe similare de tip MIT.

    🔹 Ce înseamnă asta pentru utilizatori și dezvoltatori?
    Pentru utilizatorii obișnuiți: Din punct de vedere al utilizării zilnice, experiența rămâne neschimbată sau chiar îmbunătățită, deoarece noile instrumente sunt mai moderne, mai rapide și adaptate arhitecturilor hardware actuale.

    Pentru companii și industrie: Acesta este cel mai mare avantaj. Companiile pot prelua acum imaginea de bază a FreeBSD și o pot modifica pentru routere, servere sau dispozitive hardware proprietare, având garanția juridică absolută că nu încalcă nicio clauză de tip copyleft.

    Programele GPL pot fi instalate în continuare: Este important de menționat că această eliminare este valabilă doar pentru sistemul de bază (base system). Utilizatorii pot instala în continuare fără probleme orice aplicație licențiată GPL (cum ar fi GCC, Bash sau utilitare GNU) prin intermediul sistemului de pachete (pkg) sau al colecției de porturi (ports).

    Prin acest pas, FreeBSD își consolidează identitatea unică în lumea open-source, oferind o alternativă pur permisivă și ultra-stabilă la ecosistemul Linux.

    #OpenSource #FreeBSD #BSDLicense #GPL #LinuxVsBSD #LLVM #Clang #SysAdmin #TechNews #Linuxiac

  2. 🦁🔒 FreeBSD a atins un reper istoric: Sistemul de bază este acum 100% liber de software licențiat sub GPL

    Fundația FreeBSD și comunitatea de dezvoltatori din spatele acestui legendar sistem de operare de tip Unix au anunțat finalizarea unui efort monumental care a durat mai bine de două decenii: sistemul de bază al FreeBSD este acum complet lipsit de software licențiat sub GPL (General Public License).

    Această realizare reprezintă o victorie ideologică și juridică majoră pentru proiect, îndeplinind un obiectiv strategic pe termen lung: oferirea unui sistem de operare de înaltă performanță protejat exclusiv de licențe permisive, de tip BSD sau similare.

    Iată de ce această schimbare este crucială pentru ecosistemul tech și ce implică ea:

    🔹 De ce a vrut FreeBSD să elimine GPL?
    Spre deosebire de Linux, care folosește licența GPL (ce obligă companiile să distribuie public modificările aduse codului sursă — conceptul de copyleft), FreeBSD folosește licența BSD. Aceasta este mult mai permisivă, permițând oricui (inclusiv marilor corporații) să preia codul, să îl modifice și să îl integreze în produse comerciale închise, fără obligația de a face publice modificările.

    Prezența unor instrumente vechi cu licență GPL în sistemul de bază crea o zonă gri din punct de vedere juridic pentru companii precum Apple (care folosește bucăți din BSD în macOS/iOS), Sony (pentru sistemul de operare al consolelor PlayStation) sau Netflix (pentru infrastructura de streaming).

    🔹 Cum s-a realizat această tranziție istorică?
    Pentru a curăța complet sistemul de bază de GPL, comunitatea a trebuit să înlocuiască manual sau să rescrie de la zero utilitare fundamentale care făceau parte din ecosistemul GNU:

    Înlocuirea compilatorului (GCC -> LLVM/Clang): Pasul cel mai greu a fost eliminarea compilatorului GNU Compiler Collection (GCC). FreeBSD a trecut complet la LLVM/Clang ca mediu de compilare implicit, o tehnologie modernă cu licență permisivă (Apache 2.0 / BSD).

    Rescrierea utilitarelor de sistem: Toate instrumentele mici de sistem, bibliotecile (cum ar fi libdialog) și utilitarele de diagnosticare care încă rulau pe versiuni vechi de cod GNU (menținute la versiuni arhaice precum GPLv2 pentru a evita restricțiile stricte din GPLv3) au fost înlocuite cu alternative moderne scrise sub licență BSD sau licențe similare de tip MIT.

    🔹 Ce înseamnă asta pentru utilizatori și dezvoltatori?
    Pentru utilizatorii obișnuiți: Din punct de vedere al utilizării zilnice, experiența rămâne neschimbată sau chiar îmbunătățită, deoarece noile instrumente sunt mai moderne, mai rapide și adaptate arhitecturilor hardware actuale.

    Pentru companii și industrie: Acesta este cel mai mare avantaj. Companiile pot prelua acum imaginea de bază a FreeBSD și o pot modifica pentru routere, servere sau dispozitive hardware proprietare, având garanția juridică absolută că nu încalcă nicio clauză de tip copyleft.

    Programele GPL pot fi instalate în continuare: Este important de menționat că această eliminare este valabilă doar pentru sistemul de bază (base system). Utilizatorii pot instala în continuare fără probleme orice aplicație licențiată GPL (cum ar fi GCC, Bash sau utilitare GNU) prin intermediul sistemului de pachete (pkg) sau al colecției de porturi (ports).

    Prin acest pas, FreeBSD își consolidează identitatea unică în lumea open-source, oferind o alternativă pur permisivă și ultra-stabilă la ecosistemul Linux.

    #OpenSource #FreeBSD #BSDLicense #GPL #LinuxVsBSD #LLVM #Clang #SysAdmin #TechNews #Linuxiac

  3. Парсер C++ на своем DSL: попытка обогнать компилятор

    Проекты растут. Кодовая база растёт. Время компиляции растёт вместе с ними и переходит все границы разумного. В какой-то момент я решил: а что если попробовать написать свой компилятор? Пока только для разработки, не для прода . На замену Clang++/G++/CL.EXE. Эта статья — о первом шаге на этом пути. О парсере C++, который я написал на своём DSL специально сделанном для этого изначально. Матчинг запущен? Кооперация предложена?

    habr.com/ru/articles/1058150/

    #С++ #компиляторы #Парсеры #генераторы_парсеров #разработка #алгоритмы #open_source #C #g++ #clang

  4. Парсер C++ на своем DSL: попытка обогнать компилятор

    Проекты растут. Кодовая база растёт. Время компиляции растёт вместе с ними и переходит все границы разумного. В какой-то момент я решил: а что если попробовать написать свой компилятор? Пока только для разработки, не для прода . На замену Clang++/G++/CL.EXE. Эта статья — о первом шаге на этом пути. О парсере C++, который я написал на своём DSL специально сделанном для этого изначально. Матчинг запущен? Кооперация предложена?

    habr.com/ru/articles/1058150/

    #С++ #компиляторы #Парсеры #генераторы_парсеров #разработка #алгоритмы #open_source #C #g++ #clang

  5. Парсер C++ на своем DSL: попытка обогнать компилятор

    Проекты растут. Кодовая база растёт. Время компиляции растёт вместе с ними и переходит все границы разумного. В какой-то момент я решил: а что если попробовать написать свой компилятор? Пока только для разработки, не для прода . На замену Clang++/G++/CL.EXE. Эта статья — о первом шаге на этом пути. О парсере C++, который я написал на своём DSL специально сделанном для этого изначально. Матчинг запущен? Кооперация предложена?

    habr.com/ru/articles/1058150/

    #С++ #компиляторы #Парсеры #генераторы_парсеров #разработка #алгоритмы #open_source #C #g++ #clang

  6. Introducing fmetrics: Fast Image & Video Fidelity Metrics in C, Zig

    halide.cx/blog/fmetrics/

  7. 🚀 Android NDK r30 Beta 2 is here!

    Highlights:
    ✅ LLVM updated to clang-r574158b
    🐛 Compiler & LTO fixes
    🔍 Better LLDB debugging
    ⚡ Improved ARM dot product code generation

    Details: github.com/android/ndk/release

    #Android #AndroidDev #NDK #LLVM #Clang #CPP

  8. 🚀 Android NDK r30 Beta 2 is here!

    Highlights:
    ✅ LLVM updated to clang-r574158b
    🐛 Compiler & LTO fixes
    🔍 Better LLDB debugging
    ⚡ Improved ARM dot product code generation

    Details: github.com/android/ndk/release

    #Android #AndroidDev #NDK #LLVM #Clang #CPP

  9. Why it required a compiler-specific language extension (although thankfully all the compilers that matter, ie #gcc and #clang, have converged on the same extension) is beyond me. Being able to detect an overflow is such an obviously useful thing to do that it was implemented in the very first microprocessor, the #Intel4004. I used it heavily in #assembler code on the #Z80 in the 1980s. A mechanism for making use of that flag should have been in the C standard for *decades* by this point. 4/4

  10. Why it required a compiler-specific language extension (although thankfully all the compilers that matter, ie and , have converged on the same extension) is beyond me. Being able to detect an overflow is such an obviously useful thing to do that it was implemented in the very first microprocessor, the . I used it heavily in code on the in the 1980s. A mechanism for making use of that flag should have been in the C standard for *decades* by this point. 4/4

  11. Why it required a compiler-specific language extension (although thankfully all the compilers that matter, ie #gcc and #clang, have converged on the same extension) is beyond me. Being able to detect an overflow is such an obviously useful thing to do that it was implemented in the very first microprocessor, the #Intel4004. I used it heavily in #assembler code on the #Z80 in the 1980s. A mechanism for making use of that flag should have been in the C standard for *decades* by this point. 4/4

  12. Why it required a compiler-specific language extension (although thankfully all the compilers that matter, ie #gcc and #clang, have converged on the same extension) is beyond me. Being able to detect an overflow is such an obviously useful thing to do that it was implemented in the very first microprocessor, the #Intel4004. I used it heavily in #assembler code on the #Z80 in the 1980s. A mechanism for making use of that flag should have been in the C standard for *decades* by this point. 4/4

  13. Why it required a compiler-specific language extension (although thankfully all the compilers that matter, ie #gcc and #clang, have converged on the same extension) is beyond me. Being able to detect an overflow is such an obviously useful thing to do that it was implemented in the very first microprocessor, the #Intel4004. I used it heavily in #assembler code on the #Z80 in the 1980s. A mechanism for making use of that flag should have been in the C standard for *decades* by this point. 4/4

  14. I just found an error in my printed edition of "Pointers on C":

    The Programs 5.1 (page 96) & 5.2 (page 100) use a left shift, when it should be a right shift.

    (And this error has been corrected in the PDF version that I have)

    However, I really like the book overall! It was a great recommendation, and I enjoy reading it so far! 🙂

    @xexyl @sirwumpus

    #c #cProgramming #clang #pointersOnC

  15. I just found an error in my printed edition of "Pointers on C":

    The Programs 5.1 (page 96) & 5.2 (page 100) use a left shift, when it should be a right shift.

    (And this error has been corrected in the PDF version that I have)

    However, I really like the book overall! It was a great recommendation, and I enjoy reading it so far! 🙂

    @xexyl @sirwumpus

    #c #cProgramming #clang #pointersOnC

  16. I just found an error in my printed edition of "Pointers on C":

    The Programs 5.1 (page 96) & 5.2 (page 100) use a left shift, when it should be a right shift.

    (And this error has been corrected in the PDF version that I have)

    However, I really like the book overall! It was a great recommendation, and I enjoy reading it so far! 🙂

    @xexyl @sirwumpus

    #c #cProgramming #clang #pointersOnC

  17. I just found an error in my printed edition of "Pointers on C":

    The Programs 5.1 (page 96) & 5.2 (page 100) use a left shift, when it should be a right shift.

    (And this error has been corrected in the PDF version that I have)

    However, I really like the book overall! It was a great recommendation, and I enjoy reading it so far! 🙂

    @xexyl @sirwumpus

    #c #cProgramming #clang #pointersOnC

  18. I just found an error in my printed edition of "Pointers on C":

    The Programs 5.1 (page 96) & 5.2 (page 100) use a left shift, when it should be a right shift.

    (And this error has been corrected in the PDF version that I have)

    However, I really like the book overall! It was a great recommendation, and I enjoy reading it so far! 🙂

    @xexyl @sirwumpus

    #c #cProgramming #clang #pointersOnC

  19. Quick and dirty VSCode project for WSL/Ubuntu for getting started with coding in #C for #C64 :
    codeberg.org/csepp/llvm-mos-sa

    Made for my partner and generally for people who might be new to C and for some reason want to learn it while they also learn Commodore 64 programming. She hasn't tried it yet, so I can't vouch for the followability of the docs.

    Uses #LLVMMOS / #Clang / #clangd to make things a bit more ergonomic. I know about CC65 and its debug info and VICE support was tempting, but better code navigation and static analysis IMHO wins.

    PRs that set up support for other IDEs are welcome, as long as they don't break VSCode.

    cc: #theWorkshop

  20. Quick and dirty VSCode project for WSL/Ubuntu for getting started with coding in #C for #C64 :
    codeberg.org/csepp/llvm-mos-sa

    Made for my partner and generally for people who might be new to C and for some reason want to learn it while they also learn Commodore 64 programming. She hasn't tried it yet, so I can't vouch for the followability of the docs.

    Uses #LLVMMOS / #Clang / #clangd to make things a bit more ergonomic. I know about CC65 and its debug info and VICE support was tempting, but better code navigation and static analysis IMHO wins.

    PRs that set up support for other IDEs are welcome, as long as they don't break VSCode.

    cc: #theWorkshop

  21. Quick and dirty VSCode project for WSL/Ubuntu for getting started with coding in #C for #C64 :
    codeberg.org/csepp/llvm-mos-sa

    Made for my partner and generally for people who might be new to C and for some reason want to learn it while they also learn Commodore 64 programming. She hasn't tried it yet, so I can't vouch for the followability of the docs.

    Uses #LLVMMOS / #Clang / #clangd to make things a bit more ergonomic. I know about CC65 and its debug info and VICE support was tempting, but better code navigation and static analysis IMHO wins.

    PRs that set up support for other IDEs are welcome, as long as they don't break VSCode.

    cc: #theWorkshop

  22. Quick and dirty VSCode project for WSL/Ubuntu for getting started with coding in #C for #C64 :
    codeberg.org/csepp/llvm-mos-sa

    Made for my partner and generally for people who might be new to C and for some reason want to learn it while they also learn Commodore 64 programming. She hasn't tried it yet, so I can't vouch for the followability of the docs.

    Uses #LLVMMOS / #Clang / #clangd to make things a bit more ergonomic. I know about CC65 and its debug info and VICE support was tempting, but better code navigation and static analysis IMHO wins.

    PRs that set up support for other IDEs are welcome, as long as they don't break VSCode.

    cc: #theWorkshop

  23. Quick and dirty VSCode project for WSL/Ubuntu for getting started with coding in #C for #C64 :
    codeberg.org/csepp/llvm-mos-sa

    Made for my partner and generally for people who might be new to C and for some reason want to learn it while they also learn Commodore 64 programming. She hasn't tried it yet, so I can't vouch for the followability of the docs.

    Uses #LLVMMOS / #Clang / #clangd to make things a bit more ergonomic. I know about CC65 and its debug info and VICE support was tempting, but better code navigation and static analysis IMHO wins.

    PRs that set up support for other IDEs are welcome, as long as they don't break VSCode.

    cc: #theWorkshop