Stepping Down as Libxml2 Maintainer
Posted4 months agoActive4 months ago
discourse.gnome.orgTechstoryHigh profile
controversialnegative
Debate
80/100
Open-Source MaintenanceLibxml2Software Sustainability
Key topics
Open-Source Maintenance
Libxml2
Software Sustainability
The maintainer of libxml2 is stepping down after a decade of unpaid work, raising concerns about the library's future maintenance and the broader issue of open-source funding.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
4h
Peak period
53
0-12h
Avg / period
14.1
Comment distribution113 data points
Loading chart...
Based on 113 loaded comments
Key moments
- 01Story posted
Sep 17, 2025 at 8:17 PM EDT
4 months ago
Step 01 - 02First comment
Sep 17, 2025 at 11:48 PM EDT
4h after posting
Step 02 - 03Peak activity
53 comments in 0-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 24, 2025 at 4:30 AM EDT
4 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45283196Type: storyLast synced: 11/20/2025, 5:48:27 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
I feel like it adds more weight to my feeling that we should have a software building code. When you have software that's critical infrastructure, with a nutso security policy like "no embargoes / 0day me bruh", we should have some regulations in place to require the software be maintained properly (that is to say, in a sane manner) or you can't use it commercially or for safety-critical things. Which would inevitably force commercial entities to pay for the maintenance so it could be done right.... which they should be doing already, the same way any company that builds safety-critical infrastructure has to pay to do it right.
If we want society to be safe, we have to make a law that enforces it. That's how that shit works.
(as an aside: holy shit, you're a prolific HN submitter, and all from different sources. where do you get it all?)
This made my brain go "Oh no, not this again. Open source projects don't owe you..." etc etc.
> or you can't use it commercially or for safety-critical things
Oh. Yeah, okay, absolutely! For safety-critical, I would like to think the responsibility already lies with the integrator/seller, but making it explicitly so can't hurt.
Expanding that to more fields would be interesting, but difficult and expensive across the board. Particularly any sort of requirements like that generally incur significant regulatory and certification overhead.
However, if it was done similar to PCISS as an industry forum it might work better. Especially if certain fields like anything connecting with the electric grid we're required to use certified software.
Once we have all that, you can glance at a company's SBOM and find out if they've done the bare minimum due-diligence. We could also make or modify regulations that require these same materials standards, like privacy regulations, financial regulations.
And yes, meeting minimum material standards is more expensive. We already accept that cost in the physical world, why not in the software world? If there's a TDS, SDS, MSDS, etc for physical products, we should have them for software too. I want to know your materials are safe before I use your products. I'm sick of being exposed by companies who are completely irresponsible.
The license for libxml2 (like the license for almost any kind of open source software) already states "THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT." I don't see how you can put the responsibility even more on the integrator/seller than that. It literally states the devs don't even guarantee it works correctly.
It's not the "safety critical" software that needs this fixed, it's all software in general. There's a million software systems that have important privacy sensitive data or safety relevant processes that fly under the "safety critical" radar.
Really safety-critical stuff like ASIL-D, ISO26262, IEC61508 (and tons of other magic numbers) isn't something you can buy from microsoft. At best, you can sometimes get a reseller to sign something a little more binding, but with tons of restrictions that basically boil down to "use the microsoft stuff for the readout gauges, but the critical control part goes somewhere else".
So when these regulations that OP would start to take hold, would we get companies to sponsor random open source dependencies like libxml2? Or would they gather around some stable proprietary ecosystem like Microsoft's and maybe some big innovative solutions built on top of Microsoft?
And no kind of safety-oriented anything will run windows or any microsoft software. There is no windows edition of therac-25. The stuff you see in a hospital is normal workstation PCs for non-safety-relevant data entry and display. As soon as it becomes safety-relevant like controlling your heart-lung-machine, auto-dosing your medications, controlling the x-ray beam, you are far away from anything microsoft.
And actually, OSS is used more often in those safety-relevant settings. Why? Not because the OSS maintainers themselves would themselves provide any support, SLA or warranty. But because the nature of OSS provides third parties the possibility to certify, maintain and guarantee for their special 'safety-relevant-libxml2-fork'. Sometimes this is done by the device vendors themselves, sometimes they buy this from others. But it happens, and it is growing in frequency.
https://www.codethink.co.uk/news/trustable-software.html (Linux) https://access.redhat.com/en/compliance/iso-26262-asil-b (Linux) https://www.lynx.com/case-studies/secure-linux-medical-devic... (Linux) https://developer.arm.com/Tools%20and%20Software/Arm%20Compi... (clang/llvm)
There is tons more. Basically any compiler for safety-relevant embedded stuff is either clang or gcc under the hood. Linux is frequently encountered when the real-time requirements aren't too strict. With Linux also comes the usual Linux ecosystem of OSS libs and services. It won't look like your normal desktop OS, but quite a lot in that area is OSS.
Nothing at all from microsoft (except a useless BS certification "you can use Azure Devops as a code repo to store you ASIL-D code...").
...you then should stop and re-evaluate your life choices: specifically, choosing this particular piece of software, which is known to have always been insecure, to be a critical part of your infrastructure.
> Good news is several Google and Apple engineers have volunteered to help with libxml2 and libxslt security issues, despite your effort to sabotage libxml2 users...
I mean, c'mon. He's carrying the world on his shoulders and people are just pointing fingers?
Also, this shows how evil corporations are. I can understand Apple, it's their culture to avoid GPL code and and committing code to any public project needs permission from everyone plus the campus cat, but Google, the apparently bastion of open source software is doing the same thing without any shame...
They have morphed into the next Microsoft AFAICS.
Despicable.
> maybe if you stop fixing things for free, perhaps somebody will suddenly be willing to pay you to do so
We should all remember that line every time we think about being generous or altruistic. He essentially called the maintainer a fool.
The maintainer has to pick a side and commit to it, and deal with the downsides. Alternatively, they may choose not to play.
Still, it looks like he maintained the library for a long time. He no doubt has more knowledge about the code base than outsiders. That ought to be valuable to corporations relying on the library and contributing security patches.
Because he continues to work for free? Companies are amoral actors. They aren’t going to donate out of charity and if someone wants to give them free work they won’t say no
Why buy the cow if the milk is free? The license let's them use it without payment, and in a just world, they'd pay all the maintainers of libraries they use, but ours isn't a just world, and we need to formulate our strategies with that in mind.
This is why developers should AGPLv3 their personal projects from day one. Then others can't fork it under another license.
Even if they choose AGPLv3, the creator still maintains full freedom since they own the copyrights. They can make a commercial version if they want to. They can even relicense it under favorable terms to companies for a licensing fee. Everyone else must abide by the copyleft rules.
If they don't like it, let them pay hundreds of thousands of dollars a year for their own developers to make their own in house proprietary version.
That would be detrimental to "growth hacking" GitHub stars and gaining traction. One can't be paid without baiting users first.
It's rare but I've seen a number of projects over the years that have a hard copyleft license along with a line in the readme like "Want to use this with a different license? Send me an email and we'll sort it out"
I hate advertising so I don't even post about my projects anywhere unless some very specific conditions are met. People found and shared my projects anyway. They've made it to the front page of HN. I even gained a GitHub sponsor because of that. Not enough to turn my hobby into full time work but still awesome.
Only if they either refuse all contributions, require contributions to be made under an MIT license or similar (and then immediately relicense back to AGPLv3 before publishing), or require a CLA.
I'm all for personal projects to be licensed AGPLv3, but we must acknowledge that the moment you take others' AGPLv3 contributions, in practice you won't be able to do those other things.
This business model is known as selling exceptions to the GPL.
https://www.gnu.org/philosophy/selling-exceptions.html
Use the most radically copyleft and freedom preserving license you can. If the corporations want your software, you present a business solution: pay for special licensing conditions.
It's even blessed by Stallman. I emailed him to confirm. Unlike permissive licenses, only the original copyright holders get to benefit in this way. Others don't have this relicensing permission. The damage is contained.
I hope it works out for him. Watching beggar barons make billions off of free software that's being maintained for free is really hard to watch.
https://zedshaw.com/blog/2022-02-05-the-beggar-barons/
- Licence as AGPL
- Mention that commercial use (without having to open source the derivative work) is available
Did I get it right?
1- Is this solution useful for subscription-based contract too?
2- Does it make a difference if the product is a app, library or hardware device?
Or you don't have any contributors, which is the base case, I guess.
Maybe it would be useful to reframe the CLA as the price of centralized maintenance. It's free software so it's perfectly possible to refuse to sign the CLA, modify the software regardless and even publish the changes. It just means the software must be forked and maintained separately.
I think so.
> 1- Is this solution useful for subscription-based contract too?
If you mean SaaS, then maybe. I emailed Stallman about the ethics of the SaaS case and he said it's a net good.
You might want to think about whether the license actually gives you leverage in that case though. You might find that the corporations are perfectly willing to host a service using your AGPLv3 software. That's within their rights.
You only gain leverage if they want to create a proprietary version of your software.
> 2- Does it make a difference if the product is a app, library or hardware device?
Absolutely. The GPL has very specific wording with regards to linking and distribution which trigger license conditions. You should read the full license for a better understanding.
Hardware is a completely different matter, I won't even pretend to know anything about how licensing works in that case.
Remember, I'm not a lawyer. I'm just a hobbyist free software developer who's also trying his best to understand all this and make the best possible decision.
https://web.archive.org/web/20120620103603/http://zedshaw.co...
> Why I (A/L)GPL
> Open source to open source, corporation to corporation.
> If you do open source, you’re my hero and I support you.
> If you’re a corporation, let’s talk business.
> I want people to appreciate the work I’ve done and the value of what I’ve made.
> Not pass on by waving “sucker” as they drive their fancy cars.
I personally like the slow and steady tide of understanding the value of GPL family of licenses.
Why wouldn't other FOSS projects like Gnome Web for example not use GPLv3 licensed software?
"Good news is several Google and Apple engineers have volunteered to help with libxml2 and libxslt security issues, despite your effort to sabotage libxml2 users -- especially web browser users -- by disclosing all vulnerabilities immediately rather than allowing them the industry-standard 90 day disclosure deadline used by all other GNOME projects (#913 (closed)). They've posted a couple patches in the libxslt issue tracker already. I assume you're not satisfied with this, and are now trying to push them away. If that's your goal, you'll no doubt succeed pretty quickly."
RedHat often has a detrimental effect on open source, it is filled with bureaucrats and careerists.
Thanks Nick Wellnhofer for going AGPL. You are setting a great example!
Meanwhile libxml2 is still everywhere. Without someone with real backing, a core piece of infrastructure is about to go unmaintained.
Once again, the open-source funding problem is laid bare: the internet runs on the unpaid evenings of a few people until they burn out (add relevant reference from XKCD, obviously).
For instance, consuming XML and creating it are two very different use cases. Zooming into consuming it, perhaps your input data has more guarantees than libxml2 assumes, such as the nonexistence of meta definition tags.
Maybe you don't need libxml2 specifically (good luck finding an alternative to parse XML in C and other such languages though), but "I don't like the complex side of XML so let's pretend it doesn't exist" doesn't solve the problem most people pick libxml2 for. It's the de-facto standard because it supports everything you could possibly need.
Furthermore, those subsets have natural "fault lines", influenced by the burden:utility ratio. This makes consumers and producers naturally coordinate on a subset. It's not like another commenter here said about everyone needing different features.
My argument is therefore that there is value in having different libraries for different subsets - with the smallest subset being much simpler than libxml2.
Basically something behaves like your typical JSON parser and serialiser but for XML.
To my knowledge, this is what TinyXML2 does, and I've used TinyXML2 for this before to great effect.
It's doable, just use the right tools and hacks :)
Processing schema-less or broken schema stuff is always hilarious.
Good times.
> <blink>Expat is UNDERSTAFFED and WITHOUT FUNDING.</blink> > The following topics need additional skilled C developers to progress > in a timely manner or at all (loosely ordered by descending priority):
1. "This XML library is way bigger than what I need, I'll write something more minimal for my use case"
2. write a library for whatever minimal subset you need
3. crash report comes in, realise you missed off some feature x. Add support for some feature x.
4. Bob likes your library. So small, so elegant. He'd love to use it, if only you supported feature y, so you add support for feature y.
...
End result is x+1 big, complex XML libraries.
Obviously Im being a bit obtuse here because you might be able to guarantee some subset of it in whatever your specific circumstances are, but I think it's hard to do over a long period of time. If people think you're speaking XML then at some point they'll say "why don't we use this nice XML feature to add this new functionality".
The former are blazingly fast. In real world they can parse instantly. So alternatives do exist for different use cases.
No. This is the first good expkanation for the library hell in linux those days.
"You" probably do not.
But different "yous" need different features, and so they get all glommed together into one big thing. So no one needs "all" of lbxml2/XML's features, each individual needs a different subset.
(I wrote such an XML parser a long time ago.)
In any case, the tooling around XML (DTDs, XPath, XSLT, etc.) is the reason to use it. I would go so far as to say the (supposed) >80% not using those features shouldn't have used XML in the first place.
You’re right about nokogiri, though.
Of course this is an oversimplification, and there will no doubt be some sort of long tail, but it expresses the challenge well. I'd imagine the same is true for many other reasonably complex libraries, frameworks, or applications.
* XSLT is still the only native templating option for HTML pages that runs natively in the browser (but just now you are limited to XSLT v1.0 which as a number of drawbacks and limitations)
* XSLT/XML is still best at text markup. In particular interpolation. There is no simple way to represent marked up text in, say, JSON.
* Content federation (atom, rss) is still very dependent on XML.
Surely somebody somewhere has money to pay for a greybeard to fix XSLT for us? It seems far to fundamental to be left to wither on the vine.
Not sure what React has anything to do with this.
XSLT was pretty much never used as a rendering platform but for XML-data processing.
As JSON became the standard of API communication in early 2000s (less powerful, but also much less verbose and easier to manipulate in JS) XSLT became less relevant.
In any case, I'm not sure I agree with you, while JavaScript and CSS are composable out of the box HTML really lacks a native, fully declarative, composable way to build documents.
Very few people actually like XSLT, presumably including the Chrome and Firefox devs. I know XSLT has its share of supporters and that's fine. I'm not here to argue to merits of XSLT – or lack thereof – but we need to be honest about this. They are the proverbial Black Metal fans; everyone else just thinks it's bloody noise.
In addition, many people have grown towards the idea that importing these large C libraries for little used features is just not a good idea in the first place. And that makes libxml and libxslt a dead end. The entire business with XSLT was kicked off by a bunch of security bugs.
Finally, I think a decent case can be made to slim down the "web platform" a bit. If you want XSLT you can still "bring it yourself", but does every browser need to implement it to be "standards compliant"? Seems like a bad trade-off to me. It's a win for newer browsers like Servo or Ladybird if they don't need to worry about XSLT.
So in short, it's not just a problem of "adding some more people to libxml", although obviously that is a problem.
Completely agree, but there remains the massive unsolved issue of templating in HTML (at the moment XSLT is the only way to run a templated HTML website on s3 without a massive pile of javascript).
4 more comments available on Hacker News