A WSL nyílt forráskódú lett

A Microsoft hivatalosan is bejelentette, hogy a Windows Subsystem for Linux, azaz WSL teljes értékűen nyílt forráskódúvá vált. Ez a döntés egy többéves fejlesztési munka betetőzése, amely nemcsak technikai mérföldkő, hanem szimbolikus gesztus is, hiszen a Microsoft/WSL GitHub-repo legelső megnyitott kérdésére – „Lesz-e valaha nyílt forráskódú a WSL?” – adott pozitív válaszként is értelmezhető. Mostantól a WSL teljes forráskódja elérhető a GitHubon, így a közösség letöltheti, lefordíthatja, módosíthatja és közvetlenül hozzájárulhat a projekt további fejlesztéséhez.

A WSL nyílt forráskódú lett

A szoftver felépítése

A WSL egy összetett architektúrára épül, amelynek különböző komponensei részben a Windows rendszeren, részben a WSL 2 alatt futó Linux virtuális gépben működnek. A parancssoros futtatható fájlok – például a wsl.exe, wslconfig.exe és wslg.exe – a felhasználói interakciók belépési pontjai. A wslservice.exe nevű szolgáltatás gondoskodik a virtuális gép és a disztribúciók elindításáról, a fájlmegosztásról és egyéb rendszerszintű feladatokról. A Linux oldalon futó komponensek, köztük az init, a gns és a localhost, a hálózatkezelést, porttovábbítást és az általános inicializációt szolgálják. A Linux és Windows közötti fájlmegosztást egy Plan9 alapú kiszolgáló valósítja meg.

A WSL architektúra (Kép forrása: Microsoft blog)

Korábbi nyílt komponensek és kivételek

Ez a mostani lépés kiegészíti a már korábban nyílt forráskódúvá tett WSL-hez kapcsolódó projekteket, mint a WSLg, amely a Wayland és X protokollok támogatását nyújtja, valamint a WSL2-Linux-Kernel, amely a WSL 2 által használt Linux kernel forrását tartalmazza. Ugyanakkor bizonyos komponensek, mint az lxcore.sys kernelmeghajtó a WSL 1-hez, illetve a fájlmegosztást biztosító P9rdr.sys és p9np.dll, továbbra is zártak maradnak, és a Windows képfájl részeként kerülnek terjesztésre.

Fejlődéstörténet és a nyílttá válás háttere

A WSL 2016-ban mutatkozott be a BUILD konferencián, és a Windows 10 Évfordulós frissítésében debütált. Ekkor még a lxcore.sys meghajtón alapult, amely lehetővé tette ELF fájlok futtatását Windows környezetben és Linux rendszerhívások emulálását a Windows kernelben. Ez vált később a WSL 1 néven ismert megoldássá. A tökéletesebb Linux-kompatibilitás érdekében a Microsoft később áttért a Linux kernel használatára, amely 2019-ben vezetett a WSL 2 bevezetéséhez.

Ahogy a WSL közössége bővült, úgy jelentek meg olyan új funkciók, mint a GPU-gyorsítás, grafikus alkalmazások támogatása a WSLg révén, valamint a systemd kompatibilitás. A növekvő elvárások miatt 2021-ben a Microsoft különválasztotta a WSL fejlesztését a Windows kódalapjától, és önálló csomagként a Microsoft Store-ban tette elérhetővé. Az első ilyen verzió a 0.47.1 volt, kezdetben csak Windows 11 alatt használható, előzetes minősítéssel. A stabil, általánosan elérhető 1.0.0-s verzió 2022 novemberében jelent meg, már Windows 10 támogatással is.

Ezután a cél az lett, hogy minden felhasználó áttérjen az új, különálló WSL csomagra. A Windows 11 24H2 volt az első kiadás, amely ezt automatikusan megtette. A wsl.exe parancs viszont megmaradt a rendszerben, hogy automatikusan letölthesse a legfrissebb csomagot, megkönnyítve az átállást. A fejlesztés egészen a 2.0.0 verzióig jutott, amely új funkciókkal bővítette a szoftvert, például tükrözött hálózatkezeléssel, DNS-alagutazással, proxy- és tűzfalkezeléssel. A jelenlegi kiadás a 2.5.7-es verzió, amelyet kilenc oldalon keresztül követhetünk vissza a GitHub kiadásai között, egészen a négy évvel ezelőtti kezdeti verzióig.

A közösség szerepe

A WSL fejlődése mögött egy rendkívül aktív és elkötelezett közösség áll. Már a kezdetektől fogva számos fejlesztő és felhasználó osztotta meg tudását, segített hibák feltárásában és új ötletek megvalósításában. Mindezt úgy, hogy eddig nem is volt nyilvános a forráskód. Ezért is jelent különösen sokat a mostani nyílttá tétel: a Microsoft ezzel hivatalosan is lehetővé teszi, hogy a közösség közvetlenül is részt vegyen a fejlesztésben, javításokat és új funkciókat nyújtson be a projektbe.

A Microsoft minden érdeklődőt arra bátorít, hogy látogasson el a WSL.dev oldalra, ahol a részletes dokumentáció érhető el.