A libxml2 hivatalosan is árva maradt a karbantartója távozása után

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

2025 szeptember közepén számoltunk be róla, hogy Nick Wellnhofer, a széles körben használt XML-feldolgozó könyvtár, a libxml2 hosszú ideje működő karbantartója tervezi a projekt elhagyását. Néhány nappal ezelőtt ez a változás hivatalossá vált.

A projekt GitLab-tárházának egyik legutóbbi commitja már a következő figyelmeztetést tartalmazza:

“Ez a projekt karbantartás nélkül áll, és ismert biztonsági problémákkal rendelkezik.
Buta dolog megbízhatatlan adatok feldolgozására használni ezt a szoftvert.”

Ez aggasztó hír, hiszen a libxml2 nem csupán egy könyvtár: a Linux-ökoszisztéma egyik központi eleme, amely mélyen beágyazódott az infrastruktúrába, az asztali környezetekbe, programozási nyelvekbe és biztonságkritikus munkafolyamatokba.

Miért jelent ez komoly problémát?

  1. Szabványos XML- és HTML-feldolgozó
    A libxml2 a nyílt forráskódú világ de facto szabványa XML és HTML feldolgozására. Ezer csomag hivatkozik rá, az alacsony szintű rendszerkomponensektől a magas szintű alkalmazásokig. Szinte minden asztali környezet és számos konfigurációs és dokumentumfeldolgozó eszköz erősen támaszkodik rá.

  2. Biztonsági érzékenység
    Az XML-feldolgozás történelmileg az egyik legbiztonságérzékenyebb terület a rendszerszoftvereknél. A könyvtár sebezhetőségei távoli kódfuttatást, entitásbővítési támadásokat, adatvesztést vagy szolgáltatásmegtagadást (DoS) okozhatnak.

  3. Széles körű integráció
    Gyakorlatilag minden Linux-disztribúció tartalmazza a libxml2-t alapkönyvtárként. Ha egyetlen biztonsági hibát sem javítanak, a disztribúciók kénytelenek lesznek egyedi javításokat alkalmazni, downstream forkokat fenntartani, vagy a feldolgozót teljesen lecserélni. Azonban a libxml2 mélyen beágyazódott a rendszerkönyvtárakba és alkalmazásokba, így lecserélése a közeljövőben gyakorlatilag lehetetlen.

Mit jelent ez a jövőre nézve?

A libxml2 karbantartás nélküli státusza nem egyszerű upstream változás, hanem a Linux- és nyílt forráskódú infrastruktúra egyik kritikus biztonsági kockázati pontja. Új karbantartó vagy koordinált közösségi fork hiányában a kockázat csak növekedni fog. Minden reményünk az, hogy mielőtt az újonnan felfedezett hibákat kihasználnák, a projekthez új karbantartó csatlakozik, aki folytatja Wellnhofer évtizedekig végzett kiváló munkáját, amelyért a közösség mély hálával tartozik.

Miért ennyire fontos a libxml2?

A libxml2 a GNOME projekt hivatalos XML C könyvtára (XML C library), amely olyan API-kat (Application Programming Interface) biztosít, amelyek lehetővé teszik XML és HTML dokumentumok feldolgozását, validálását és manipulációját. Bár a végfelhasználók közvetlenül ritkán találkoznak vele, a könyvtár a nyílt forráskódú világ egyik alapköve, amelynek hiánya komoly következményekkel járhat.

A libxml2 nem csupán egy önálló komponens, hanem egy kritikus függőség (dependency) számos más alkalmazás számára. Szerepe hasonlítható egyfajta „ragasztóhoz”, amely összetartja a Linux ökoszisztéma szoftverkészletének jelentős részét. Gyakorlatilag minden modern Linux disztribúció alapból tartalmazza, mivel számos asztali környezet (GNOME, KDE), webböngészők, irodai programcsomagok, levelezőkliensek, adatbázisok és rendszereszközök építenek rá.

A jövő bizonytalansága

Érdekesség, hogy Wellnhofer távozása egybeesett a libxml2 v2.15-ös kiadásának megjelenésével. Ez a verzió egy ideig még karbantartás alatt marad, de a 2025. év vége után sem új fejlesztés, sem biztonsági frissítés nem garantált. Egyelőre új karbantartó kinevezéséről nincs hír, így a projekt sorsa nyitott.

Történelmi és technikai kontextus

Az XML (Extensible Markup Language) a 1990-es évek végén vált szabvánnyá, és azóta a strukturált adatok egyik legfontosabb formátuma lett. Bár az utóbbi években a JSON (JavaScript Object Notation) egyre népszerűbb az egyszerűbb alkalmazásoknál, az XML továbbra is nélkülözhetetlen olyan területeken, mint a dokumentumkezelés, adatcserék, konfigurációs fájlok vagy éppen a webszolgáltatások. A libxml2 tehát nem csupán történelmi jelentőségű könyvtár, hanem ma is aktív alapvetés a szoftverfejlesztésben.

Licencvita és fenntarthatósági válság a libxml2 körül

A libxml2 könyvtár tehát az egyik legfontosabb építőköve a modern informatikai infrastruktúrának. Minden Linux disztribúció, számos Apple-eszköz, web­böngészők, banki rendszerek és nagyvállalatok milliói használják, miközben a fejlesztése szinte teljes egészében egyetlen önkéntes, Nick munkájára támaszkodik. A helyzet hosszú ideje fenntarthatatlan: a világ legnagyobb cégei óriási hasznot húznak a projektből, miközben alig vagy egyáltalán nem járulnak hozzá a fenntartásához.

Nick a közelmúltban felvetette, hogy a további fejlesztéseket a szabad szoftveres közösségben szokatlanul szigorú licencek – GPLv3 vagy AGPLv3 – alá helyezné, miközben kereskedelmi licencet kínálna azoknak a cégeknek, amelyek nem akarnak GPL-es kódot használni. Alternatív ötletként a kettős licencelés is felmerült: egy közösségi kiadás enyhébb feltételekkel, valamint egy „enterprise” kiadás kereskedelmi vagy GPL-licenccel.

A közösség reakciója azonban rendkívül kritikus volt. A GPLv3-as verziót a legtöbb Linux disztribúció és vállalati rendszer nem tudná befogadni, hiszen a libxml2 mélyen beágyazódik a rendszerkönyvtárakba, és sok más nem-GPL licencű projekthez kapcsolódik. A szakértők szerint egy ilyen döntés szinte biztosan forkhoz vezetne, amely kiszorítaná az eredeti repót a gyakorlatból. Példaként a Redis esetét hozták fel, amely a licencváltoztatás miatt elveszítette korábbi központi szerepét, és helyét a Valkey vette át.

A vita másik nagy területe a biztonságkezelés volt. Nick az utóbbi időben az összes sebezhetőséget azonnal nyilvánosságra hozta, mivel nem tudta vállalni az iparági gyakorlatnak számító 90 napos titkos tartási időt. Ez heves ellenállást váltott ki, különösen a böngészők fejlesztői körében, akik szerint ezzel a felhasználók biztonságát veszélyezteti. Nick azonban hangsúlyozta: ez a lépés a végső kényszer eredménye, és csak akkor állna vissza a 90 napos szabály, ha a vállalatok ténylegesen segítséget nyújtanának a hibák javításában. Bár a Google és az Apple mérnökei jelezték közreműködési szándékukat, eddig főként a libxslt projektre koncentráltak.

A helyzet végül drámai fordulatot vett: Nick bejelentette, hogy lemond a libxml2 karbantartásáról, és AGPL licencű forkot indít, amelyhez idővel kereskedelmi licenc is társulhat. Ez egyben lehetőséget ad arra is, hogy a projektet az Egyesült Államokon kívül, stabilabb jogi környezetben folytassa. Az eredeti repó sorsa egyelőre bizonytalan: vagy új karbantartó vállalja fel a munkát, vagy a projekt elárvul, amíg a közösség vagy a vállalatok nem lépnek.

Az ügy rávilágít a nyílt forráskód egyik legsúlyosabb dilemmájára: hogyan lehet fenntartani egy olyan kritikus fontosságú infrastruktúrát, amelyre a teljes iparág támaszkodik, ha közben a tényleges karbantartás szinte teljes egészében önkéntes, fizetés nélküli munkára épül.

Merre tovább?

A közösség szinte biztosan nem engedi, hogy egy ilyen fontos projekt gazdátlan maradjon. A nyílt forráskódú világban számos példa volt már arra, hogy egy-egy kulcsfontosságú projekt átkerült új karbantartók kezébe, sőt, gyakran közösségi alapú fejlesztés indult. Mindenesetre a következő hónapok kulcsfontosságúak lesznek a libxml2 jövője szempontjából.

Köszönet és elismerés

A nyílt forráskódú közösség hálával tartozik Nick Wellnhofer több mint tíz évnyi munkájáért, amelynek során biztosította, hogy a libxml2 stabil, megbízható és folyamatosan fejlődő alapja legyen a modern szoftverfejlesztésnek. Az ő hozzájárulása nélkül a Linux és számos más rendszer sokkal szegényebb lenne.