• KernelScript 0.1: nytt språk vill göra eBPF enklare för Linuxutvecklare

    KernelScript 0.1 är ett nytt experimentellt programmeringsspråk som vill göra avancerad Linuxutveckling enklare. Genom att samla eBPF-program, användarprogram och kernelintegration i en och samma kodbas kan utvecklare slippa mycket av den manuella C-kod och libbpf-hantering som annars krävs. Resultatet är ett lovande, men ännu omoget, verktyg för den som vill arbeta närmare Linuxkärnan utan att fastna i all teknisk kringkod.

    Att skriva program som kör nära Linuxkärnan är kraftfullt – men också svårt. Med eBPF kan utvecklare skapa små program som körs i kernelmiljö utan att själva Linuxkärnan behöver byggas om. Tekniken används redan i dag för allt från nätverksfiltrering och prestandamätning till säkerhet, felsökning och övervakning av system.

    Nu har den första publika versionen av KernelScript 0.1 släppts. Det är ett nytt öppet programmeringsspråk som vill göra utveckling med eBPF mer lättillgänglig, säkrare och mindre beroende av stora mängder handskriven stödkod.

    Ett språk för flera världar

    Traditionellt kräver eBPF-utveckling ofta att man skriver flera olika delar separat. Själva eBPF-programmet skrivs ofta i C. Sedan behövs kod i användarrymden för att ladda programmet, hantera kartor, läsa data och kommunicera med kärnan. I vissa fall krävs även integration med kernelmoduler och särskilda byggfiler.

    KernelScript försöker samla detta i en enda källkod. Utvecklaren skriver programmet i KernelScripts eget språk, och verktyget genererar därefter den C-kod, de användarprogram, Makefiles och integrationsdelar som behövs.

    Tanken är alltså inte att ersätta Linuxkärnan eller eBPF, utan att lägga ett högre och mer lättanvänt lager ovanpå.

    Varför eBPF är kraftfullt – men svårt

    eBPF har blivit en av de mest intressanta teknikerna i moderna Linuxsystem. Den gör det möjligt att köra små verifierade program i kärnan, till exempel för att analysera nätverkspaket, mäta systemanrop eller samla in prestandadata.

    Men tekniken har en hög tröskel. Den som skriver eBPF-program måste förstå hur Linux verifierar programmen innan de får köras, vilka hjälpfunktioner som är tillåtna, hur minne får användas och hur eBPF-kartor fungerar. Dessutom krävs ofta kunskap om libbpf och hur användarrymd och kernelkod samverkar.

    KernelScript försöker minska den komplexiteten genom att erbjuda ett mer specialiserat språk, anpassat just för eBPF-flöden.

    Stöd för vanliga eBPF-program

    I den första versionen finns stöd för flera viktiga typer av eBPF-program. Det omfattar bland annat XDP, som används för snabb paketbehandling mycket tidigt i nätverksstacken, och TC, som används för trafikstyrning.

    Språket har också stöd för olika typer av probes, alltså program som kan kopplas till funktioner i kärnan för spårning och felsökning. Dessutom finns stöd för perf event-program, som används vid prestandamätning.

    Det gör KernelScript intressant för utvecklare som arbetar med nätverk, observability, felsökning, säkerhet eller låg nivå-prestanda i Linuxmiljöer.

    eBPF-kartor som vanliga variabler

    En central del av eBPF är så kallade maps, eller kartor. De fungerar som datastrukturer där eBPF-program kan spara och dela information. De kan exempelvis användas för räknare, statistik, tillståndstabeller eller kommunikation mellan kernelprogram och användarprogram.

    KernelScript gör dessa kartor till en del av språket. Det finns stöd för bland annat hash maps, per-CPU arrays, LRU maps och pinned maps. Genom att behandla dem som språkvariabler slipper utvecklaren en del av den vanliga libbpf-koden som annars krävs.

    Det kan göra enklare eBPF-projekt både kortare och lättare att förstå.

    Avancerade funktioner redan från början

    Trots att KernelScript 0.1 är en tidig version innehåller den stöd för flera avancerade eBPF-funktioner. Bland annat nämns automatisk hantering av tail calls, enklare dynptr-hantering, kontroll av programlivscykel, struct_ops och inbyggd integration med kfuncs.

    För den som redan arbetar med avancerad eBPF-utveckling kan detta vara särskilt intressant. Det visar att KernelScript inte bara är tänkt som ett pedagogiskt förenklingslager, utan som ett försök att bygga ett mer komplett utvecklingsverktyg för Linuxnära programmering.

    Inte redo för produktion

    Samtidigt är det viktigt att betona att KernelScript fortfarande är experimentellt. Projektet beskrivs som beta, och utvecklarna varnar för att syntax, API:er och funktioner kan ändras utan bakåtkompatibilitet.

    Det betyder att KernelScript i nuläget främst bör ses som något för testning, utvärdering och experiment. För produktionssystem är det fortfarande säkrare att använda etablerade verktyg och arbetsflöden kring eBPF, C och libbpf.

    Ett tecken på vart Linuxutveckling är på väg

    KernelScript 0.1 visar ändå en tydlig trend. eBPF har blivit så viktigt att det nu växer fram nya språk och verktyg som försöker göra tekniken mer tillgänglig. På samma sätt som högnivåspråk en gång gjorde vanlig systemutveckling enklare, försöker KernelScript göra kernel-nära programmering mer strukturerad och mindre felbenägen.

    Om projektet lyckas återstår att se. Men idén är intressant: ett enda språk som kan beskriva logiken för eBPF, användarrymd och kernelintegration på samma gång.

    För Linuxutvecklare som vill följa framtidens systemprogrammering är KernelScript därför ett projekt att hålla ögonen på – även om det än så länge hör hemma i labbmiljö snarare än i skarpa driftsystem.

    https://github.com/multikernel/kernelscript

    Teknisk faktaruta: KernelScript 0.1

    Typ: Experimentellt programmeringsspråk och DSL för Linuxutveckling.

    Fokus: eBPF, användarprogram och kernelintegration från en gemensam kodbas.

    Licens: Apache 2.0.

    Syfte: Att minska behovet av handskriven C-kod, libbpf-boilerplate, Makefiles och separat användarrymdskod vid eBPF-utveckling.

    Stöd: XDP, TC, probes, perf events, eBPF maps, tail calls, dynptr, struct_ops och kfunc-integration.

    Status: Beta/experimentell. Rekommenderas ännu inte för produktion.

  • Oracle vill vinna tillbaka förtroendet kring MySQL – ny strategi för öppenhet och innovation

    Efter år av kritik mot hur MySQL förvaltas lovar Oracle nu en nystart. Med ökad transparens, tydligare utvecklingsplaner och ett förnyat fokus på Community Edition vill företaget stärka förtroendet i open source-världen – samtidigt som konkurrensen från PostgreSQL hårdnar.

    När teknikjätten Oracle Corporation köpte databasen MySQL år 2010 väcktes starka reaktioner i open source-världen. Många utvecklare oroade sig för att den fria databasen skulle tappa sin öppna själ under kommersiell styrning. Resultatet blev bland annat skapandet av MariaDB – en alternativ version som i dag används som standard i flera stora Linuxdistributioner.

    Nu signalerar Oracle en ny riktning. I ett färskt blogginlägg presenterar företaget en strategi som ska stärka relationen till utvecklare, användargrupper och open source-ekosystemet. Målet: ökad transparens, tydligare färdplaner och större delaktighet från communityn.

    En ny era för MySQL Community Edition

    Kärnan i satsningen är ett förnyat fokus på MySQL Community Edition, den GPL-licensierade versionen som vem som helst kan använda och vidareutveckla.

    Oracle lovar:

    • Tydligare och mer öppna utvecklingsplaner
    • Fler möjligheter för communityn att bidra
    • Starkare dialog med användargrupper
    • Mer synliga forum för återkoppling

    Det handlar alltså inte bara om nya funktioner – utan om hur utvecklingen organiseras och kommuniceras.

    Modernare funktioner – även AI i sikte

    Databasvärlden har förändrats kraftigt de senaste åren. Nya typer av applikationer ställer högre krav på:

    • Observability – bättre insyn i hur databasen presterar i realtid
    • Skalbarhet för molnmiljöer
    • Stöd för AI-relaterade arbetslaster

    Oracle nämner särskilt utveckling av så kallade vektorfunktioner – en teknik som används för att hantera AI-relaterad data, exempelvis vid semantisk sökning eller maskininlärningsapplikationer. Det är ett område där konkurrenter redan har rört sig snabbt.

    Tydligare samarbete med Linuxvärlden

    En annan del av strategin är att stärka samarbetet med Linuxdistributioner och open source-projekt. Oracle pekar specifikt på närmare samarbete med Canonical och Ubuntu-communityn.

    Företaget betonar också sitt fortsatta stöd för plattformar som bygger på MySQL, bland annat:

    • WordPress
    • Drupal
    • Magento
    • Joomla!

    Dessa system driver miljontals webbplatser världen över, vilket gör MySQL till en av internets mest centrala tekniker.

    Skuggan från PostgreSQL

    Samtidigt sker detta i ett konkurrensläge där PostgreSQL har vuxit kraftigt i popularitet. Många nya projekt väljer PostgreSQL som standard, tack vare dess öppna utvecklingsmodell, extensibilitet och starka communityprofil.

    I delar av MySQL-ekosystemet har det därför funnits en oro för att nuvarande styrningsmodell gör det svårare att locka nya installationer och utvecklare.

    Öppet brev kräver oberoende stiftelse

    Kort efter Oracles tillkännagivande publicerade en grupp communitymedlemmar ett öppet brev där de föreslår att MySQL bör förvaltas av en oberoende, icke-vinstdrivande stiftelse – fristående från en enskild leverantör. Syftet skulle vara att säkerställa långsiktig öppenhet och bredare delaktighet.

    Det är ännu oklart om Oracles nya strategi kan leda till strukturella förändringar i hur projektet styrs, eller om det främst handlar om förbättrad kommunikation.

    Vad betyder detta i praktiken?

    MySQL Community Edition är fortfarande licensierad under GPL, vilket innebär att källkoden är fri att använda, studera och modifiera. Samtidigt erbjuder Oracle kommersiella versioner med extra funktioner för företag.

    Frågan som nu ställs är om Oracles initiativ kan:

    • Återvinna förtroendet hos delar av open source-communityn
    • Bromsa PostgreSQLs dominans i nya projekt
    • Skapa ett mer dynamiskt och öppet utvecklingsklimat

    Om satsningen blir mer än ord – och faktiskt leder till en mer transparent och inkluderande utvecklingsprocess – kan MySQL mycket väl stå inför en ny expansionsfas.

    Efter över 25 år i databasscenens centrum är det tydligt att kampen om framtidens relationsdatabaser långt ifrån är avgjord.

    https://blogs.oracle.com/mysql/new-era-of-mysql-community-engagement

Etikett: observability

  • KernelScript 0.1: nytt språk vill göra eBPF enklare för Linuxutvecklare

    KernelScript 0.1 är ett nytt experimentellt programmeringsspråk som vill göra avancerad Linuxutveckling enklare. Genom att samla eBPF-program, användarprogram och kernelintegration i en och samma kodbas kan utvecklare slippa mycket av den manuella C-kod och libbpf-hantering som annars krävs. Resultatet är ett lovande, men ännu omoget, verktyg för den som vill arbeta närmare Linuxkärnan utan att…

  • Oracle vill vinna tillbaka förtroendet kring MySQL – ny strategi för öppenhet och innovation

    Efter år av kritik mot hur MySQL förvaltas lovar Oracle nu en nystart. Med ökad transparens, tydligare utvecklingsplaner och ett förnyat fokus på Community Edition vill företaget stärka förtroendet i open source-världen – samtidigt som konkurrensen från PostgreSQL hårdnar. När teknikjätten Oracle Corporation köpte databasen MySQL år 2010 väcktes starka reaktioner i open source-världen. Många…