Michał Górny (he/they) ∞🙀🚂🐧 on Nostr: Honestly, I hate the #LLVM release model. Basically, LLVM is becoming a more and more ...
Honestly, I hate the #LLVM release model.
Basically, LLVM is becoming a more and more critical component of modern software infrastructure, and yet:
1. It has some extremely fragile components (e.g. sanitizers) that periodically need to be fixed.
2. Every major release introduces significant API changes.
3. Every major release is supported for roughly 4 months.
This means that, except for the few projects that aggressively follow new releases, most projects don't even start supporting the new version until it's effectively EOL (except it's not called "EOL", that would be rude). Then, downstreams have to actually maintain all the old releases — #Gentoo currently ends up patching four extra releases (down to LLVM 15, and someone just demanded restoring 14, for Haskell). Plus requesting backports to 19, so we wouldn't have to patch it from day one. Plus testing main weekly, so we don't end up with tons of regressions to be fixed and to have the fixes backported, once the next release is branched.
And honestly, this is precisely what you'd expect from corporate #OpenSource. They pour loads of money to have code churned out to meet their selfish interests, with little concern over long-term effects. Then, volunteers have to go through the tremendous effort of rolling the resulting dungball into something reasonably stable, and maintain it afterwards.
Published at
2024-11-15 08:13:38Event JSON
{
"id": "b02fd01a30e7962a605bbe7db2dd92d7c2da3949dafce98efef9ebaeb9bfec8a",
"pubkey": "1965bb696fe873e595ad4b29318e173f83fe08cbc8452070b186176b707c9bdc",
"created_at": 1731658418,
"kind": 1,
"tags": [
[
"t",
"llvm"
],
[
"t",
"gentoo"
],
[
"t",
"OpenSource"
],
[
"proxy",
"https://social.treehouse.systems/users/mgorny/statuses/113485966102899366",
"activitypub"
]
],
"content": "Honestly, I hate the #LLVM release model.\n\nBasically, LLVM is becoming a more and more critical component of modern software infrastructure, and yet:\n\n1. It has some extremely fragile components (e.g. sanitizers) that periodically need to be fixed.\n\n2. Every major release introduces significant API changes.\n\n3. Every major release is supported for roughly 4 months.\n\nThis means that, except for the few projects that aggressively follow new releases, most projects don't even start supporting the new version until it's effectively EOL (except it's not called \"EOL\", that would be rude). Then, downstreams have to actually maintain all the old releases — #Gentoo currently ends up patching four extra releases (down to LLVM 15, and someone just demanded restoring 14, for Haskell). Plus requesting backports to 19, so we wouldn't have to patch it from day one. Plus testing main weekly, so we don't end up with tons of regressions to be fixed and to have the fixes backported, once the next release is branched.\n\nAnd honestly, this is precisely what you'd expect from corporate #OpenSource. They pour loads of money to have code churned out to meet their selfish interests, with little concern over long-term effects. Then, volunteers have to go through the tremendous effort of rolling the resulting dungball into something reasonably stable, and maintain it afterwards.",
"sig": "441c4766ae1ddc55fe3032f0aaff3b9c67c92f91c0a584470b3282229a2fc2b87c1076deca5af6abb1c71a6e5a03c3017b61488aee7fe747df92042141607ac7"
}