The author writes: "really stupid way in which GCC does cross compiling [...] Nobody with a brain does this [...]", and then admits in the footnote, "I’m not sure why GCC does this".
> a lot of user-space in Linux-land does not make the same effort
I believe that, what the article misses is that glibc is maintained and extended with an entirely different community and development model. Windows remains compatible over decades because Microsoft (a) is the sole distributor, and (b) puts an immense effort towards backwards compat. In Linux userspace, it's simply a non-goal across distributions. If you want to ship a binary for a particular distro, you need to build the binary on / for that distro; even within a distro, a major release bump (or especially a major release downgrade) may break a binary.
Ultimately, it's a consequence of Conway’s Law. Microsoft is the sole distributor of Windows, so they can enforce compatibilty with an iron fist, and there are people working for Microsoft whose pay depends on said compatibility. With "Linux" in general, there is no common authority to appeal to, and (again) most vendors don't even promise a seamless userspace upgrade path from one major release to another.
This is unfixable; it will never change -- as long as independent parties are permitted to distribute different operating systems yet call them all "Linux".
Ship multiple binaries, or distribute the source code (and let users build it).
EDIT: you'll notice that "ship multiple binaries" is what distros (especially commercial distros) do. They maintain separate branches, backport fixes to old branches, and employ software maintenance engineers to focus on this kind of work. If you want to target multiple major releases, this is what you have to do, too.
If you (as a commercial ISV) target a commercial distro with long-term support, and can convince your users to use / license the same distro, you'll have a good, stable development experience. You only need to port like once every decade, when you jump major releases.
The Linux user base / the Linux market is fragmented; that's the whole goal. The technical proliferation / inconsistency is just a consequence. Unless you take away the freedom of users to run their own flavors of "Linux", there won't be a uniform Linux target.
In a way, it's funny to even expect otherwise. Why do you expect to ship the same binaries when the foundations are diverse, with no standardization authority that all Linux distributors recognize as such? And even POSIX is an API spec, not an ABI spec.
And, any authority that controls binary aspects will immediately accrue political capital. This is exactly what shouldn't happen in Linux. The fact that anyone can fork (or start) a distro, and contribute to the chaos, is good for freedom.
> If you (as a commercial ISV) target a commercial distro with long-term support, and can convince your users to use / license the same distro, you'll have a good, stable development experience. You only need to port like once every decade, when you jump major releases.
If things go well, it's even better than that: If you target ex. RHEL 8, there's a very good chance that your binaries will work on RHEL 9 and a decent shot at RHEL 10 with zero changes (though of course you should test all versions you want to work). And the same for Ubuntu 20.04/22.04/24.04/... and Debian/SUSE/whatever. Backwards incompatibilities can happen, but within a single stable distro they're not super common so the lazy ISV can probably only really port forward after more than a decade if they really want.
(Incidentally, this isn't a hypothetical: I once had the joy of working on software that targeted RHEL 5, and those binaries ran on RHEL/CentOS 7 without any problems.)
This theory would check out if a proprietary vendor could easily get away with shipping a single binary package for all supported versions of, say, Ubuntu.
Having to build and maintain a binary packege separately for each version of the same distro probably isn't that appealing to them.
> Ship multiple binaries, or distribute the source code (and let users build it).
And that's why we have package managers and distro maintainers/packagers. You'll get no help from the community if your stuff is proprietary, just the way it is. Ship the code, distros will pick it up and do the packaging for you to make it available in their distro. It's part of the free software culture that surrounds the Linux ecosystem.
If you absolutely must ship proprietary software, then target an enterprise distro. Ship it for RHEL or Ubuntu LTS and you get, at least, 10 years of a stable base.
> Give those of us who do 10 times less, but do it right, some kind of marketing advantages, it shouldn't be legal that they are competing with us.
"Quality over quantity" should be the way, but I think it has failed in every single sector. Food. Healthcare. Education. Manufacturing. Construction. ...
First, those in power rebased the diet of the masses to carbs. Consequence: an eternal epidemic of obesity, with the many known complications and illnesses as a result.
Then, they now try to remedy the problem by fucking with the human body's mechanisms. 100% guaranteed to cause terrible side effects, in the long term. It's always more complex than you think. The more coveted a "medication" for a societal problem is -- with the problem being the pigswill that is fed to the masses, and our absolutely terrible sedentary, movement-less lifestyle --, the more quickly it will be greenlit, and the greater damage it will do over time (those pesky "unknown unknowns"). The hubris of human industry is unlimited; here's one example:
> On October 30, 1924, Midgley participated in a press conference to demonstrate the apparent safety of TEL, in which he poured TEL over his hands, placed a bottle of the chemical under his nose, and inhaled its vapor for sixty seconds, declaring that he could do this every day without succumbing to any problems.
The obvious solution to the obesity epidemic is to dismantle the food industry and the 8 hours workday. Our eating and movement/exercise habits need to revert to not just pre-industrial, but pre-agricultural standards. Move a lot every week (at least on 4 days per week), welcome hunger back into our lives (hunger allows you to appreciate and enjoy simple food -- intermittent fasting is amazing), and eat food with high volume, but low calorie content, and/or with low glycemic index. Our stomach volume and our blood sugar control had evolved for those types of foodstuffs, yet due to said rebasing of the diet of the masses to carbs, we've been filling our bellies with artificial food that's hyper-charged on calories and that get absorbed immediately. That's the recipe for growing fat tissue.
Two wrongs don't make a right.
And a final comment:
> Analysts predict that by 2030, 30% of American adults will be on these medications
Why doesn't that prediction make everyone shit their pants, from fear? Do you really want to make all those people dependent on Big Pharma just so they can eat healthily? How more basic do our bodily needs get than that?
This meds are pure evil, they're a non-answer, they're a cop-out, they only transfer power from Big Food to Big Pharma.
This is the same shit as trying to "cure" society-wide depression and anxiety with drugs. It only suppresses (or replaces) the symptoms, without fixing the root cause. We're depressed because our engineered societies make our lives meaningless. The struggle for survival is real, and the universe is unfair and indifferent, so we certainly need society, to cope with that. Just not this way.
The Wikipedia article you linked states that Midgley actually knew the dangers:
> tetraethyl lead was known to be acutely toxic by those involved in the development of leaded gasoline. This included Midgley, who publicly insisted that there was nonetheless no health hazard posed
W.r.t. making people dependent on big pharma:
I have multiple allergies and although the drugs I take have side effects, I would not function without them ~8-10 months of the year (where I live, the pollen season is expanding with global warming).
I am somewhat dependent on big pharma for quality of life, but the alternative is strictly much worse for me.
I know it is a more mature type of drug, but the automatic kneejerk reactions against “Big Pharma” is unwarranted IMO.
and innately disinterested in Free Software, too