<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jlokier</title><link>https://news.ycombinator.com/user?id=jlokier</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 20 Oct 2026 22:22:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jlokier" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jlokier in "No portable way to detect string-to-float conversion errors in standard C"]]></title><description><![CDATA[
<p>A subtlety around denormals too. In the article, it quotes a definition of ERANGE underflow as closer to zero than the smallest _normalised_ positive value.<p>Denormals therefore count as underflow and strtod() sets ERANGE for them, even though they they are legitimate values to store as strings and  parse back.<p>Some implementations of strtod() return the correct floating-point value for these, while setting ERANGE. Others discard the value and return 0.0, preventing them from being round-tripped to strings.</p>
]]></description><pubDate>Tue, 13 Oct 2026 01:52:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=50065591</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=50065591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50065591</guid></item><item><title><![CDATA[New comment by jlokier in "Everybody’s home. No one’s coming over"]]></title><description><![CDATA[
<p>*> Where and when did you pay per-minute for local calls?<p>Almost everywhere outside the US, Canada and New Zealand.</p>
]]></description><pubDate>Tue, 29 Sep 2026 14:32:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49894011</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49894011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49894011</guid></item><item><title><![CDATA[New comment by jlokier in "Emacs 31: An unofficial guide to Markdown-ts-mode"]]></title><description><![CDATA[
<p>It's still reasonable to ask what's different about markdown-ts-mode compared with markdown-mode.<p>I read that article, and I didn't notice anything that stands out as different from markdown-mode (the non Tree Sitter version).<p>Regular markdown-mode also highlights everything, hides markup if you like, cycles section visibility if you like, fills paragraphs in bullets, etc.  With poly-markdown-mode it also does language-specific syntax highlighting in code blocks, and even language-specific structural editing, automatic indentation, etc.  With math-preview it displays TeX/LaTeX math as rendered formulae.</p>
]]></description><pubDate>Fri, 28 Aug 2026 08:20:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49475885</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49475885</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49475885</guid></item><item><title><![CDATA[New comment by jlokier in "Emacs 31: An unofficial guide to Markdown-ts-mode"]]></title><description><![CDATA[
<p>It would probably be enough if Org files could use Markdown for the free text parts, tables, headings and blockquotes, while keeping Org format for its key-value properties and structure other than headings, when those optional parts are used.<p>(Though Markdown's inability to nest Markdown inside HTML elements is a terrible default.  HTML semantic elements containing marked up text is basically how I write documentation to myself, and obviously the right way to mix plain text-like markup with named, extensible annotations beyond the default syntax.)<p>I think most of the friction comes because you have to keep converting free text with bold, italics, headings, etc. between the two, costing time when you're moving notes, documentation, README.mds, code comments nowadays in Markdown, etc. back and forth between the two.  That creates a dilemma: Should I write README.org or README.md in my personal project?  Should I write Org notes about my work to help me track of WIP and notes that might become documentation, or Markdown blocks inside Org, or Markdown notes?  What if I'm collaborating with others, or think I might in future?  What about collaborating with LLMs?<p>It's just enough friction that I ended up avoiding Org for organising my work, even though I like the idea in principle and use Emacs all the time.</p>
]]></description><pubDate>Fri, 28 Aug 2026 08:03:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=49475751</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49475751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49475751</guid></item><item><title><![CDATA[New comment by jlokier in "Apple introduces M6 and M5 Ultra"]]></title><description><![CDATA[
<p>You can't run Linux directly on these.  Asahi Linux supports up to M2 only.<p>Linux runs very well in a VM on macOS.  There are many good options for this, some free and open source (QEMU, UTM, Lima, Colima), some proprietary (VMware Fusion, Parallels).<p>But Linux in a VM doesn't get access to the real GPU, so model performance is limited.  Those running on the CPU perform well, and those needing the GPU don't.<p>However, macOS on M-series macs is excellent for local models.  (Maybe not as excellent as a box full of the best nVidia GPUs, but still excellent).<p>So if you're getting Apple hardware, like Linux, and want to run all of it locally, a fine setup for a machine to run local models, with agentic characteristics:<p>- macOS running one of the many local model runners.  I used to use Ollama and Whisper, and now use llama.cpp instead of Ollama.  Others use LM Studio, oMLX, etc.  Provide HTTP endpoints to access the models.<p>- Linux in a VM for overall control and orchestration, with standard VM settings, and bridged networking so it appears as its own machine on your network.  Also, in here provide a robust shared file server for shared state.  Use this VM as your desktop and primary access to the machine, if you like Linux.<p>- Linux in a VM to launch ephemeral, volatile containers, with the containers using a memory-only tmpfs overlay on top of a read-only Linux filesystem in a VM disk image, with tools in this filesystem.  Alternatively, a writable Linux filesystem in a VM disk image, with disk buffering set to use macOS host buffering and discard fsync requests.  These settings optimise for container disk performance for data that's only ephemeral which will be deleted soon or on system shutdown.  (You can combined both VMs, but need to use two VM disks to get equivalent behaviour, and be careful about VM disk configuration of the two disks.)<p>- Containers spawned within that second Linux VM can be spawned very quickly and run quickly, so are ideal for LLM agents that need a quick sandbox.  These sandboxes generally run faster than a macOS sandbox, despite being on the same machine with VM overhead, because Linux is faster at some things.  Teach the LLMs to store files and memories they want to keep in the shared file server.</p>
]]></description><pubDate>Tue, 25 Aug 2026 14:24:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49434719</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49434719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49434719</guid></item><item><title><![CDATA[New comment by jlokier in "Coding expertise is going to collapse from AI reliance"]]></title><description><![CDATA[
<p><i>> They don't fuck up basic grammar.</i><p>Sometimes they do.  From Gemini 3, some AppleScript:<p><pre><code>  if something then
    if something then
      if something then
        stuff
      end if
    end if
  </if>
</code></pre>
Each time I asked Gemini 3 to fix the syntax error, it acknowledged it had screwed up the basic syntax, and then emitted a new version of the code.  With another XML closing tag <i>somewhere</i>.  Then it was embarrassed, apologetic, etc. to see it had made the same mistake repeatedly.  Eventually it output several attempts per turn as it kept checking its own work in-turn, seeing that it had made the same kind of mistake and tried again, this time definitely fixing it, proudly and confidently presenting me with the correct, final, definitive version.  With another 'end if' or 'end tell' replaced by an XML closing tag that it couldn't see until the next turn.<p>After about 10 turns the problem went away.</p>
]]></description><pubDate>Tue, 25 Aug 2026 07:57:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=49430445</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49430445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49430445</guid></item><item><title><![CDATA[New comment by jlokier in "People are worried about America's solvency"]]></title><description><![CDATA[
<p>> While I agree, surely the assumption that the Democrats will be more fiscally responsible isn't true either?<p>See the sibling thread parallel to yours, <a href="https://news.ycombinator.com/item?id=49329791">https://news.ycombinator.com/item?id=49329791</a><p>Democrats have a <i>track record</i> that speaks to them being more fiscally responsible than GOP, in spite of the rhetorical narrative.<p>You can't assume anything about the next crew.  Past performance is no guarantee of future results.  But if you're predicting fiscal responsibility, past performance favours the Democrats.</p>
]]></description><pubDate>Mon, 17 Aug 2026 13:27:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49330494</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49330494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49330494</guid></item><item><title><![CDATA[New comment by jlokier in "Tracking down the 16-year-old WAL-reset SQLite bug"]]></title><description><![CDATA[
<p><i>> SQLite has a "lite" in the name for a reason</i><p>It"s actually SQL "ite" as in rocks, minerals and fossils. Their version control system is called  "Fossil".</p>
]]></description><pubDate>Thu, 13 Aug 2026 09:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49283552</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49283552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49283552</guid></item><item><title><![CDATA[New comment by jlokier in "Mistral Patent for “Code implemented tool calls”"]]></title><description><![CDATA[
<p>I've been in several patent lawyer meetings where we discussed blocking patent strategies and their mitigation when deciding what to patent, so I don't think it's made up.<p>Company A publishes invention 1, when they know inventions 2, 3, 4 follow naturally in their own roadmap but those things aren't obvious to other people yet.  Invention 1 is just a stepping stone in company A's larger vision, and it's not useful by itself, but they can't publish (or patent) everything at once, it takes time to develop them.  It's also not permitted to patent 4 inventions in one patent.  There are time, expense and R&D factors.<p>Company B studies invention 1, realises invention 2 follows naturally (as does everyone who looks at invention 1), and company B patents invention 2 before anyone else.<p>They can do this because inventions 2, 3, 4 are not obvious to persons skilled in the art who haven't seen invention 1.  They are only obvious to anyone who works with invention 1.<p>The standard is not "if you knew about invention 1, would 2 be an obvious next step", it's "would 2 be obvious with general industry knowledge alone".<p>When that happens company A is stuck, whether they patented invention 1 or just published and/or used it.<p>With their prior art, they can continue to use invention 1, even if they didn't patent it, but it's not much use by itself.  They can't develop it further in the directions they'd had in mind all along.  And sometimes company B's patent and company A's prior art will mean company A can continue to use invention 1 but nobody else can.<p>A defensive strategy is for company A to patent invention 1, even if they hate patents, just so that company B can't use invention 1 when they need it in invention 2.  This doesn't stop company B from patenting invention 2 before company A, by the way.  It just creates leverage for company A to persuade company B to license invention 2, instead of company A having to abandon its entire roadmap and switch to a different kind of product.<p>> I's only your right to exclude others from it that gives a patent any defense... it's all about exclusivity<p>Yes, but not all companies want to exclude.  Some even want to share their work openly as they proceed.  But even sharing openly and creating prior art as you go is not safe.<p>The natural line of development they have mapped out can be shut down by others seeing the way ahead and blocking it, which is a strategy, as I said, that I have seen discussed in real patent lawyer meetings.<p>For those companies, "what is the point of a patent if not to enforce the right of exclusivity it grants" -> the point is not to enforce exclusivity over anyone, because they don't want to.  It's to use the granted rights as defensive leverage so they can continue developing, publishing and using their own work.</p>
]]></description><pubDate>Tue, 11 Aug 2026 12:32:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49257268</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49257268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49257268</guid></item><item><title><![CDATA[New comment by jlokier in "Squeak 6.1"]]></title><description><![CDATA[
<p>It's not widely known, but GNU Emacs works like this.<p>When you launch the Emacs editor, you're loading an Emacs Lisp image that was populated at build time by running Lisp code, with the resident Lisp definitions "dumped" to make an image file.<p>The image file used to actually be the `emacs` executable you'd run, using a clever but non-portable mechanism called `unexec` to make an executable.<p>But as of version 27.1 (in 2020), the image file is separate from the executable for portability reasons.</p>
]]></description><pubDate>Mon, 10 Aug 2026 20:32:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49249304</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49249304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49249304</guid></item><item><title><![CDATA[New comment by jlokier in "Mistral Patent for “Code implemented tool calls”"]]></title><description><![CDATA[
<p>> what is the point of a patent if not to enforce the right of exclusivity it grants<p>Usually it's to defend against another company using a "blocking patent" by pursuing you for infringing their patent which is built upon the thing you patented, doing the next step which was always obvious to you.<p>So that you can continue building what you started in the first place, instead of being shut down while someone else takes your idea forward.<p>Not for exclusivity.</p>
]]></description><pubDate>Mon, 10 Aug 2026 19:57:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49248889</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=49248889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49248889</guid></item><item><title><![CDATA[New comment by jlokier in "I'm a USB-C Maximalist"]]></title><description><![CDATA[
<p>Unless, as purplefox speculates:<p>> My guess is that's a fake one.<p>I've seen fake Apple chargers in local shops recently, with complete Apple packaging, "made by Apple in California" etc. and only detectable by close inspection of the details, specs not matching any Apple product, device info reported electronically that doesn't match any Apple specs, and the tiny inset writing not making sense when looked at under magnification.  So that sounds plausible to me.</p>
]]></description><pubDate>Wed, 15 Jul 2026 12:43:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48919997</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48919997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48919997</guid></item><item><title><![CDATA[New comment by jlokier in "Ghostel.el: Terminal emulator powered by libghostty"]]></title><description><![CDATA[
<p>Fwiw, in all my Ghostel updates recently, the Zig module failed to compile, with an error message from Zig about a line in the module source. I have a fairly up to date Zig installed via Homebrew.<p>I didn't have time to fix it so downloading the binary module has been the only option.<p>I had the same problem with vterm when I first tried it. The C module failed to compile, with a compiler error about a line in the source. As there was no downloadable binary module I fixed that one.</p>
]]></description><pubDate>Tue, 14 Jul 2026 10:58:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48904853</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48904853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48904853</guid></item><item><title><![CDATA[New comment by jlokier in "The CEO of Mullvad is the main financer of the Swedish Örebro party"]]></title><description><![CDATA[
<p>> the possibility that Daniel and I are able to keep our personal opinions separate from the mission of our company<p>This isn't about opinions.  Very large political financing is not a mere opinion.  It has a much larger material effect.<p>I don't think it's possible to separate "mission of our company" from "large scale political financing", for purely structural reasons.<p>I think the legal and fiduciary concept of Conflict of Interest is relevant here, but perhaps only by analogy.  <a href="https://en.wikipedia.org/wiki/Conflict_of_interest" rel="nofollow">https://en.wikipedia.org/wiki/Conflict_of_interest</a> is quite informative.<p>In some business, political and legal roles, we <i>deem</i> certain structural relations to be a conflict of interest <i>regardless of what people on those roles actually do.</i>.<p>The <i>mere potential</i> for excessive improper influence arising from the structure of their relationships and roles is what creates the deemed conflict.<p>As the owners of a company making substantial profit like Mullvad, you always had the <i>potential</i> capability to financially influence political outcomes on a scale which most your customers cannot, in ways that may seriously harm some of your customers and to be potentially against the stated mission of your company.<p>I think the relationship between running a company with an openly advertised public mission, or even an implied mission in the minds of customers, while in another role (wealthy private citizen) being able to make a substantial material action against the same mission, should be recognised as inherently a conflict of interest.  But obviously it's one we can't avoid, as long as we allow people to get rich from a mission-driven company.<p>What we can do, is recognise that if someone <i>actually</i> takes a large material action against the company's mission, then they have gone a step further and demonstrated the conflict of interest.<p>We generally favour free speech, including political donations.  But when the money for very large political financing comes mostly from customers who, by virtue of the advertising and marketing of the company's mission, are led to believe they are supporting the company's mission?<p>In my view, at that point the customers are being tricked into paying for something while their money is paying for something else which opposes the thing they thought they were funding.<p>At the least, it should be dealt with in a similar way that conflicts of interest are dealt with when, for example, directing multiple companies: By making sure everyone knows, so other people are able to consent or not on the major conflict issues those other people might have a view on.  The analogy for customers is their consent shown by their <i>informed</i> decision to become or remain customers.<p>In Mullvad's situation, that would mean Mullvad should explain to customers, embedded clearly within it's public marketing of the company missions and values, that one of its current major owners receiving customer funds by way of profit, is the main financier of a political party which sponsors remigration in Sweden.  Because that is clearly a thing some customers care about when evaluating whether to pay for Mullvad's services from now on.  You know that, I know that, so there's no legitimate excuse for not letting customers who would care know.<p>Then, as you said, customers will be free to choose.</p>
]]></description><pubDate>Mon, 29 Jun 2026 21:14:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48725326</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48725326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48725326</guid></item><item><title><![CDATA[New comment by jlokier in "Google Hits 50% IPv6"]]></title><description><![CDATA[
<p>Unfortunately SLAAC doesn't force upstream to provide a /64 universally.<p>Some ISPs are reportedly giving out a /128, and SLAAC works adequately with a router performing IPv6 NAT, so those ISPs don't see a problem.<p>Mobile phone as WiFi access point is another common way people access the net nowadays.  I've occasionally seen permanent installations, with a phone taped to a window.  I've never seen a mobile phone AP offer IPv6 to clients, but if they do they have to use SLAAC-compatible IPv6 NAT in that situation.</p>
]]></description><pubDate>Sun, 21 Jun 2026 14:06:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48619115</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48619115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48619115</guid></item><item><title><![CDATA[New comment by jlokier in "Nim Conf 2026 (Online, Sat June 20)"]]></title><description><![CDATA[
<p>Any ideas why Nim seems missing from job and contract boards?  Although it's niche, it doesn't seem <i>that</i> obscure compared with countless other niche things I see advertised.<p>I really enjoyed programming in Nim professionally, and got to know it well. But I've literally never seen a job ad which mentions Nim since then, except at the company I already left (Status), so that's not really an option.<p>After realising there's no work in it, I struggled to justify using Nim in new projects including personal projects, even though I like the language.<p>If anyone's reading this and looking to hire someone who knows (or rather, knew) Nim well enough to do quite advanced work in it and doesn't need training, please do drop me a line :-)</p>
]]></description><pubDate>Fri, 19 Jun 2026 16:03:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48600095</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48600095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48600095</guid></item><item><title><![CDATA[New comment by jlokier in "Tesco moving 40k server workloads off VMware amid Broadcom's abusive conduct"]]></title><description><![CDATA[
<p>It's a very scalable and almost fun task once you get into it.<p>Alternatives to VMware can run VMware VMs almost immediately, by translating the configuration and with only a few (or sometimes no) changes to the guest.  Usually those changes are scriptable.  I've done it a few times, moving between VMware and KVM of Windows guests pretty much just worked; the rest was optimisation, i.e. guest driver changes, etc.<p>Live migration is not realistic between different hypervisors, but a very short downtime per VM is realistic if the new hypervisor can adopt the old disk images directly, which some can.  If you want, you can convert formats in the background while the VM is running on the new hypervisor.  E.g. KVM and things built on KVM can do all these things.<p>So to each guest, it looks like a quick reboot with a quick hardware upgrade.<p>If that's coordinated properly, with a generic HA or Kubernetes setup, there's absolutely zero service downtime (if there are no serious mistakes), as it's just nodes within a cluster taken down one at a time while the others keep the services running, and state migrates among the nodes which are live.<p>Most of the things you'll change when migrating are the same for large numbers of VMs that are configured the same way except for their disk images, and easily minor things like MAC/IP.  So after you've verified a small number, you can go right ahead and script the migrations for another thousand VMs, even doing them in parallel.<p>You don't need to migrate all VMs at the same time, and you shouldn't do that anyway.  So the temporary hardware / cloud cost can be in the low single-digit percentage (for a few weeks to months at 40k VM scale, a few hours to days at 10 VM scale).  You probably have some slack in there already, though, so might not need any additional hardware.</p>
]]></description><pubDate>Fri, 19 Jun 2026 15:35:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48599802</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48599802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48599802</guid></item><item><title><![CDATA[New comment by jlokier in "Win16 Memory Management"]]></title><description><![CDATA[
<p>My point is the example code has a generic C bug, not depending on FAR, which is why it should be taught in good C courses.<p>Although the code worked on Win32, and works on most modern C compilers, it's not <i>guaranteed</i> to work on modern C compilers, especially with aggressive optimisation turned on.</p>
]]></description><pubDate>Mon, 08 Jun 2026 06:35:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48441957</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48441957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48441957</guid></item><item><title><![CDATA[New comment by jlokier in "Anthropic, please ship an official Claude Desktop for Linux"]]></title><description><![CDATA[
<p>Yes, there are a few exceptions to the Linux kernel's backward compatibility.  I've encountered others, but I don't remember which any more.  They are quite rare, though.<p>cgroups v1 might be the most irritating, because it was useful and something a shipped application or service might realistically use.</p>
]]></description><pubDate>Mon, 08 Jun 2026 06:34:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48441953</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48441953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48441953</guid></item><item><title><![CDATA[New comment by jlokier in "Anthropic, please ship an official Claude Desktop for Linux"]]></title><description><![CDATA[
<p>> Not if they're GPL licensed you can't.<p>Wrong, misleading and possibly FUD.  Yes you can ship GPL licensed software with your application, even a proprietary, closed source application.<p>You have to comply with the GPL terms, but that's easy to do for every library or auxiliary program that you'd link to or call in a Linux distro.<p>The GPL is designed to support this use case, with it's "mere aggregation" clause making it clear that it's allowed.<p>The one thing you can't do if you're shipping a closed source application is link to GPL-licensed code (unless there's an special exception clause, or it's LGPL, or it's dual-licensed to allow this).  But for this type of GPL library, you can't use the Linux distro's shipped version either.  So the GPL constraint makes no difference to the question of whether you can ship a frozen or fallback version with your application in lieu of the distro version.<p>If there's a corner case the above doesn't cover, I'm not aware of it and I've studied GPL compliance more thoroughly than most people.  So I'd like to know about it :-)</p>
]]></description><pubDate>Sun, 07 Jun 2026 18:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48437371</link><dc:creator>jlokier</dc:creator><comments>https://news.ycombinator.com/item?id=48437371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48437371</guid></item></channel></rss>